Jmeter 实现接口自动化设计说明

一、变量定义规则

1、全局变量:各个项目组负责人负责统一规划本项目的全局变量。用“配置元件”中的【用户定义变量】来设置,并置顶在所有线程组的最前方。

2、HTTP消息头:各个项目组负责人负责统一规划公共的HTTP消息头。用“配置元件”中的【HTTP信息头管理器】来设置,并放置在【用户定义变量】下方。

3、局部变量:如果每个接口中涉及到日期等局部变量,则由接口设计人员自行定义。用“前置处理器”中的【用户参数】来设置,放在该接口请求消息之前。

4、变量的定义规则建议为:全局变量所有字母大写且名称同接口参数定义,同时在描述中说明清楚该变量含义;局部变量所有单词首字母大写且名称同接口参数定义。

5、变量引用的规则为:直接${变量名}引用。 eg:${UID},${ACCOUNT

二、用例分组及名称定义

1、以APP端模拟的实际操作为一个线程组。此操作可以由多个接口组成。针对每个接口进行用例设计。

2、每个接口用“逻辑控制器”中的【简单控制器】来汇总每个接口的测试用例设计。且建议每个【简单控制器】的命名即为需要测试的英文接口名称。

3、每个接口下面的测试用例,建议在接口名称的基础上,加上需要检查的重点字段来命名。eg:接口名_参数=值。如果为app类的接口,建议覆盖主要的重点参数检查。

4、注意如果是右击保存用例的时候需要从根节点处点击保存,即从【测试计划】处保存。如果选中单个【线程组】点击保存时,此时保存的是该线程组的用例。如果出现此情况时,可以使用右击合并的功能,将单个线程组合并到整个测试计划中去。

5、用例目录结构截图参考如下:

Jmeter  实现接口自动化设计说明

三、用例检查点设置

1、主要用jmeter的“断言”中的【响应断言】来判断用例的执行结果。一般参与响应文本中的包含模式,通过判断响应消息中是否包含预期的部分重点字段来判断这条用例的执行结果是否正确错误。响应断言中可以截取多个响应消息字段。

2、因为目前暂未想到完整的校验所有的响应消息,故jmeter的实现接口自动化,与华为的autospace的自动化工具有一定的差距。但从后台接口的基本功能验证的角度来看是可以满足当前使用的。

3、【响应断言】设置截图参考如下:

Jmeter  实现接口自动化设计说明

四、批量用例执行结果检查设置

1、在jmeter图形界面中,所有用例的执行可以通过“监听器”中的【察看结果树】来汇总每个接口的测试用例的执行结果。同时可以设置将执行的结果保存到指定的目录上。

2、因为结合ANT批量执行jmx脚本生成报告的需要,Jmeter的每个接口的测试用例不能通过【事务控制器】来汇总形成有目录层次的执行结果。故使用了【简单控制器】汇总了每个用例的目录结构,在jmeter图形界面的查看执行结果中,如果有很多条接口测试用例的话,则建议只显示错误的执行结果。这样方便查看。

3、多人编写接口测试用例时,建议每个人将用例执行结果写入到自己定义的csv文件中。这样后续ant调用不同脚本时,可以生成不同的执行结果,能够区分不同的人设计的用例批量执行结果的情况。方便用例定位和绩效评价。

4、设置写入csv文件时,建议把所有的结果配置项目都勾上,方便后期的用例执行失败后的定位分析。注意:【Save As XML】不要勾选,如果勾选上了,保持的日志结果就不是excel的形式了,是XML形式了。而【Save Field Names(CSV)】这个需要勾选上。这样会显示每个输出结果项的名称,方便查看excel表格。

5、如果生成的csv文件中有中文的时候,需要先用txt文件打开,然后保存为UTF-8格式的文档后,再用excel打开,这样中文字符就不会出现乱码。

6、【察看结果树】设置截图参考如下:

Jmeter  实现接口自动化设计说明


五、ANT脚本批量执行jmx脚本并生成html形式报告

1、下载apache-ant-1.9.4版本

2、将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到"
org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类

3、配置jmeter的bin目录下的jmeter.properties文件。去掉以下2个文件的注释:

jmeter.save.saveservice.output_format=xml

jmeter.save.saveservice.assertion_results=all

4、将附件中jmeter_report.xml文件放到ant的bin目录下,执行如下命令:

ant -buildfile jmeter_report.xml

5、批量生成html的测试报告如下:

Jmeter  实现接口自动化设计说明

6、附jmeter_report.xml文件:

Jmeter  实现接口自动化设计说明


分享到:


相關文章: