t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как в Jenkins запускать определенный TestSuite ?

Теги: #<Tag:0x00007f748b701f78> #<Tag:0x00007f748b701e88> #<Tag:0x00007f748b701d70>

Всем привет. Подскажите пожалуйста, к пример у меня есть три тестовых сюта, как при создании джобы в дженкинсе, указать ранить определенный TestSuite?

А как вы это делаете руками?
Можно задать параметр для сборки, который будет принимать имя нужного сьюта и запускать тесты с ним.

Ну у меня есть 3 файла suite1.xml, suite2.xml, suite3.xml . И я запускаю, локально suite1.xml и тесты бегут.
А вот как это сделать в jenkins? И туда же вопрос, у меня есть 3 конфиг файла с настройками под каждый сьют, как задавать этот конфиг файл в Jenkins?

Настройте сначала задачу на запуск тестов с любым suite1.xml.

Окей, так как это сделать?Возможно есть примеры у вас ? Как задать параметр для сборки?

Если maven:
В pom.xml создаём profile, где указываем id сьюта и название файла сьюта.

В настройках джобы указываем этот профиль, используя ключ -P suiteName

2 Симпатий

Какой командой вы запускаете сьют локально ( со своего компютера) ?

Предположим я запускаю сьют такой командой
mvn test -DsuiteName=suite_1.xml

Значит мне нужно чтобы параметр -DsuiteName был динамичным.
В дженкинсеб в настройке джобы задаем параметр для сьюта и называем его “suiteName”
В настройках запуска джобы тогда мы задаем
mvn test -DsuiteName=${suiteName}

2 Симпатий

Cпасибо работает. А подскажите еще пожалуйста, как при запуске джобы изменять properties файл? К примеру есть файл сonfig где у меня хранится url, email, password и тд… Как мне в настройках джобы задать правильние параметры в файл config, или как скопировать информацию из файка к примеру test в файл config?

Привет. Добавил еще 1 джобу. Решил запустить и у меня стартует 2 сюта. Помогите пожалуйста разобраться
pom

 <build>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <configuration>
                    <testFailureIgnore>false</testFailureIgnore>
                    <suiteXmlFiles>
                        <suiteXmlFile>TestNG.xml</suiteXmlFile>
                    </suiteXmlFiles>
          
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

    </build>
<profiles>
        <profile>
            <id>suite1</id>
            <properties>
                <suite.xml.file>suites/suite1.xml</suite.xml.file>
            </properties>
        </profile>
        <profile>
            <id>suite2</id>
            <properties>
                <suite.xml.file>suites/suite2.xml</suite.xml.file>
            </properties>
        </profile>

TestNG.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suites">

    <suite-files>
        <suite-file path="/suites/suite1.xm"/>
        <suite-file path="/suites/suite2.xml"/>
    </suite-files>

</suite>

Jenkins: clean compile test -P suite2