本文为Pytest+Allure 定制报告进阶篇,集成 Jenkins,在 Jenkins 中直接生成报告,更方便测试人员查看。
1、进入系统管理 - 管理插件
2、搜索 Allure,并进行安装,重启 Jenkins
3、进入系统管理 - 全局工具配置 - Allure Commandline
4、点击 Allure Commandline 安装,如下图:其中 name 可随便定义,作为标识用。
1、General - 参数化构建过程 处增加参数 ALLURE_HOME,参数值填写存放 allure results 的默认路径。
2、构建 - Execute shell 处增加命令:--alluredir ${ALLURE_HOME}
3、构建后操作 - Allure Report ,Results Path 处设置 ${ALLURE_HOME}
构建已配置好的工程,即可查看 Allure Report,有多处入口,点击任意入口即可查看 Report,见下图:
Allure Report 界面如下图:
以上,对你有帮助的话,点赞❤️吧~~
欢迎关注我的简书,博客,TesterHome,Github~~~
楼主大大,不知道你用 allure2 有没有遇到这个报错(python3.7,pytest3.8.0,pytest-allure-adaptor-1.7.10)
就加了@allure.feature和@allure.story,之前用 python2.7 是好的,我将 pytest-allure-adaptor 删除以后就不报错了,但是通过命令行生成的都是 json 的数据,而不是 xml 的
装了(环境: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'])
楼主您好
我是在 jenkins 里用的,report 可以用 但是我一直报 pytest: command not found 不知道为什么?
有遇到过这个问题的吗..
jenkins allure 的 jar 包是压缩文件,还是.jar
一共 5 条用例 为什么会执行 2 次呢?
请问层主的问题解决了吗,我也是单独 pytest-allure-adaptor 是可以生成 XML 文件的,但是加上@allure.feature和@allure.story就会报错 INTERNALERROR,如果单独 allure-pytest 只会生成 json 和 txt 文件,两个都装时报 ValueError: option names {'--alluredir'} already added
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 的。不知道哪里出了毛病。可以帮助一下吗?多谢
alluxre 要用最新的包 https://github.com/allure-framework/allure2/releases