推荐 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 命令。应该是直截了当的。
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 命令。应该是直截了当的。