jenkins - 从管道脚本将环境变量设置为 Allure 报告
问题描述
我正在使用以下allure
步骤的管道配置运行 Jenkins 参数化作业:
stage('Generate reports') {
allure([
includeProperties: false,
jdk : '',
properties : [],
reportBuildPolicy: 'ALWAYS'
results : [[path: webdriverTestResultsPath], [path: unitTestResultsPath]]])
}
在开始工作之前设置的构建参数getEnv()
在我的测试中可用。我想在Environment
Allure 报告的仪表板部分展示其中的一些。例如,有一个指定基本应用程序 URL 的 HOST 构建参数。
有没有办法做到这一点?
解决方案
披露:我创建了处理此问题的 Java 库:https ://github.com/AutomatedOwl/allure-environment-writer
它使用 TransformerFactory 在测试的任何阶段将 environment.xml 写入 allure-results 路径。如果从清理的构建运行,它还会检查目录是否存在。
使用示例:
import static com.github.automatedowl.tools.AllureEnvironmentWriter.allureEnvironmentWriter;
public class SomeTests {
@BeforeSuite
void setAllureEnvironment() {
allureEnvironmentWriter(
ImmutableMap.<String, String>builder()
.put("Browser", "Chrome")
.put("Browser.Version", "70.0.3538.77")
.put("URL", "http://testjs.site88.net")
.build(), System.getProperty("user.dir")
+ "/allure-results/");
}
@Test
void someTest() {
Assert.assertTrue(true);
}
}
推荐阅读
- javascript - pulumi 卡在 gcp.organizations.getIAMPolicy
- php - 为什么 fopen() 中的某些访问模式会在我的新服务器上引发 PHP 警告?
- ruby - Microsoft Teams 在文本中转义下划线
- graphics - 我是否必须进行 Z 排序?
- reactjs - 使用多个可创建的 reactjs 材料 ui 添加自动完成功能
- arrays - 将字符串转换为数组 perl
- r - 下一个行为如何发生(Hmisc 在哪里/何时导出`[`)以及在哪里解决它?
- c# - Powershell:将对象数组(SSRS.ReportingServices.CatalogItem)传递给函数
- mysql - 使用“-interval 5 HOUR”得到带有从句的错误
- python-3.x - numpy 多处理性能