Как вызвать и повторно запустить определенный класс из testng.xml

#java #selenium #testing #automated-tests #testng

Вопрос:

В моем testng.xml досье был какой-то набор занятий. Я хочу запустить определенный класс из testng.xml метода тестирования.

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
    <test name="test">
        <classes>
            <class name="TempTest1"/>
            <class name="TempTest2"/>
            <class name="TempTest3"/>
        </classes>
    </test>
</suite>
 

Метод испытаний TestNG

 @Test()
public void tearDown() {
    //tearDown
    TestNG testng = new TestNG();
    List<String> suites = Lists.newArrayList();
    suites.add("testng.xml");//path to xml..
    testng.setTestSuites(suites);
    testng.run();
}
 

Ответ №1:

для программного запуска класса :

 TestNG testng = new TestNG();
testng.setTestClasses(new class [] {TempTest2.class});
testng.run();
 

В этом случае TempTest2 должен работать

Комментарии:

1. Что, если бы у меня было несколько люксов и я хотел бы запустить один класс из определенного люкса.

2. может быть, в этом случае вместо полного квалифицированного пути класса требуется TempTest2.class

3. Хорошо, не могли бы вы, пожалуйста, сказать мне, как я могу ограничить повторный запуск? как вы можете видеть в методе демонтажа, я должен проверить вышеуказанные методы тестирования, такие как (test1, test2…testn), если какой-либо из них не удался, я должен проверить их в методе демонтажа и должен повторно запустить полный набор. Что делать, если моя среда не работает, то тесты будут часто завершаться неудачно, поэтому, основываясь на моем сценарии, он сформирует цикл непрерывных выполнений. Я должен запустить работу Дженкинса, теперь это станет более практичным. Пожалуйста, предложите.

4. Вы, конечно, не хотите выполнять непрерывные выполнения в цикле. Причина в том, что в этом случае время выполнения будет подорвано. Демонтаж не предназначен для этой цели. Что вы можете сделать вместо этого в случае сбоев, так это использовать Listners — возможно, вам следует переопределить onTestFailure() метод из ITestListners

5. Если это простой счетчик, и если вас не волнует статическая переменная и переменная экземпляра.. объявите в своем базовом классе теста и сделайте его статичным