最新版本中仍然缺少对其 pytest 环境小部件的 Allure 支持(请参阅: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 Batch Command(,将一些构建参数传递给python测试运行器。
然后在构建后操作调用诱惑报告。结果路径reports/$BUILD_TAG
$BUILD_TAG 是一个可用的环境变量(在 Windows 批处理命令下查找链接(
因此,若要使用环境变量或生成参数填充报表,只需在运行测试后使用如下所示的内容创建另一个 Windows 批处理命令:
cd reports/%BUILD_TAG%
(
echo BUILD=%build%
echo ENVIRONMENT=%env%
)>environment.properties
这将使用您的构建信息动态创建一个 environment.properties 文件。
一旦你的作业进入构建后操作(即 Allure 报告(,它将使用你的 environment.properties 生成所有原始 json。哗啦啦!
注意:这是目前为Windows配置的。在运行作业的过程中,在 Linux 盒子上生成报告。将"Windows 批处理命令"更改为"执行外壳"并配置 Linux 命令。应该直截了当。