【发布时间】:2018-09-08 02:36:45
【问题描述】:
最新版本中仍然缺少对 pytest 环境小部件的 Allure 支持(请参阅:https://github.com/allure-framework/allure-python/issues/96)
我想知道是否有人找到了解决此缺失功能的方法?例如,我注意到环境数据是从 \allure-report\widgets\environment.json
读取的有没有人成功直接写入环境文件或找到其他解决方法?
【问题讨论】:
最新版本中仍然缺少对 pytest 环境小部件的 Allure 支持(请参阅:https://github.com/allure-framework/allure-python/issues/96)
我想知道是否有人找到了解决此缺失功能的方法?例如,我注意到环境数据是从 \allure-report\widgets\environment.json
读取的有没有人成功直接写入环境文件或找到其他解决方法?
【问题讨论】:
您可以将环境变量以简单的key=value 格式写入名为environment.properties 的文件:
browser=chrome
evn=staging
并把它放到path/to/allure-results/environment.properties 之前用命令行或CI插件生成报告
【讨论】:
终于弄清楚如何将动态值传递给 ENV 小部件。毕竟这真的很容易。
对于使用 Jenkins Allure 插件的人:
我们在 Windows 机器上运行我们的作业(Windows 批处理命令),将一些构建参数传递给 python 测试运行器。
然后在后期构建操作中调用Allure Report。结果路径为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 批处理命令”更改为“执行 shell”并配置 Linux 命令。应该是直截了当的。
【讨论】: