【jmeter+Ant+Jenkins】开展接口自动化测试集成
创始人
2024-06-02 07:31:24
0

 jmeter+Ant+Jenkins集成视频地址:https://www.bilibili.com/video/BV1e44y1X78S/?

目录:导读

​一、简介

1、什么是蚂蚁?

 2、蚂蚁的好处

3、实现过程

4、原理

二、配置ant环境

三、Jmeter与Ant集成使用


一、简介

1、什么是蚂蚁?

ant是构建工具,把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作

JMeter+Ant是比较常见的自动化测试框架,因为JMeter、Ant都是由java开发的,所以此性能测试框架具有良好的跨平台性;下图是按自己的理解绘制的自动化框架图:

 2、蚂蚁的好处

跨平台 --因为ant是使用java实现的,所以它跨平台

使用简单--与ant的兄弟make比起来

语法清晰--同样是和make相比

功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。

3、实现过程

(1)Ant通过XML文件进行构建,所有的构建信息配置在build.xml文件中,通过调用targettree来执行各种任务;如执行测试脚本(jmx文件),输出测试结果(jtl文件);

(2)Ant通过测试结果(jtl文件)构建生成html测试报告,输出在制定路径下;

(3)根据build.xml文件中配置的邮件信息,将html测试报告自动发送到制定的邮箱;

4、原理

Jenkins驱动ant执行,ant驱动jmeter执行

二、配置ant环境

1、去Apache官网上 http://ant.apache.org/bindownload.cgi 下载ant,我下载的是apach-ant-1.10.7

 

2、下完之后解压,放到一个目录下面。我把它和jmeter都放在了一个目录下C:\jmeter\apache-ant-1.10.7

 

 3、配置环境变量,与jmeter类似。

新建系统变量ANT_HOME,值C:\jmeter\apache-ant-1.10.7

系统变量CLASSPATH,值后面添加C:\jmeter\apache-ant-1.10.7\lib

系统变量Path,值后面添加C:\jmeter\apache-ant-1.10.7\bin

cmd下,输入ant,结果如下图所示,“build.xml not exists ”说明ant配置成功

 

三、Jmeter与Ant集成使用

准备环境:jdk1.8.0_60,环境变量的配置;jmeter5.0安装,环境变量的配置;ant1.10.7的安装,环境变量的配置

1、将C:\jmeter\apache-jmeter-5.0\extras文件夹下的ant-jmeter-1.1.1.jar这个jar包复制到C:\jmeter\apache-ant-1.10.7\lib文件夹下

 

2、打开C:\jmeter\apache-jmeter-5.0\bin\jmeter.properties 将jmeter.save.saveservice.output_format=csv 改成 jmeter.save.saveservice.output_format=xml,记得去掉前面的“#”

 

3、.jmx脚本放置C:\jmeter\apache-jmeter-5.0\extras下

 

4、进入C:\jmeter\apache-jmeter-5.0\extras,打开build.xml文件,进行配置

第一处要修改的地方

<属性名称=“test1” 值=“洞察2.0-180720”/>

此处填写你要测试的脚本,后面不用写.jmx,只用写文件名。这里的意思为test1的值为insight2.0-180720,你将要测试的脚本就是insight2.0-180720.jmx

当然属性名称的也可以取其他的,test、a、b.....等等都可以,简单理解为一个变量名,value就是变量值。

第二处要修改的地方

下面修改子标签jmeter

<吉米特jmeterhome=“${jmeter.home}”testplan =“${testpath}/${test1}.jmx”resultlog=“${testpath}/${test1}.jtl”>........

这里就开始运行jmx脚本了,测试计划testplan的值就是上一处你定义的test1;resultlog就是执行jmx之后生成的日志文件,它会默认保存在extras文件夹下。

第三处要修改的地方

下面修改子标签xslt

这里做的工作是,将jmeter执行之后生成的jtl文件,编译构建成HTML文件,默认保存在extras文件夹下。

仔细看,in等于的就是上一处的rasultlog,out的后缀为HTML

第四处要修改的地方

我想每执行一次脚本,就生成一个HTML、一个jtl文件,并且文件名能显示每次执行的时间。这里可以联想到时间戳,每次运行结果都生成不一样的文件。

