为了提高回归效率及保证版本质量,很多公司都在做自动化测试,特别是接口自动化。接口自动化测试框架很多,有写代码的,也有不写代码的,我觉得没有谁比谁好,只要适用就好。
今天给大家分享一个不写代码的接口自动化测试框架:jmeter + ant + jenkins,原理:jenkins驱动ant执行,ant驱动jmeter执行,这个框架在一些公司应用得还不错哦。虽然不需要写代码,但是jmeter接口脚本必须熟练,请参考:https://www.cnblogs.com/tianyu2018/p/11704604.html
这里为了演示方便,就用windows环境,linux版:jmeter + ant + jenkins,请参考:https://www.cnblogs.com/uncleyong/p/10766480.html
Jmeter:可以做接口测试,也能做压力测试,而且是开源软件;
Ant:是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins:是持续集成工具
这样将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环境,实现接口自动化测试,
框架思路:
1、Ant通过XML文件进行构建,所有的构建信息配置在build.xml文件中,通过调用target树来执行各种任务;如执行测试脚本(jmx文件),输出测试结果(jtl文件);
2、Ant通过测试结果(jtl文件)构建生成html测试报告,输出在制定路径下;
3、根据build.xml文件中配置的邮件信息,将html测试报告自动发送到制定的邮箱;
一、环境准备
前提条件:windows安装了jmeter、ant、jenkins
jmeter安装:https://www.cnblogs.com/tianyu2018/p/11713456.html
ant安装:https://www.cnblogs.com/tianyu2018/p/11714160.html
jenkins安装:https://www.cnblogs.com/tianyu2018/p/11714388.html
二、ant调用jmeter脚本(通过ant命令)
准备一个jmeter接口脚本
get请求,访问:https://www.cnblogs.com/tianyu2018
将Jmeter所在目录下extras子目录(E:\apache-jmeter-5.0\extras)里的ant-JMeter-1.1.1.jar复制到ant的lib目录下(E:\apache-ant-1.9.14\lib),这样ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本。
修改jmeter目录(E:\apache-jmeter-5.0\bin)下的jmeter.properties,去掉jmeter.save.saveservice.output_format前的注释并将值设置为xml
创建目录
jmetertest
--jmeter_script
--result
--html
--jtl
build.xml
build.xml是ant的核心文件,build.xml文件的配置,见里面说明
配置ant的编译文件build.xml
新建的txt文件,并将此文件改名为build.xml,修改文档里的内容
注意:jmeter的extras文件下也有个build.xml文档,不要用这个文档来改,是两回事,这里的build文档是自己新建的,只需要修改build.xml文件中的一些内容,jmeter的安装路径,还有jmetertest相关文件安装路径,如下图
jmeter_script放刚才准备的jmeter脚本
html存放html结果,jtl存放jtl结果
在build.xm目录,cmd命令行中执行ant命令
进入E:\jmetertest下输入ant,回车键
提示这个就是成功了
生成的jtl报告
打开jtl文件,点击【浏览...】
选择生成的jtl文件,在响应数据中可以看到请求的返回结果
生成的html报告
打开后看到报告中很多没有值
优化测试报告:下载优化模板 jmeter-results-shanhe-me.xsl,
将jmeter.results.shanhe.me.xsl放到jmeter的extras目录下
下载地址:jmeter.results.shanhe.me.xsl
修改jmeter目录(D:\apache-jmeter-5.1.1\bin)下的jmeter.properties
重新执行ant
打开报告,相比之前多了很多内容