У меня есть несколько тестовых наборов: testng-ui.xml, testng-api.xml, testng-smoke.xml подскажите как запускать один из этих наборов, использую maven? В POM.xml добавил следующие строки:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng-ui.xml</suiteXmlFile>
<suiteXmlFile>src/test/resources/testng-api.xml</suiteXmlFile>
<suiteXmlFile>src/test/resources/testng-smoke.xml</suiteXmlFile>
</suiteXmlFiles>```
Запускаю следующей командой: mvn clean test -Dsurefire.suiteXmlFiles=testng-api.xml
начинается сборка и запускаются все тестовые наборы. Подскажите пожалуйста как сделать, что бы запускался только один тестовый набор в данном случае testng-api.xml ???
Заранее благодарю.
А чтобы иметь возможность запускать все сьюты, создайте ещё один сьют testng-all.xml, в который включите все тесты из указанных сьютов.
Вариант 2
Уберите из pom.xml конфигурирование сьютов .
и запускайте как ранее через параметр -Dsurefire.suiteXmlFiles=src/test/resources/testng-ui.xml
А случае запуска нескольких -Dsurefire.suiteXmlFiles=src/test/resources/testng-ui.xml,src/test/resources/testng-api.xml,src/test/resources/testng-smoke.xml
Избежать полных путей к файла сьютов можно либо храня сьюты в одной папке с pom.xml, либо через переменную с путем к папке со сьютами
теперь можно запускать в командной строке mvn test -PSanityTest - запуститcя только профайл с id SanityTest, запустите в командной строке ` mvn test -PRegression - профайл с id Regression. Можно создать еще третий профайл all - который будет включать оба теста и можно будет его запускать когда надо все тесты
запускает SUITES.xml где описаны еще 3 xml набора для разных браузеров
ну и в самих фатйлах testChrome.xml, testFirefox.xml уже описаны тесты которые надо стартовать и нужные переменные.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="ParentSuite">
<suite-files>
<suite-file path="testChrome.xml"/>
<suite-file path="testIE11.xml"/>
<suite-file path="testFirefox.xml"/>
</suite-files>
</suite>
Запускаете просто по профилям нужные проверки ( test -P chrome, test -P firefox, test -P internet-explorer-11)