通过管道脚本将环境变量设置为“魅力报告”

时间:2018-12-12 11:49:00

标签: jenkins jenkins-pipeline allure autotest

我正在使用allure步骤的以下管道配置来运行Jenkins参数化的作业:

stage('Generate reports') {
    allure([
        includeProperties: false,
        jdk              : '',
        properties       : [],
        reportBuildPolicy: 'ALWAYS'
        results          : [[path: webdriverTestResultsPath], [path: unitTestResultsPath]]])
}

在开始作业之前设置的Build参数在我的测试的getEnv()中可用。我想在“魅力”报告的仪表板的Environment部分中显示其中的一些。例如,有一个HOST build参数指定基本应用程序的URL。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

披露:我已经创建了处理以下问题的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);
    }
}