为了提高回归效率及保证版本质量,很多公司都在做自动化测试,特别是接口自动化。接口自动化测试框架很多,有写代码的,也有不写代码的,我觉得没有谁比谁好,谁比谁高级之说,只要适用就好。
今天给大家分享一个不写代码的接口自动化测试框架:jmeter + ant + jenkins,原理:jenkins驱动ant执行,ant驱动jmeter执行,这个框架在一些公司应用得还不错哦。虽然不需要写代码,但是jmeter接口脚本必须熟练,可以在公众号上参考:测试必备:jmeter测试http协议接口的各种传参方式
这里为了演示方便,就用windows环境,linux版:jmeter + ant + jenkins
环境准备
前提条件:windows安装了jmeter、ant、jenkins
jmeter安装
ant安装
jenkins安装
ant调用jmeter脚本(通过ant命令)
准备一个jmeter接口脚本
get请求

将Jmeter所在目录下extras子目录(D:\apache-jmeter-5.1.1\extras)里的ant-JMeter-1.1.1.jar复制到ant的lib目录下(D:\apache-ant-1.9.14\lib),这样ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本
将jmeter.results.shanhe.me.xsl放到jmeter的extras目录下
修改jmeter目录(D:\apache-jmeter-5.1.1\bin)下的jmeter.properties,去掉jmeter.save.saveservice.output_format前的注释并将值设置为xml

创建目录
uncleyong
--jmeter_script
--result
--html
--jtl
build.xml
build.xml是ant的核心文件,build.xml文件的配置,见里面说明

jmeter_script放刚才准备的jmeter脚本

html存放html结果,jtl存放jtl结果

在build.xm目录,cmd命令行中执行ant命令

执行成功

生成的jtl报告

打开jtl文件,点击【浏览...】

选择生成的jtl文件,在响应数据中可以看到请求的返回结果

生成的html报告

很多没有值

修改jmeter目录(D:\apache-jmeter-5.1.1\bin)下的jmeter.properties

重新执行ant

相比之前增加很多内容

build.xml中,报告模板文件改为下面这个

执行ant,生成报告

报告内容还是比较简单

build.xml文件替换为另外一个,且新的build.xml中,报告模板文件改为这个:jmeter-results-detail-report_21__py.xsl,build.xml文件替换为另外一个,且新的build.xml中,报告模板文件改为这个:jmeter-results-detail-report_21__py.xsl,这两个文件都来源于Q群652122175群友分享
执行ant,打开生成的报告,内容更丰富了


ant调用jmeter脚本(通过jenkins)
点击【系统管理】

插件管理中安装ant插件

点击【全局工具配置】

添加ant,Name随便填写,ANT_HOMEt填写自己的ant安装目录

添加jdk

新建job

输入名称,选择类型


填写build.xm的绝对路径

立即构建


查看日志


E:\uncleyong\result目录下也生成了html和jtl报告。
jenkins配置发送邮件
安装插件


构建后操作中

点击【Add】

输入下面内容,其中第一个是html报告的目录
然后依次点击:Apply--Save

立即构建


可以看到生成的报告

点击最近时间的,没有样式

输入如下内容,点击右下角run


立即构建

打开报告

下面以126邮箱作为发件箱举例(也可以用qq邮箱等其它邮箱)
登录126邮箱

勾选,弹出提醒框,点击确定

勾选【开启】

输入授权码,点击【确定】

点击【确定】

系统管理--系统设置
输入126邮箱地址、邮箱服务器


邮箱账号、授权码

邮件模板

点击【Apply】、【Save】

构建后操作

下面有些变量是读取的我们的配置,比如邮件内容等


收件人默认值设置:系统管理--系统设置

如果上面没有设置,可以在下面设置收件人(多个邮箱地址逗号间隔),添加一个qq邮箱


删除默认的触发配置

创建触发配置


立即构建
查看构建日志

qq收到邮件

邮件内容,点击【显示图片】

图片正常显示


126邮箱的已发送里面也可以看到已经发送的邮件。
一个及多个jmx文件多个请求报告展示
上面只有一个请求,我们看看多个请求的效果
一个jmx多个请求



多个jmx多个请求






可以看到,报告都汇总了。
自动化测试框架【linux版】:JMeter + Ant + Jenkins










