CI: Jmeter5.0+Ant+Jenkins (win)
4、本地调试使用Ant构建运行Jmeter,并且生成jtl、Html报告
(1)Jmeter属性修改
打开jmeter\bin\properties,将 jmeter.save.saveservice.output_format=csv 改成 jmeter.save.saveservice.output_format=xml,记得去掉前面的“#”
(2)jar包复制
将apache-jmeter-3.2\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.11\lib目录下.
(3)集成准备
新建文件夹(如:\apache-jmeter-5.0\TestCase),放置将要进行测试的jmx文件、build.xml文件(第4步)、以及报告
(4)build.xml配置
在新建的目录(\apache-jmeter-5.0\TestCase)下,创建一个 Ant 构建文件 build.xml(新建一个 txt 文本文件后把文件后缀改成 .xml),然后从网上百度build文件内容复制过来后,
修改相关路径,包括:Jmeter安装路径、生成报告放置路径、jmx文件放置路径、生成报告的前缀[可选],保存。
(5)下载stylesheet文件
百度下载jmeter.results.shanhe.me.xsl,用于让html报告更加详细的样式表文件。但是不下载测试时会提示构建失败,只能生成jtl报告,不能生成html报告!!!
下载:找度娘。
放置:下载后放在 \apache-jmeter-5.0\extras 目录下。
(6)测试
在D:\ProgramFiles\apache-jmeter-5.0\TestCase目录下打开CMD,运行 $ ant 查看\TestCase的jtl和html目录下是否出现报告文件,若有,则构建成功。
测试 生成的jtl报告 生成的html报告Ant测试执行要想简单的执行可以写个bat(内容如下记得修改路径),放个快捷方式在桌面方便执行:
@echo off
start "C:\Windows\System32\cmd.exe"
D:
CD D:\ProgramFiles\apache-jmeter-5.0\TestCase
ant
exit
bat执行(7)遇到的问题
问题描述:在\apache-jmeter-5.0\extras\下找不到样式表(jmeter.results.shanhe.me.xsl),报错信息为 java.io.FileNotFoundException: D:\ProgramFiles\apache-jmeter-5.0\extras\jmeter.results.shanhe.me.xsl (系统找不到指定的文件 。),如下图所示:
问题解决:百度下载jmeter.results.shanhe.me.xsl,下载后放在 \apache-jmeter-5.0\extras 目录下即可。
5、配置jenkins 、新建任务、设置任务、构建执行
1)Jenkins系统管理-Global Tool Configuration全局配置
这里的设置一般为全局工具配置、配置工具的安装位置和自动安装程序。
注意:本次并没有用到比如git等,不做配置,,后续用到了再配置,本次只配置了ant和jdk.
2)新建任务
2.1)
新建任务 新建一个自由风格的项目 丢弃旧的构建,避免占用内存过大 这里只介绍在jenkins中如何启动本地已有Jmeter安装的情况。且接口测试的脚本已经做好。 所以这里不进行源码管理。如果源码在SVN或GIT上,可以勾选后配置即可。设定定时构建
2.2)接下来呢,添加两个Excute Windows batch command步骤(内容分别如下记得自定义修改路径),目的如图中所示,即执行jmx生成jtl测试报告,然后通过jenkins的插件xsltproc调用jmeter自带的xsl模板,把jtl生成HTML报告,便于查看:
注意:路径中不能有空格,不能有中文!
Excute Windows batch command 1:
D:\ProgramFiles\apache-jmeter-5.0\bin\jmeter -n -t D:\ProgramFiles\apache-jmeter-5.0\TestCase\APItest_spp.jmx -l D:\ProgramFiles\apache-jmeter-5.0\TestCase\jtl\result.jtl
-n:非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t:测试文件 -> 要运行的 JMeter 测试脚本文件
Excute Windows batch command 2:
D:\ProgramFiles\Ant\apache-ant-1.7.1\xsltproc\bin\xsltproc D:\ProgramFiles\apache-jmeter-5.0\extras\jmeter-results-detail-report_21.xsl D:\ProgramFiles\apache-jmeter-5.0\TestCase\jtl\result.jtl>D:\ProgramFiles\apache-jmeter-5.0\TestCase\html\result.html
2.3)在“构建后操作”下,选择 htmlpublisher ,然后点击新增,输入html报告的路径、报告名称(和上个步骤名称要保持一致),来生成一个html报告
选项里没有htmlpublisher选项 ------解决: jenkins安装该插件即可,不再赘述。
2.4)保存并返回任务界面,选择立即构建,将会自动执行脚本并生成Jtl与html测试报告
构建成功,并在jenkins里查看html报告:
查看控制台输出
生成Jtl与html测试报告:
6、遇到问题:
1)构建时报错:An error occurred: Unknown arg: D:\ProgramFiles\apache-jmeter-5.0\TestCase\jtl\result.jtl
可能的原因:Excute Windows batch command命令行路径里存在①路径中有中文 ②路径中空格 ③命令错误,漏写-l等
解决:①各种有效方法去掉中文 、空格
②检查命令错误,或者直接复制我上面的命令,然后改为自己的路径即可。
2)jenkins 查看HTML报告,打开的网页中无法加载CSS以及无法点击按钮,如下面的图1
原因分析:HTML Publisher Plugin 插件在新的Jenkins版本中会导致打开的网页中无法加载CSS以及无法点击按钮的情况,由CSP导致。
解决:在Jenkins控制台中执行(直接复制)→ System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", ""),如下面的图2。然后再次查看报告或者刷新页面后查看报告即能正常查看(如下面的图3)。
图1 图2 :System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") 图3