Ant用来做项目构建,JMeter中的脚本对应有多个不同项目;Ant可根据JMeter目录中的build.xml配置文件的设置,实现批量执行JMeter中的.jmx脚本,以自动化方式提高测试效率。
因此,build.xml配置文件相当于Ant和JMeter之间的中间桥梁,保持双方联通运作。
自动化测试构建-操作步骤:
Step1:
新建存放测试报告的目录JMeterTest
① 建立JMeterTest在各自设置的某个位置,在其下新建2个目录:ResultLog(存放测试生成的指定格式报告)、Script(存放被执行的.jmx脚本)
② 然后在ResultLog目录下再新建2个子目录:jtl(执行脚本后生成.jtl格式文件)、html(Ant将.jtl格式文件转换为.html的文件报告)
Step2:
利用Badboy录制JMeter脚本xxx.jmx
,并将脚本放置到JMeterTest目录下的Script目录之下(...\JMeterTest\Script
)
Step3:
将JMeter的安装目录下的extas目录(...\apache-jmeter-4.0\extras\
)中 ant-jmeter-1.1.1.jar 这个jar包放置(copy)到Ant的安装目录lib目录(...\apache-ant-1.9.13\lib\
)之下
作用:
使得Ant运行时能找到org.programmerplanet.ant.taskdefs.jmeter.JMeterTask
类,以触发JMeter脚本
Step4:
编辑JMeter的bin目录(...\apache-jmeter-4.0\bin
)下的jmeter.properties文件,在其第449行之后添加一行jmeter.save.saveservice.output_format=xml
JMeter输出结果数据默认保存是.csv格式的文件,在此需要设置成.xml格式的文件
Step5:
在路径路径(...\apache-jmeter-4.0\extras\
)之下,配置JMeter的 build.xml 配置文件
PS:以备后续可能需要build.xml最初的文件,此处暂且将build.xml复制了一份并命名为 build_JMeter.xml 以作区分,然后根据各自需求单独编辑build_JMeter.xml文件作为本次所需的配置文件
build_JMeter.xml配置文件:
配置文件说明:
1.Ant 关键元素
Ant构件文件是基于XML编写的,默认名称为build.xml。project元素是Ant构件文件的根元素,Ant构件文件至少应该包含一个project元素,否则会发生错误。在每个project元素下,可包含多个target元素。以下为project元素的各属性:
属性名 | 作用 | |
---|---|---|
1 | name | 用于指定project元素的名称 |
2 | default | 用于指定project默认所执行的target名称 |
3 | basedir | 用于指定JMeter基准路径的位置。该属性没有指定时,使用Ant构件文件的目录作为基准目录 |
2.target元素
target作为Ant的基本执行单元,它可以包含一个or多个具体的任务。多个target可以存在相互依赖关系。它有target的属性如下:
属性名 | 作用 | |
---|---|---|
1 | name | 指定target元素的名称。该属性在一个project元素中是唯一的,可以通过指定target元素的名称来指定某个target |
2 | depends | 用于描述target之间的依赖关系。若与多个target存在依赖关系时,需要以英文逗号, 间隔。Ant会依照depends属性中target出现的顺序依次执行每个target,被依赖的target会先执行 |
3 | if | 用于验证指定的属性是否存在,若不存在,所在target将不会被执行 |
4 | unless | 该属性的功能与if 属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在target将会被执行 |
5 | description | 该属性是关于target功能的简短描述和说明 |
3.property元素
该元素可看作参量或者参数的定义,project的属性可以通过property元素来设定,也可在Ant之外设定。
若要在外部引入某文件,例如build.properties文件,可以通过如下方式引入:
Step6:
将配置好的build_JMeter.xml文件放置到Ant目录的bin目录之下(...\apache-ant-1.9.13\bin\
),使用Ant编译验证build_JMeter.xml文件
此时,在ant的bin目录下,打开cmd命令窗口,输入命令 ant -buildfile build_JMeter.xml
Step7:
部署到Jenkins持续集成平台
1.切换到Jenkins存放的文件目录(...\apache-tomcat-9.0.10\webapps\jenkins-2.121.3
),在此打开cmd命令窗口,输入命令java -jar jenkins.war --httpPort=8002
(PS:若没有修改过Jenkins的端口号,则默认8080端口,以上命令中就不需要设置--httpPort=8002
这部分)
2.浏览器中访问url= http://localhost:8002/ ,输入其前设置好的用户名和密码进行登录
3.创建新任务:点击【创建一个新任务】-->输入任务名称,选中【构建一个自由风格的软件项目】-->点击【确定】
4.定位到页面底部,在【构建】模块点击【增加构建步骤】-->【Invoke Ant】-->点击【高级】展开隐藏的输入框-->在【Build File】输入框中填写ant目录的bin目录下的build配置文件的绝对路径-->【保存】
5.点击左侧导航栏的【立即构建】,即可调用Ant来执行.jmx脚本,并根据build_JMeter.xml配置文件的设置而生成测试报告
构建完成之后,生成相关构建的历史记录
参考来源:
[1] Jmeter+Ant+Jenkins搭建持续集成的接口测试框架