自动化工具 allure 报告整合方案请教

满级质量守卫 · 2020年11月06日 · 最后由 孙高飞 回复于 2020年11月09日 · 5590 次阅读

allure 报告问题

请教各位路过的大佬,pytest 多机并行(多进程模式运行)结束后,如何生成一份完整的 allure 报告,把多设备的数据在一份 allure 报告内区分开来(不是以历史记录或重试次数的形式),如下图所示效果:

共收到 11 条回复 时间 点赞

allure 产生的 allure-results 放到不同的目录, 再使用 allure commandline 去指定从多个目录生成 report 就好了。 jenkins 上也有 allure 的插件。 很好做的

孙高飞 #1 回复

多谢大佬解惑,之前也试过这种方法,但总是会显示在重试那一栏里面,看了你的评论之后清理了下之前的项目重试了下果然还是可以的

孙高飞 #1 回复

大佬 请教一下 allure2 可以自己指定一个端口号启动 web 服务吗

孙高飞 #1 回复

能不能每次都自动刷新?感觉每次都等重启 allure serve

我记得是可以的, 就用 allure commandline 启动的时候就有个参数是指定端口号的

恒温 #4 回复

allure 好像现在还是做不到把

allure 只是一个报告样式,按理说应该想办法把数据丢到一起去,交由 allure 展示

孙高飞 #1 回复

用了下面的命令生成 report
allure generate result_A result_B -o allure_report_path
效果如下图所示:
result_B 的数据还是会以重试次数添加到 retry 那一栏

最终还是得不到下图中想要的效果:
每台设备一一对应其执行的 case

大佬知道这是啥原因吗,或者有啥好的建议能指点下吗,不胜感激

因为你这俩 case 的名字是一样的, 它认为是 retry 的结果。 你 case 换个名字就行了

孙高飞 #9 回复

因为我是多台设备运行一套 case 的,所以几台设备运行的 case 的名称都是一样的

那这样是不行的。 你得在 allure 的装饰器里填写的字符串上做手脚了, 别用写死的字符串, 用变量。 外部你运行 case 的时候传递设备名称或者别的唯一标识符进来, 然后生成这个字符串

满级质量守卫 关闭了讨论 11月10日 16:40
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册