测试之路------Markov平台环境搭建踩坑记

2021-03-15 14:21:33 浏览数 (1)

Markov(阿里妈妈功能测试平台)是在测试转型大背景下自研的新一代功能测试平台。介绍可以查看官方开源地址。

当看到阿里又开源了,优秀的测试框架呢,我们查找到了源码,然后git clone 下。

代码语言:javascript复制
git clone https://github.com/alibaba/intelligent-test-platform.git

下载后,我们利用IDEA打开,然后我们去修改下pom文件,里面有一个坑。

代码语言:javascript复制
<dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.4</version>
      <classifier>jdk15</classifier>  #增加的是这个
    </dependency>

如果不加。

com.alibaba.markovdemo.engine.util 的JsonPathParser会报错。加完就可以正常。

然后我们去在本地的数据库去创建下,我们的数据库,因为我使用的mysql的5.7版本,所有有报错,sql 语句的报错

去掉这两个内容应该可以创建我们的数据库了。创建完毕后,我们需要去修改 application.properties的配置

代码语言:javascript复制

spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/markov_demo?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password =



mybatis.mapper-locations= classpath:mapping/*Mapper.xml
mybatis.type-aliases-package=com.alibaba.markovdemo.entity

主要去修改下数据库的url root 和password ,我这里没有按照官方的说法去改端口号,我用的默认的8080端口,然后点击运行。输入

http://localhost:8080/

反问的界面。

我去配置了配置管理。我直接复制的pipeline_demo,这里有改动,如下

代码语言:javascript复制
{
  "new-deploy-stage": {
    "name": "DEMO测试机部署信息",
    "hostList": [
      {
        "hostname": "beijing",
        "ip": "127.0.0.1"
      }
    ]
  },
  "run-stage": [
    {
      "stageName": "prepareData-stage",
      "exec": {
        "pluginList": [
          {
            "plugin_type": "java",
            "plugin_name": "数据准备通用插件",
            "display_name": "数据准备通用插件",
            "class": "com.alibaba.markovdemo.engine.plugins.inputdata.DataPreparePlugin"
          }
        ]
      }
    },
    {
      "stageName": "caseRun-stage",
      "before_exec": {},
      "params": {
        "retryNum": 0
      },
      "after_exec": {},
      "exec": [
        {
          "group_name": "ERPC校验(第一组)",
          "exec": [
            {
              "stageName": "check-stage",
              "exec": {
                "pluginList": [
                  {
                    "plugin_type": "java",
                    "plugin_name": "erpc发送和校验插件",
                    "display_name": "erpc发送和校验插件",
                    "class": "com.alibaba.markovdemo.engine.plugins.pluginSet.SendAndCheckDemoPlugin"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ],
  "layoutConf": {
    "dataPrepareStageNew": {
      "dataPrepareLayoutList": [
        {
          "type": "Tair",
          "dsNameList": [
            "table.markovtair.test"
          ],
          "templates": {}
        },
        {
          "type": "Imock",
          "dsNameList": [
            "erpc_merger_inner"
          ],
          "templates": {}
        },
        {
          "type": "Tdbm",
          "dsNameList": [
            "table.markovtdbm.test"
          ],
          "templates": {}
        }
      ],
      "mapId": {
        "232": 795,
        "4112": 794,
        "table.markovtair.test": 796,
        "erpc_merger_inner": 798,
        "table.markovtdbm.test": 797
      }
    },
    "componentStage": [],
    "logStage": [
      {
        "pluginName": null,
        "displayName": "执行日志",
        "pluginType": "caseRunStage"
      },
      {
        "pluginName": null,
        "displayName": "数据准备阶段",
        "pluginType": "prepareData"
      },
      {
        "pluginName": null,
        "displayName": "运行阶段",
        "pluginType": "checkStage"
      }
    ]
  }
}

因为我去掉了docker。

然后点击功能测试,去新建我们的用例。

可以输入内容进行尝试

日志可以正常打印日志

点击智能推荐用例,可以一键推荐用例,选择特征,更新特征池,然后选特征,推荐测试用例。

然后会告诉你基于什么算法推荐的,然后你可以根据推荐的算法的用例,查看,然后批量选择进行使用,就可以进行保存

这是我筛选后选择的用例

点击智能用例生成。选择测试用例

确认后,后台自动生成。

最后大概执行的结果如上。

我们可以进行回归构建,

可以更新我们的测试环境,

我们还可以查看执行历史

当然了,我们可以可以查看日志,

报告。

选择用例后,我们还可以进行用例的膨胀的操作。

可以选择用例膨胀的组合,然后进行后台膨胀,

我们可以根据膨胀产生的用例,选择使用保存

保存后的用例,我们可以进行执行

执行后的测试报告。

上面的只是大概讲述了,我去简单的搭建过程中遇到的问题,以及搭建的过程中一个尝试的过程。后续的很多的功能,还有待探究,主要搭建过程,简单的试用。具体后续使用,我们还要继续探究。

关于智能化的内容我们可以查看。里面讲述的内部的算法的实践。

https://github.com/alibaba/intelligent-test-platform/blob/master/Intelligent.md

0 人点赞