持续集成 Jenkins 构建 Allure Report

小喜_xx · 2018年08月29日 · 最后由 kylceline 回复于 2020年01月07日 · 5095 次阅读

前言

本文为Pytest+Allure 定制报告进阶篇,集成 Jenkins,在 Jenkins 中直接生成报告,更方便测试人员查看。


一、安装插件allure-jenkins-plugin

1、进入系统管理 - 管理插件
2、搜索 Allure,并进行安装,重启 Jenkins
Allure.png

3、进入系统管理 - 全局工具配置 - Allure Commandline
4、点击 Allure Commandline 安装,如下图:其中 name 可随便定义,作为标识用。
Allure Commandline.png


二、构建配置

1、General - 参数化构建过程 处增加参数 ALLURE_HOME,参数值填写存放 allure results 的默认路径。
增加参数.png

2、构建 - Execute shell 处增加命令:--alluredir ${ALLURE_HOME}

3、构建后操作 - Allure Report ,Results Path 处设置 ${ALLURE_HOME}

构建.png

三、查看报告

构建已配置好的工程,即可查看 Allure Report,有多处入口,点击任意入口即可查看 Report,见下图:
Job.png
Allure Report 界面如下图:
Allure Report.png


以上,对你有帮助的话,点赞❤️吧~~
欢迎关注我的简书,博客,TesterHome,Github~~~

共收到 21 条回复 时间 点赞
小喜_xx Pytest+Allure 定制报告 中提及了此贴 08月29日 21:55

楼主大大,不知道你用 allure2 有没有遇到这个报错(python3.7,pytest3.8.0,pytest-allure-adaptor-1.7.10)

lizzyzd 回复

你是不是指定了两个 alluredir 参数

arrow 回复

就加了@allure.feature@allure.story,之前用 python2.7 是好的,我将 pytest-allure-adaptor 删除以后就不报错了,但是通过命令行生成的都是 json 的数据,而不是 xml 的

lizzyzd 回复

pip3 install pytest-allure-adaptor 这个是必备的,你安装了么

小喜_xx 回复

装了(环境:python3.7,pytest3.8.0,pytest-allure-adaptor-1.7.10),然后运行就报这个了 ValueError: option names {'--alluredir'} already added,感觉像是说 alluredir 指定参数冲突了,但是不知道怎么解决,运行语句是这个:
if name == 'main':
pytest.main(['-s', '-q', '--alluredir ', './report/xml'])

lizzyzd 回复

你是直接执行的,还是在 Jenkins 里面执行

小喜_xx 回复

直接执行的,没有用 jenkins

lizzyzd 回复

那太奇怪了,我也没遇到过

小喜_xx 回复

还是谢谢楼主,我已经解决了,卸载一个 allure-pytest 就好了,希望其他小伙伴不要入这个坑😂

楼主您好
我是在 jenkins 里用的,report 可以用 但是我一直报 pytest: command not found 不知道为什么?

12楼 已删除
仅楼主可见


有遇到过这个问题的吗..

jenkins allure 的 jar 包是压缩文件,还是.jar

lizzyzd 回复

卸载 adapter


一共 5 条用例 为什么会执行 2 次呢?

lizzyzd 回复

请问层主的问题解决了吗,我也是单独 pytest-allure-adaptor 是可以生成 XML 文件的,但是加上@allure.feature@allure.story就会报错 INTERNALERROR,如果单独 allure-pytest 只会生成 json 和 txt 文件,两个都装时报 ValueError: option names {'--alluredir'} already added

lc308903655 回复

pytest-allure-adaptor 与 allure-pytest 的 alluredir 都被引用造成冲突(可以全局搜索一下哪些冲突),然后卸载掉不用的包就可以了

我安装 pytest-allure-adaptor 运行报 option names {'--alluredir'} already added;卸载后安装 allure-pytest 后用命令执行报告文件只生成 json 和 txt 文件。用 Jenkins 生成 allure 报告时,提示 请问这个错误怎么解决?

回复

我的也是,allure-pytest 这个包只能生成 json 和 txt 文件,生成报告就告诉我没有找到 allure 结果
Exception in thread "main" ru.yandex.qatools.allure.data.ReportGenerationExcepti
on: Could not find any allure results
at ru.yandex.qatools.allure.data.AllureReportGenerator.generate(AllureRe
portGenerator.java:58)
at ru.yandex.qatools.allure.data.AllureReportGenerator.generate(AllureRe
portGenerator.java:53)
at ru.yandex.qatools.allure.AllureMain.main(AllureMain.java:48)
Command aborted due to exception {}.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit
value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecut
or.java:404)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:
166)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:
153)
at ru.yandex.qatools.allure.command.ReportGenerate.runUnsafe(ReportGener
ate.java:48)
at ru.yandex.qatools.allure.command.AbstractCommand.run(AbstractCommand.
java:52)
at ru.yandex.qatools.allure.CommandLine.main(CommandLine.java:46)


楼主,参照你的方法,但是会报错,找不到我的目标文件。貌似是 cd 这个命令不起作用。同样的命令在 window 里面的 dos 界面执行,是 ok 的。不知道哪里出了毛病。可以帮助一下吗?多谢

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