推荐 pytest/allure 中缺少环境支持的解决方法?

Recommend workaround for the missing environmental support in pytest/allure?

Allure 对其 pytest 环境小部件的支持在最新版本中仍然缺失(参见:https://github.com/allure-framework/allure-python/issues/96

我想知道是否有人找到了解决此缺失功能的方法?例如,我注意到环境数据是从 \allure-report\widgets\environment.json

读取的

有没有人发现直接写入环境文件成功或找到其他解决方法?

您可以将环境变量以简单的 key=value 格式写入名为 environment.properties 的文件:

browser=chrome
evn=staging

并在使用命令行或CI插件

生成报告之前将其放入path/to/allure-results/environment.properties

终于弄明白了如何将动态值传递给 ENV 小部件。毕竟这真的很容易。

对于使用 Jenkins Allure 插件的人:

我们 运行 我们在 Windows 机器上工作(Windows 批处理命令),将一些构建参数传递给 python 测试 运行ner。

然后在 post 构建操作中调用了 Allure Report。结果路径是 reports/$BUILD_TAG

$BUILD_TAG 是一个可用的环境变量(在 Windows 批处理命令下寻找 link)

因此,要让您的报告填充环境变量或构建参数,只需在 运行 您的测试之后创建另一个 Windows 批处理命令,如下所示:

cd reports/%BUILD_TAG%
(
echo BUILD=%build%  
echo ENVIRONMENT=%env%
)>environment.properties

这将使用您的构建信息即时创建一个 environment.properties 文件。

一旦你的工作达到 Post-构建操作(即 Allure 报告),它将生成你所有的原始 json 和你的 environment.properties。哇啦啦!

注意:目前这是为 Windows 配置的。在获取工作 运行 的过程中,在 Linux 个盒子上生成了报告。将 'Windows Batch Command' 更改为 'Execute shell' 并配置 Linux 命令。应该是直截了当的。