原创

组合标签数据自动化测试

一、 测试背景

我们遇到的组合标签测试标签组合众多,总计有140个标签,而且每个标签可以列出不同的条件,比如年龄标签,大于18岁和小于18岁等等,这样组合起来就特别多,测试效率非常差,为了减轻当前的测试工作量,编写一个组合标签的自动化测试脚本迫在眉睫。

二、 测试准备

  1. 首先在这里我们选用Jmeter测试工具,结合JAVA开发语言一起完成。所以需要安装JDKJmeter工具
  2. 测试思路是拿到我们智能标签管理平台组合标签的接口:PageSize=10根据当前标签数进行更改,比如可以改为pagesize=222

3.获取到接口的值的话,需要一个token,所以我们先要登录,通过登录接口返回的token来放到接口的请求头中获取标签的数据
4. 另外,我们通过整理一份CSV文档,该文档中定义了标签ID和标签名称和SQL语句其中文档中定义的SQL语句是通过Jmeter工具JDBC实际执行的,然后执行结果的总数跟我们从接口中得到的覆盖量进行对比验证,同时,我们定义的标签ID要跟接口中定义的标签ID数字一致匹配。

三、 脚本编写

  1. 我们在chrome浏览器中获取到我们的组合标签接口请求URL后,在Jmeter线程组下中新建一个HTTP请求,同时添加HTTP信息头,在信息头中添加从登录获取到的token,为了方便起见,我这里都做了另外的处理,不要每次都要重新更改token了。因为从登录线程组中拿到一个全局的token变量。如下图:
2. 请求接口后,我们可以新建一个BeanShell后置处理程序拿到接口的标签ID、该标签的覆盖量、标签名称,在这里需要导入一个jsonjar进行json格式返回结果的数据解析。通过拿到的标签IDCSV文件的标签ID进行对比,如果对比ID一致,那么就取出对应的sql语句放到一个变量中等待JDBC请求执行,同时把接口的覆盖量取出放到一个变量中。
3.新建一个JDBC请求,把接口中的${sucesstagsql}变量作为参数传进来,同时填上MySQ连接变量mysql-membercounts结果变量。
4. JDBC请求下新建一个BeanShell断言,进行数据的对比测试,返回测试结果并输出在一个CSV文件中。其中有个方法是fstreamtagcsv,需要导入本人写好的Jar包,本次测试主要是针对错误的结果输出到到本地CSV文件中,同时会计算它们的差值。


5.下面的csv文件是我们自动生成的测试结果,如果数据不相等,自动计算相差多少。
正文到此结束
本文目录