#selenium-webdriver #testng #testng-eclipse #testng-annotation-test
Вопрос:
Я создал следующий метод для выполнения методов, указанных в списке .class:
public static <T> void executeTestNew(String testName, List<Class<?>> test) {
try {
List<XmlClass> parsedTests = test.stream().map(XmlClass::new).collect(Collectors.toList());
TestNG testng = new TestNG();
XmlSuite xmlSuite = new XmlSuite();
xmlSuite.setGroupByInstances(true);
xmlSuite.setName(testName);
XmlTest xmlTest = new XmlTest(xmlSuite);
xmlTest.setName(testName);
xmlTest.setClasses(parsedTests);
testng.setXmlSuites(Collections.singletonList(xmlSuite));
testng.setVerbose(2);
testng.run();
} catch (Exception ex) {
System.out.printf("There was a problem executing %s n", testName);
ex.printStackTrace();
} finally {
System.out.printf("%s finished n", testName);
}
}
Из основного метода я передаю им несколько тестов:
executeTestNew("Test", Arrays.asList(
Test1.class,
Test2.class,
Test3.class,
Test4.class,
Test5.class,
Test6.class,
Test7.class,
Test8.class,
Test9.class));
Проблема в том, что одновременно выполняется только 5 тестов, если вы попытаетесь выполнить более 5 за один сеанс, они будут пропущены.
Редактировать:
Я проверил, что если утверждения (Test NG утверждает) не выполняются ни в одном из тестов, остальные тесты не выполняются.
Как я могу это исправить?
Комментарии:
1. Я только что взял ваш метод, и он выполнил все 7/7 тестовых классов, которые я передал этому методу. Попробуйте оставить в своем списке только пропущенные занятия и повторите попытку. Я думаю, что проблема где-то вне кода, который вы демонстрируете..
2. Я проверил, что если утверждения внутри тестов не выполняются, остальные тесты не выполняются
3. Просто добавил явное
Assert.fail()
в один из моих тестов. По-прежнему отображаются все выполненные тесты, но 1 не удалось. Никаких пропусков.4. @NexussimLements вы используете последнюю версию testng?