Установите переменные среды для отчета Allure из конвейерного скрипта - PullRequest
0 голосов
/ 12 декабря 2018

Я выполняю параметризованные задания Jenkins со следующей конфигурацией конвейера allure step:

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

Параметры сборки, которые устанавливаются перед началом работы, становятся доступными в пределах getEnv() в моих тестах,Я хотел бы показать некоторые из них в разделе Environment на панели инструментов отчета Allure.Например, есть параметр сборки HOST, который задает базовый URL-адрес приложения.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 08 февраля 2019

Раскрытие: я создал библиотеку 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);
    }
}
...