接口测试 jmeter+ant+jenkins 接口自动化报告模版

Baozhida · 2017年03月27日 · 最后由 ben liao 回复于 2017年07月07日 · 4198 次阅读

背景

做接口自动化也很久了,自己会 java 所以选择了使用 jmeter+ant+jenkins 的方式做接口自动化测试与持续集成,报告模版的选择也经历了好几个版本,结合 jmeter 各种逻辑控制器和 beanshell 做很复杂的接口测试也是轻而易举的。

各自循环复杂校验不必多说,关联接口传参也很容易,某些类型的接口巡检也可以完成。

看到 jmeter 接口自动化测试方案二 (报告优化),优点是发邮件直接发送 html 页面。但是需要大量改动。

说说我改造的接口测试报告模版,是根据之前的帖子修改而来的

之前的帖子大概是https://testerhome.com/topics/3773

改造模版

我把默认模版(jmeter-results-detail-report.xsl)和 3773 帖子提到的模版jmeter.results.shanhe.me.xsl,整到一起了。

截图中断言是最简单的形式,使用 beanshell 断言可以做非常强大的判断。

效果图

报告 html 文件一共是三部分,一张图放不下,截了两次图,展示的数据依次是 Summary&Pages&ErrorDetail。

Summary&Pages

Summary&Pages

ErrorDetail

ErrorDetail

模版地址

https://github.com/baozhida/jmeter.bak/blob/master/jmeter.results.shanhe.me.xsl

欢迎使用,提意见,或者有更好的模版,也告知一下。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 13 条回复 时间 点赞

shanhe(heshan) 造福了很多人,我也是改他的模板...😅

请教下楼主,模板中第 2,3,4 行的链接是做什么用的呢?

xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="no" encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
    <xsl:strip-space elements="*"/>
3楼 已删除
4楼 已删除

,感谢 LZ 分享。模板挺好,可以看到错误详情。

请问我用了这个模板,怎么没有第一页 Summary&Pages 的内容呢

浅浅秀儿 回复

都说好使,你用为何不行,多说一点才好判断

感谢楼主无私地分享~我已经用上了这个模板。

但是还有个问题一直困扰着我:每次执行自动化测试,都会在之前执行过的结果数据基础上累加新执行的结果数据,造成无法很直观地获取到最新执行这一次的测试结果。

楼主是否有这方面的想法没?(我的 QQ:85628284)

ben liao 回复

先删掉之前的结果,两种方式
1.Jenkins 删除
2.build.xml 文件里面处理

Baozhida 回复

好开心楼主第一时间回复了~
我是把测试报告文件夹【HTML_Report】下所有的 html 报告文件都删除了,重新构建生成的报告依然包含了之前的测试结果数据。

我想应该是没把之前测试结果的数据源给删除,楼主方便的话能告诉下这两种方式的具体操作步骤和位置吗?非常感谢☀

Baozhida 回复

明白了在 Jenkins 里手动删除 html 和 jtl 文件后可以清除之前的测试结果数据;

build.xml 文件里面如何做到自动处理删除?

ben liao 回复

我用另一种方式解决了:
在项目配置里选择 增加构建步骤,在 invoke Ant 之前增加一步【Execute Windows batch command】
del D:\Jenkins\workspace.......\html*.html
del D:\Jenkins\workspace.......\jtl*.jtl

这样每次 Ant 执行前都会清除历史数据。

ben liao 回复

1.Jenkins 删除 就是指 command 执行脚本删除
2.build.xml 文件里面处理 bulid 也可以加任务删除指定的目录。两种效果一样

Baozhida 回复

学习了~ 谢谢😀

楼主好,我在生成的项目测试报告中发现,ErrorDetail 第 2 个 Tread 里返回错误的请求所属分组并不准确,如下图这 4 个错误接口并不属于该 Tread,但是都列在这个 Tread 下面了,真正的所属 Thread 并没有列出来。

16楼 已删除
17楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册