持续集成 Jenkins 构建 Allure Report

小喜_xx · August 29, 2018 · Last by kylceline replied at January 07, 2020 · 5452 hits

前言

本文为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 定制报告 中提及了此贴 29 Aug 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 不知道为什么?

12Floor has been deleted
Author only


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

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的。不知道哪里出了毛病。可以帮助一下吗?多谢

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up