Jmeter+ant实现自动生成基于HTML报告及自动发送邮件
下面使用到的脚本及build.xml 等文件,我放在百度网盘中,可自行获取
链接:https://pan.baidu.com/s/1JMhTRZTtrEPXkQbfsA1HWQ
提取码:5jfy
一、测试报告环境
1. 搭建ant环境(path的环境变量)
1-1、系统环境变量中新增变量为:ANT_HOME,值为:ant安装包路径
1-2、系统环境path中追加:;%ANT_HOME%\bin
1-3、cmd的命令提示符输入ant or ant -v
2、jmerer的目录C:\apache-jmeter-5.3\extras下找到ant-jmeter-1.1.1.jar,把它copy到ant的apache-ant-1.10.1\lib下。
3、打开jmeter的bin目录下的jmeter.properties文件,做如下修改:
把477行jmeter.save.saveservice.output_format=csv 复制修改为jmeter.save.saveservice.output_format=xml
二、文件配置
1.在jmeter根目录下新建TestSuite目录,将build.xml文件拷贝至此。
2.在TestSuite下新建script和report两个子目录。
3.在jmeter中编写接口测试脚本,保存至script目录下。
4.在report子目录下新建html和jtl两个二级子目录,分别用来保存html报告和性能报告。
5.将jmeter->extrs目录下collapse.png和expand.png拷贝至jmeter->TestSuite->report->html下,生成测试报告用
三、执行测试
1.打开CMD窗口。
2.cd切换至报告配置脚本所在目录(即TestSuite下面)
3.输入ant,回车执行。
四、报告示例
五、自动发送邮件 --- 邮件配置
1.下载activation.jar,commons-email-1.2.jar,mail.jar三个jar包。
2.将三个jar包放至ant->lib目录下。
六、文件配置
1.打开build.xml文件,修改如下行:
七、运行结果
八、JMeter接口测试实战
我们以图书馆系统为例,业务逻辑为:登录-->添加书籍-->修改书籍-->查看书籍-->删除书籍
8-1、登录接口返回:access_token,信息头传access_token鉴权,才能进行业务流程操作:添加书籍-->修改书籍-->查看书籍-->删除书籍
8-2、提取token -----> 右键线程组-->新增后置处理器-->选择:jp@gc - JSON/YAML Path Extractor
8-3、token配置全局变量(跨线程传递参数):右键线程组-->新增后置处理器-->选择BeanShell 后置处理程序
输入:${__setProperty(token,${token},)}
8-4、使用函数${__P(变量,)}设置全量跨线程使用:右键线程组-->新增后置处理器-->HTTP信息头管理器,添加Authorization:对应的value为:JWT ${__P(token,)}
8-5、断言有多种方式,可使用jp@gc - JSON/YAML Path Extractor或响应断言等,每个接口下面都需新增断言,确保接口正确性
8-6、执行脚本,若响应接口的数据是显示Unicode编码的话,可以新增后置处理器,把代码Copy到后置处理器下,设置当前线程下有效或者整个线程下有效