如何在 Behave-Python 中生成报告?
How to generate reports in Behave-Python?
对于 Java,有外部报告生成工具,如 extent-report、testNG。 Junit 为单个特征文件生成 xml 格式的输出。要获得详细的报告,我没有在 Behave 框架内看到一个选项或广泛的方法或解决方案。
如何在Behave中生成报表,是否需要添加任何其他工具或框架来生成Behave中的报表?
Behave 还可以生成 jUnit XML 格式的报告。您只需将 --junit 添加到命令行 [1] 即可启用此功能。有关格式化程序和报告程序的更多信息,请参见此处 [2]。
$ behave --junit
[1] http://pythonhosted.org/behave/behave.html?highlight=#cmdoption--junit
因为我使用 behave 的自动化都是 运行 在 Jenkins 上,所以我可以使用 Jenkins 插件来显示我的 junit 报告。
我认为这个问题可能对您有所帮助:
How can I generate an HTML report for Junit results?
您可以使用来自 behave 的 junit 结果,并遵循此问题中的一些最佳答案。
顺便说一句,如果您想使用 jenkins 并且需要 'good-looking' html 行为报告,我建议您让行为生成 json 输出并显示json 使用 cucumber 报告器的输出。
您可以为您的 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。
我知道这个问题是 asked/answered 很久以前的事了。
但我想到了对我有用的解决方案。
Cucumber json 架构不同于 Behave 架构。因此,您不能使用由 behave 创建的 json 来使用 Cucumber Reports 插件生成 html 报告。当我尝试 behave json with cucumber 报告时,这就是我得到的,你也会看到 uri 的 NPE,因为 cucumber json 期望 uri 存在但 behave 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`
您会看到报告未成功完成。
所以我安装了 behave2cucumber 以将 behave json 转换为 cucumber json。
pip install behave2cucumber
然后再进行如下步骤。
python -m behave2cucumber -i behave_json.json -o cucumber_json.json
-i 在我们的案例中代表输入文件 json 由 behave
生成的文件
-o 在我们的案例中代表输出文件 cucumber compatible json file
cucumber_json.json 将填充缺少行为 json.
的 uri 字段
它很有魅力。
希望对您有所帮助。
在 Python
行为框架中生成魅力报告的步骤。
安装 allure
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
浏览器中不起作用。
为了能够以简单的方式生成执行报告,我们在 Behave 之上实现了以下包装器,称为 BehaveX,它不仅可以生成 HTML 格式的报告,还可以 xml 和 json 格式。它还允许我们并行执行测试,并提供一些额外的功能来简化敏捷实践的实施:https://github.com/hrcorval/behavex
对于 Java,有外部报告生成工具,如 extent-report、testNG。 Junit 为单个特征文件生成 xml 格式的输出。要获得详细的报告,我没有在 Behave 框架内看到一个选项或广泛的方法或解决方案。
如何在Behave中生成报表,是否需要添加任何其他工具或框架来生成Behave中的报表?
Behave 还可以生成 jUnit XML 格式的报告。您只需将 --junit 添加到命令行 [1] 即可启用此功能。有关格式化程序和报告程序的更多信息,请参见此处 [2]。
$ behave --junit
[1] http://pythonhosted.org/behave/behave.html?highlight=#cmdoption--junit
因为我使用 behave 的自动化都是 运行 在 Jenkins 上,所以我可以使用 Jenkins 插件来显示我的 junit 报告。
我认为这个问题可能对您有所帮助: How can I generate an HTML report for Junit results?
您可以使用来自 behave 的 junit 结果,并遵循此问题中的一些最佳答案。
顺便说一句,如果您想使用 jenkins 并且需要 'good-looking' html 行为报告,我建议您让行为生成 json 输出并显示json 使用 cucumber 报告器的输出。
您可以为您的 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。
我知道这个问题是 asked/answered 很久以前的事了。
但我想到了对我有用的解决方案。
Cucumber json 架构不同于 Behave 架构。因此,您不能使用由 behave 创建的 json 来使用 Cucumber Reports 插件生成 html 报告。当我尝试 behave json with cucumber 报告时,这就是我得到的,你也会看到 uri 的 NPE,因为 cucumber json 期望 uri 存在但 behave 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`
您会看到报告未成功完成。
所以我安装了 behave2cucumber 以将 behave json 转换为 cucumber json。
pip install behave2cucumber
然后再进行如下步骤。
python -m behave2cucumber -i behave_json.json -o cucumber_json.json
-i 在我们的案例中代表输入文件 json 由 behave
生成的文件-o 在我们的案例中代表输出文件 cucumber compatible json file
cucumber_json.json 将填充缺少行为 json.
的 uri 字段它很有魅力。
希望对您有所帮助。
在 Python
行为框架中生成魅力报告的步骤。
安装 allure
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
浏览器中不起作用。
为了能够以简单的方式生成执行报告,我们在 Behave 之上实现了以下包装器,称为 BehaveX,它不仅可以生成 HTML 格式的报告,还可以 xml 和 json 格式。它还允许我们并行执行测试,并提供一些额外的功能来简化敏捷实践的实施:https://github.com/hrcorval/behavex