ALLURE(Allure报告)
一、Jmeter输出报告转allure2
最近发现公司很多是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和lure的区别
“allure”和“lure”在词义与词性两个方面有区别,具体区别如下:
一、词义不同
1、“allure”的基本意思是“诱惑”,指通过“诱”而使之“惑”,即使用手段(特别是欺骗手段)使人或动物迷惑上当,后指用诱饵引诱动物,现常指用利益、奉承或诺言引诱人。
例:
TheallureandcharmofPariscaptivateallwhovisitthere.
巴黎的诱惑与魅力吸引了所有到此游玩的人。
2、“lure”意思是诱惑;饵;诱惑物。
例:
Sheneverhold outon thelureofmoneytodosomethingtheywanted.
她从未因为金钱的诱惑而做出他们想让她做的事情。
二、词性不同
1、“allure”是及物动词,可接名词或代词作宾语,也可接以动词不定式或介词短语充当补足语的复合宾语。“allure”用作名词的意思是“诱惑力”“吸引力”,是抽象不可数名词,但其前有修饰语时常可与不定冠词连用。
例:
PerhapsParis’allurelies inthetasteandstyleoftheParisians.
或许巴黎的诱惑力在于巴黎人的特殊品味和风格中吧。
2、“lure”的名词指吸引鱼或动物上钩的诱饵或是某样能吸引人的东西或让人具备能做某事的能力。动词指通过把该事物变得看起来很有吸引力来劝说某人做某事。
例:
He left home because of the lures of the life in the city.
由于受到城市生活的诱或,他离开了家。
扩展资料:
“allure”和“lure”的同近义词为:temptation, induce。指诱惑;饵;诱惑物;引导,诱导。
1、temptation:
Youshouldresistthetemptation.
你应当抵制这种诱惑。
2、induce:
Theseattractionsinducepeopleto travelinthatcountry.
这些诱人之处吸引人们到那个国家去旅游。
参考资料:
有道词典—allure
有道词典—lure
三、Allure+testNG(一):手把手教你用Allure生成优美的测试报告
我参考的教程是《高大上的测试报告-Allure开源框架探索》
以windows为例,其他系统可以参考官网 Allure官方文档
以下是我查看很多文章后总结出来最全的allure需要的依赖了
这里我用的是testng生成测试报告
allure的testng插件
这里说一下自己踩的两个坑:
先把test下的测试cese跑一遍
跑完之后会在工程的根目录下生成一个allure-results文件夹,里面都是json格式的文件,不要慌张,allure可以生成html网页通过web服务方式呈现出来。
allure提供了三种命令:
path of allure result就是allure生成的那些json格式文件所在的地址,这里就是前面说的allure-results文件夹
执行这个命令我们看看会发生什么:
这个时候浏览器会自动将生成的html格式报告打开
这里我又遇到一个坑,打开了页面是这个样子的
后来发现是因为公司的vpn打开了,关掉之后就能正常展示
这个时候会生成一个allure-report在你定位的文件夹内,这个方法不会自动帮你启动浏览器
生成allure-report之后,你需要再次手动打开allure-report
当然这个时候路径应该是allure-report所在的文件夹路径。
下一章再给大家介绍怎么更规范的去编写你的自动化case使报告更美观,符合你的要求。