为了提高回归效率及保证版本质量,很多公司都在做自动化测试,特别是接口自动化。接口自动化测试框架很多,有写代码的,也有不写代码的,我觉得没有谁比谁好,谁比谁高级之说,只要适用就好。
今天给大家分享一个不写代码的接口自动化测试框架:jmeter + ant + jenkins,原理:jenkins驱动ant执行,ant驱动jmeter执行,这个框架在一些公司应用得还不错哦。虽然不需要写代码,但是jmeter接口脚本必须熟练,可以在公众号上参考:测试必备:jmeter测试http协议接口的各种传参方式
这里为了演示方便,就用windows环境,linux版:jmeter + ant + jenkins,请参考:
https://www.cnblogs.com/uncleyong/p/10766480.html
温馨提示:本文涉及的安装包及各种文件获取方式:关注公众号『全栈测试笔记』联系作者获取
环境准备
前提条件:windows安装了jmeter、ant、jenkins
jmeter安装:https://www.cnblogs.com/uncleyong/p/10731334.html
ant安装:https://www.cnblogs.com/uncleyong/p/10743183.html
jenkins安装:https://www.cnblogs.com/uncleyong/p/10742867.html
ant调用jmeter脚本(通过ant命令)
准备一个jmeter接口脚本
get请求,访问:www.cnblogs.com/UncleYong/
将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多个请求
可以看到,报告都汇总了。
项目源码,加Q群获取
自动化测试框架【linux版】:JMeter + Ant + Jenkins
详见:https://www.cnblogs.com/UncleYong/p/10766480.html
其余自动化框架:
不需要写代码的自动化框架
自动化测试框架: JMeter + Ant + Jenkins【 windows 版】: https://www.cnblogs.com/UncleYong/p/10739519.html
自动化测试框架: JMeter + Ant + Jenkins【 linux 版】: https://www.cnblogs.com/UncleYong/p/10766480.html
自动化测试框架:JMeter + Maven + Jenkins :https://www.cnblogs.com/UncleYong/p/10843097.html
需要写代码的自动化框架
python版接口自动化测试框架源码完整版(requests + unittest): https://www.cnblogs.com/UncleYong/p/10650552.html
java版接口自动化测试框架源码完整版(httpclient + testng):https://www.cnblogs.com/UncleYong/p/10659840.html
后续框架分享计划:
pytest版接口自动化测试框架
web端ui自动化测试框架
app端ui自动化测试框架
性能自动化测试框架