【发布时间】:2016-11-23 11:19:00
【问题描述】:
对于Java,有extent-report、testNG等外部报告生成工具。 Junit 为单个功能文件生成 xml 格式的输出。要获得详细的报告,我在 Behave 框架内看不到选项或广泛的方法或解决方案。
如何在 Behave 中生成报告,是否需要为 Behave 中的报告生成添加任何其他工具或框架?
【问题讨论】:
标签: python report bdd python-behave
对于Java,有extent-report、testNG等外部报告生成工具。 Junit 为单个功能文件生成 xml 格式的输出。要获得详细的报告,我在 Behave 框架内看不到选项或广泛的方法或解决方案。
如何在 Behave 中生成报告,是否需要为 Behave 中的报告生成添加任何其他工具或框架?
【问题讨论】:
标签: python report bdd python-behave
您可以为您的行为测试生成Allure report。
首先你需要安装 Allure Behave 格式化程序:
$ pip install allure-behave
然后在运行测试时指定格式化程序:
$ behave -f allure_behave.formatter:AllureFormatter -o %allure_result_folder% ./features
这将生成 JSON 报告给%allure_result_folder%。然后,要查看 HTML 报告,您可以使用 Allure 命令行(也可以使用 Jenkins/TeamCity/Bamboo 的插件)
$ allure serve %allure_result_folder%
有关 Allure 报告的更多详细信息,您可以查看docs。
【讨论】:
我知道很久以前有人问过/回答过这个问题。
但我想给出对我有用的解决方案。
Cucumber json 模式与 Behave 模式不同。所以你不能使用behave创建的json来使用Cucumber Reports插件生成html报告。当我尝试使用黄瓜报告的行为 json 时,这就是我得到的结果,您还会看到 uri 的 NPE,因为黄瓜 json 期望存在 uri,但行为 json 没有 uri,因此是 NPE。
`[CucumberReport] Processing 1 json files:
[CucumberReport] /var/lib/jenkins/jobs/behave-test/builds/14/cucumber-html-
reports/.cache/results.json
[CucumberReport] Missing report result - report was not successfully completed
[CucumberReport] Build status is left unchanged`
您会看到报告未成功完成。
所以我安装了behavior2cucumber来将behaviour json转换成cucumber json。
pip install behave2cucumber
然后有一个额外的步骤,如下所示。
python -m behave2cucumber -i behave_json.json -o cucumber_json.json
-i 代表输入文件,在我们的例子中是由行为生成的 json 文件
-o 代表输出文件,在我们的例子中是黄瓜兼容的 json 文件
cucumber_json.json 将填充缺少行为 json 的 uri 字段。
它就像魅力一样。
希望对你有帮助。
【讨论】:
因为我使用行为的自动化都在 Jenkins 上运行,所以我可以使用 Jenkins 插件来显示我的 junit 报告。
我认为这个问题可能会对您有所帮助: How can I generate an HTML report for Junit results?
您可以使用来自行为的 junit 结果并遵循此问题中的一些热门答案。
顺便说一句,如果您想使用 jenkins 并且需要“好看”的 html 行为报告,我建议您为您生成 json 输出并使用黄瓜报告器显示 json 输出。
【讨论】:
behave -f json -o path-to-your-output-file。它将测试您的所有功能并为所有功能生成 json 输出。您还可以指定要运行哪些功能behave -f json -o path-to-your-output-file youfeature.feature
Behave 还可以生成 jUnit XML 格式的报告。您只需将 --junit 添加到命令行 [1] 即可启用此功能。有关格式化程序和报告程序的更多信息,请点击此处 [2]。
$ 行为 --junit
[1]http://pythonhosted.org/behave/behave.html?highlight=#cmdoption--junit
【讨论】:
在Python行为框架中生成魅力报告的步骤。
安装魅力
pip install allure-behave
下载 Allure exe 文件 https://bintray.com/qameta/generic/allure2/2.6.0#files/io%2Fqameta%2Fallure%2Fallure%2F2.6.0
解压并将bin路径添加到环境变量(系统变量路径)中。
C:\Users\arya\Downloads\allure-2.6.0\allure-2.6.0\bin
打开cmd 提示符并转到xml 报告所在的位置并给出以下cmd。
输入 allure generate 并给出您的 xml 文件所在的路径。
D:\automation\api\reports>allure generate D:\automation\api\reports
报告成功生成到 allure-report
转到D:\automation\api\reports\allure-report 并在Microsoft Edge 浏览器上打开index.html 文件。
Allure 报告在 Chrome 或 Firefox 或 IE 浏览器中不起作用。
【讨论】: