Jmeter输出报告转allure2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter输出报告转allure2相关的知识,希望对你有一定的参考价值。
参考技术A 最近发现公司很多是jmeter进行的自动化测试,存在的问题:原生报告巨丑无比,并且还没有那么友好的展示详情。话不多说,开搞。
首先是jmeter配置的调整,需要拿到整个请求的详情
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true
这个时候就会发现输出的xml报告包含了用例的层级和详情信息
<httpSample t="1" lt="1" ts="1450684950333" s="true" lb="app.testdelay" rc="200" rm="OK" tn="appdelay-3000g3m 1-1" dt="" by="2265"/>
t表示从请求开始到响应结束的时间
lt表示整个的空闲时间
ts表示访问的时刻
s表示返回的结果true表示成功,false表示失败
lb表示标题
rc表示返回的响应码
rm表示响应信息
tn表示线程的名字“1-138”表示第1个线程组的第138个线程。
dt表示响应的文件类型
by表示请求和响应的字节数
到这里差不多完成一半了,有这个xml,我把它解析成自己想要的pytest allure不就行了
#通过命令行来执行 ,例如python3 dealReportXml.py result.xml test_demo.py report/resource
细心的你会发现,这里面的时间是错误的,别急,我们来处理一下。
回头看看jmeter报告中的协议
t表示从请求开始到响应结束的时间
lt表示整个的空闲时间
ts表示访问的时刻
s表示返回的结果true表示成功,false表示失败
lb表示标题
rc表示返回的响应码
rm表示响应信息
tn表示线程的名字“1-138”表示第1个线程组的第138个线程。
dt表示响应的文件类型
by表示请求和响应的字节数
只要我们把对应的时间替换报告中对应的时间即可
Allure安装及使用
Allure是一个独立的报告插件,生成美观易读的报告
在Python3版本中,安装Allure方法:
打开cmd,输入pip install allure-pytest即安装好了。
报告转html工具安装
allure-2.6.0.zip已经下载了,放在了E:progromesallure-2.7.0这个目录下
将压缩包内的bin目录配置到path系统环境变量
在项目的使用
1, 配置文件中,
addopts = -s --alluredir=./report --reruns 0
2,进入report上级目录,即点击一下你的项目名,在Terminal中执行命令
allure generate report/ -o report/html --clean
等3秒左右,在提示下,输入pytest
结果 report目录下会生成index.html文件,即为可视化报告
以上是关于Jmeter输出报告转allure2的主要内容,如果未能解决你的问题,请参考以下文章