【背景】
目前公司没有任何自动化的测试,故打算从简单地开始做一个基于JMeter脚本的接口冒烟测试任务,放在Jenkins上持续构建便于回归,也方便在线实时查看测试结果报告详情。
先找了一台现成的linux服务器搭建个环境,接口脚本后续慢慢完善。

【正文】
一、环境准备
1、JMeter安装
前提:jdk1.8以上环境。
1)下载linux版本的jmeter
a.官网:
http://jmeter.apache.org/download_jmeter.cgi
b.百度云:
链接:https://pan.baidu.com/s/1TNJirAfJWctSIZ05CliXPA
提取码:b4vt
2)解压缩安装包
tar -zxvf 文件名 -C 指定路径
3)验证执行
在bin目录下执行 sh jmeter.sh -v
显示版本即正常。

4)添加JMETER_HOME环境变量

2、Ant安装
1)下载linux的安装包
a.官网下载
http://ant.apache.org/
b.百度网盘
链接:https://pan.baidu.com/s/1iniyrVZY1uyf2maS0hs9lw
提取码:87bn
2)解压缩到指定目录
参考jmeter,略。
3)配置环境变量ANT_HOME
参考jmeter,略。
验证环境变量生效
ant -version

3、Jenkins安装
1)下载安装包(linux/windows通用)
a.官网下载
https://jenkins.io/download/
b.百度网盘
链接:https://pan.baidu.com/s/1mWrzI6viF3xXw22Oqpd9Fw
提取码:um3y
2)启动
a.通过tomcat启动,放到webapp下。(推荐)
b通过指令启动(端口自定)
java -jar jenkins.war --httpPort=8081
3)访问
http://linux服务器IP:端口/
首次访问需要输入管理员密码,默认在.jenkins/secrets目录下的初始化管理员密码文件中。
4)根据前台指引创建用户,安装插件。
二、JMeter配置
1、先在本地准备一个跑得通的JMeter自动化测试脚本。
2、将自己本地配置的插件组合放到linux服务器jmeter安装目录的/lib/ext路径下。
3、将自己的报告样式表放在jmeter安装目录的/extras路径下。
4、修改jmeter安装目录的bin路径下的jmeter.properties配置文件。
1)修改请求返回的编码为utf-8。

2)将测试结果保存格式设置为xml。

3)开发注释并设置保存请求结果的多项内容。

三、ANT调用JMeter
1、创建一个AUTOTEST目录,下属jmeter_script和report两个文件夹,及一个build.xml文件。report下创建两个文件夹html和jtl。把之前准备好的测试脚本放到jmeter_script文件夹下。

2、build.xml配置
可以在网上直接搜一个基础模板,主要改一下几点
1)jmeter.home配置和之前创建的jtl、html文件路径。

2)改报告名,可以加上自定义的时间戳格式

3)修改需要运行的脚本目录及脚本名,*.jmx表示此目录下所有脚本。

4)修改生成报告的样式文件。(可以改成自己的模板)

3、在build.xml文件根目录下执行ant,自动运行jmeter跑自动化脚本并生成报告。

在之前创建的/AUTOTEST/report/html和/AUTOTEST/report/jtl目录下分别生成报告文件。

四、Jenkins配置ANT任务
1、安装ant插件

2、在manager Jenkins-global tool configuation中配置JDK、ANT目录信息

3、新建一个任务ITEM,自由风格的

4、配置构建步骤Invoke Ant


5、添加构建后步骤Publish HTML reports和Publish Performance test result report。(可能需要依赖对应插件)

6、构建后步骤配置详情


7、立即构建,查看控制台日志

8、在线查看构建生成的报告


【结语】
每次生成的报告建议名字重复便于覆盖,如果不同名,生成的报告可能会累计上次运行的记录。缺点就是不能查看历史构建记录对应的生成报告,可自行斟酌。
此外也可以考虑通过修改build.xml生成多个不同样式的报告(如汇总+明细)丰富在线报告内容。