1、定义指定格式的时间变量。可以直接在目标名称 =run下定义

<邮票>

2、在jmeter标签下,修改jtl文件的存储路径

<吉米特jmeterhome=“${jmeter.home}”testplan =“${testpath}/${test1}.jmx”resultlog=“${testpath}/${test1}/${time}.jtl”>...

3、在xslt标签下,修改in、out的路径

第五处要修改的地方

build.xml文件无法使用*.jmx执行extras目录下所有的jmx文件,那么如果想每一次想执行多个脚本怎么办呢??目前想到了一个解决办法。大概思路就是,定义多个变量,分别执行。

<属性名称=“test1” 值=“要执行的脚本1”/><属性名称=“test2” 值=“要执行的脚本2”/><属性名称=“test3” 值=“要执行的脚本3”/>

.........

 

5、修改完build.xml文件之后,就可以试一下jmeter+ant的集成有没有成功,打开命令提示符,进入到C:\jmeter\apache-jmeter-5.0\extras,在这里输入ant。

最后面显示build success说明执行成功了!可以进入到extras文件夹下面查看结果,生成了HTML和jtl文件

6、打开html测试报告如下

 

7、聚合报告打开jtl文件如下

 

8、构建.xml内容如下



Sample build file for use with ant-jmeter.jarSee http://www.programmerplanet.org/pages/projects/jmeter-ant-task.phpTo run a test and create the output report:ant -Dtest=scriptTo run a test only:ant -Dtest=script runTo run report on existing test outputant -Dtest=script reportThe "script" parameter is the name of the script without the .jmx suffix.Additional options:-Dshow-data=y - include response data in Failure Details-Dtestpath=xyz - path to test file(s) (default user.dir).N.B. Ant interprets relative paths against the build file-Djmeter.home=.. - path to JMeter home directory (defaults to parent of this build file)-Dreport.title="My Report" - title for html report (default is 'Load Test Results')funcMode = ${funcMode}Report generated at ${report.datestamp}Cannot find all xalan and/or serialiser jarsThe XSLT formatting may not work correctly.Check you have xalan and serializer jars in ${lib.dir}

写在最后

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~

你也可以加入下方的的群聊去和同行大神交流切磋

 

相关内容

热门资讯

麦格米特:公司暂无核电业务 投资者提问:请问公司是否有切入核电/核聚变行业供应电源呢?有无技术专利储备,参与研发项目,签署订单?...
香山静宜园与路县故城上演“时空... 转自:北京日报客户端7月8日,由香山公园管理处与路县故城遗址公园联合主办的 “香山源脉 千年城韵”—...
麦格米特:回应GB300电源方... 投资者提问:2025 年 GTC 大会上展示的 GB300 电源解决方案,对公司业务发展有何战略意义...
ST奥维资金被关联方占用 1.... 中经记者 陈家运 北京报道承诺期已过,ST奥维(002231.SZ)股东及其关联方的巨额非经营性资金...
学习时节|铭记抗战历史,弘扬抗... 1937年7月7日,日本侵略者为了达到以武力吞并全中国的罪恶野心,悍然炮轰宛平城,制造了震惊中外的卢...
盐湖股份(000792.SZ)... 格隆汇7月8日丨盐湖股份(000792.SZ)公布,截至公告披露日,增持计划实施时间过半,中国五矿通...
秦韵教育·2025年全国沙滩排... 来源:环球网 7月8日,秦韵教育·2025年全国沙滩排球巡回赛(商洛站)暨第十五届全国运动会沙滩排球...
强势股追踪 主力资金连续5日净... 证券时报·数据宝统计,截至7月8日收盘,深沪北共57只个股连续5日或5日以上主力资金净流入。正帆科技...
防泄露有招了!首个数字水印国标... 快科技7月8日消息,近日,国家市场监督管理总局、国家标准化管理委员会正式发布首个数字水印国家标准GB...
福田汽车(600166.SH)... 格隆汇7月8日丨福田汽车(600166.SH)公布,2025年4月,北京汽车集团有限公司(简称“北汽...