如何在 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

[2] http://pythonhosted.org/behave/formatters.html

因为我使用 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 行为框架中生成魅力报告的步骤。

  1. 安装 allure

    pip install allure-behave

  2. 下载 Allure exe 文件 https://bintray.com/qameta/generic/allure2/2.6.0#files/io%2Fqameta%2Fallure%2Fallure%2F2.6.0

  3. 解压并将bin路径添加到环境变量(系统变量路径)中

    C:\Users\arya\Downloads\allure-2.6.0\allure-2.6.0\bin

  4. 打开 cmd 提示并转到 xml 报告所在的位置并提供以下 cmd.

    键入 allure generate 并给出 xml 文件所在的路径。

    D:\automation\api\reports>allure generate D:\automation\api\reports

    报告成功生成到 allure-report

  5. 转到 D:\automation\api\reports\allure-report 并在 Microsoft Edge 浏览器上打开 index.html 文件。

Allure 报告在 ChromeFirefoxIE 浏览器中不起作用。

为了能够以简单的方式生成执行报告,我们在 Behave 之上实现了以下包装器,称为 BehaveX,它不仅可以生成 HTML 格式的报告,还可以 xml 和 json 格式。它还允许我们并行执行测试,并提供一些额外的功能来简化敏捷实践的实施:https://github.com/hrcorval/behavex