Как указать тесты TestNG для запуска в сборке Jenkins? - PullRequest
0 голосов
/ 07 февраля 2019

Я использую Java, Selenium, Maven и TestNG для выполнения автоматических тестов.Я использую Jenkins для клонирования репозитория GitHub и запуска тестов при запуске сборки.В настоящее время у меня есть тесты для нескольких приложений в одном проекте.Мой файл testng.xml выглядит примерно так: «appOne» - это одно приложение, а «appTwo» - другое приложение, оба запускают «производственные» сгруппированные тесты.

<test name="appOne">
    <groups>
        <run>
            <include name = "production" />
        </run>
    </groups>
</test>

<test name="appTwo">
    <groups>
        <run>
            <include name = "production" />
        </run>
    </groups>
</test>

Есть ли способ, которым я могу пройтиэти параметры через Jenkins, поэтому я могу выбирать, какие приложения запускать с каждой сборкой Jenkins.Этот сценарий также может произойти, если я хочу запустить все тесты в группе «Тест».В настоящее время я делаю изменения в файле testng.xml, а затем фиксирую свое изменение в GitHub.

Или было бы лучше иметь отдельный проект для каждого приложения, поэтому отдельная сборка для каждого приложения с использованием отдельного testngXML-файлы?

Ответы [ 2 ]

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

@ mbn217 дал мне ответ в комментариях.Я удалил все группы из моего файла testng.xml.Затем я разделяю свой файл testng.xml на приложение (один файл на приложение).В моем pom.xml мой плагин surefire выглядит следующим образом ...

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <suiteXmlFiles>
            <suiteXmlFile>${testngTarget}</suiteXmlFile>
        <suiteXmlFiles>
        <groups>${groupTarget}</groups>
    </configuration>
</plugin>

В Jenkins я добавил, что это была параметризованная сборка, и добавил имена и значения параметров по умолчанию.Работал отлично.

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

Или было бы лучше иметь отдельный проект для каждого приложения, поэтому отдельная сборка для каждого приложения с использованием отдельных файлов testng.xml?

Если это два разных приложенияи нет разумной причины, было бы лучше разделить работу для каждого приложения в jenkins.

...