组合标签数据自动化测试
一、 测试背景
我们遇到的组合标签测试标签组合众多,总计有140个标签,而且每个标签可以列出不同的条件,比如年龄标签,大于18岁和小于18岁等等,这样组合起来就特别多,测试效率非常差,为了减轻当前的测试工作量,编写一个组合标签的自动化测试脚本迫在眉睫。
二、 测试准备
- 首先在这里我们选用Jmeter测试工具,结合JAVA开发语言一起完成。所以需要安装JDK和Jmeter工具
- 测试思路是拿到我们智能标签管理平台组合标签的接口:PageSize=10根据当前标签数进行更改,比如可以改为pagesize=222
4. 另外,我们通过整理一份CSV文档,该文档中定义了标签ID和标签名称和SQL语句。其中文档中定义的SQL语句是通过Jmeter工具在JDBC实际执行的,然后执行结果的总数跟我们从接口中得到的覆盖量进行对比验证,同时,我们定义的标签ID要跟接口中定义的标签ID数字一致匹配。
三、 脚本编写
- 我们在chrome浏览器中获取到我们的组合标签接口请求URL后,在Jmeter线程组下中新建一个HTTP请求,同时添加HTTP信息头,在信息头中添加从登录获取到的token,为了方便起见,我这里都做了另外的处理,不要每次都要重新更改token了。因为从登录线程组中拿到一个全局的token变量。如下图:
3.新建一个JDBC请求,把接口中的${sucesstagsql}变量作为参数传进来,同时填上MySQ连接变量mysql-member和counts结果变量。
4. 在JDBC请求下新建一个BeanShell断言,进行数据的对比测试,返回测试结果并输出在一个CSV文件中。其中有个方法是fstreamtagcsv,需要导入本人写好的的Jar包,本次测试主要是针对错误的结果输出到到本地CSV文件中,同时会计算它们的差值。
4. 在JDBC请求下新建一个BeanShell断言,进行数据的对比测试,返回测试结果并输出在一个CSV文件中。其中有个方法是fstreamtagcsv,需要导入本人写好的的Jar包,本次测试主要是针对错误的结果输出到到本地CSV文件中,同时会计算它们的差值。
5.下面的csv文件是我们自动生成的测试结果,如果数据不相等,自动计算相差多少。
正文到此结束