之前看到社区里有大侠分享过 Jenkins+JMeter 接口自动化的实现,比如@snake 的精彩贴子:https://testerhome.com/topics/2580

所以具体实现过程我这里不多写了,我重点写下对生成的HTML 测试报告进行优化

如果按 JMeter 默认设置,生成报告如下:

从上图可以看出,结果信息比较简单,对于运行成功的 case,还可以将就用着。但对于跑失败的 case,就只有一行 assert 错误信息。(信息量太少了,比较难找到失败原因)

优化大致过程

1、修改 jmeter.properties 文件,打开一些输出内容开关(下图根据需要选择相关项,具体就不用多说了吧)

2、制定一份自己的输出模板。(不用默认的 jmeter_home/extras/jmeter-results-detail-report.xsl 模板,也可以网上自己找份。)
3、最后执行,生成对应的 HTML 报告(一般我们都在 linux 环境 下运行,语句大致如下,其中 my_project_template.xsl 就上第 2 步说的定制模板,这个是网上找的一份。)

xsltproc $jmeter_home/extras/my_project_template.xsl $my_project_workspace/result/jtl/$test_name/${test_name}.jtl > $my_project_workspace/result/html/$test_name/${test_name}.html

最后报告如下:


优化后的 HTML 报告,多了接口地址、接口参数、Headers 信息(包括 cookie、session),而且有返回结果。失败原因一目了然😄

最后附上我的 jmeter 文件样本:


↙↙↙阅读原文可查看相关链接,并与作者交流