关于python:对于pytest / allure中缺少的环境支持,建议解决方法?

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

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

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

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


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

对于使用Jenkins Allure插件的人:

我们在Windows计算机(Windows Batch Command)上运行我们的作业,将一些构建参数传递给python测试运行程序。

然后在构建后的操作中调用"魅力报告"。结果路径为reports/$BUILD_TAG

$ BUILD_TAG是可用的环境变量(在Windows批处理命令下查找链接)

因此,要使用环境变量或构建参数填充报告,只需在运行测试后使用以下内容创建另一个Windows Batch命令:

1
2
3
4
5
cd reports/%BUILD_TAG%
(
echo BUILD=%build%  
echo ENVIRONMENT=%env%
)>environment.properties

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

一旦您的工作进入了"构建后动作"(即"魅力"报告),它将使用您的environment.properties生成所有原始json。哇哇!

注意:目前已为Windows配置了此功能。在运行作业的过程中,在Linux机器上生成的报告。将" Windows Batch Command"更改为" Execute shell"并配置Linux命令。应该很简单。


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

1
2
browser=chrome
evn=staging

并将其放在path/to/allure-results/environment.properties上,然后使用命令行或CI插件生成报告