Насколько я знаю, в TestNG нет простого способа сделать это. Параметр аннотации invocationCount
работает только на уровне метода, а не на классе, поэтому аннотирование вашего класса с помощью @Test(invocationCount = 3)
не работает.
Поскольку вы упоминаете Selenium, я предполагаю, что вы пытаетесь автоматизировать некоторые из них. повторные действия на веб-странице. Если это так, то я думаю, что идеологически вам лучше всего извлечь код из этих трех методов и просто написать другой тест, который вызывает эти внутренние компоненты, например:
@Test(priority = 1)
public void method1() {
stuff1();
}
@Test(priority = 2)
public void method2() {
stuff2();
}
@Test(priority = 3)
public void method3() {
stuff3();
}
@Test
public void complexTest() {
for (int i = 0; i < 3; i++) {
stuff1();
stuff2();
stuff3();
}
}
private void stuff1() {
System.out.print("method1");
}
private void stuff2() {
System.out.print("method2");
}
private void stuff3() {
System.out.print("method3");
}
Хорошая практика - рассматривать каждый тест как атом c тест, который может либо провалиться, либо пройти, и, если вы хотите протестировать какой-либо сценарий, который выполняет определенный набор действий три раза, лучше представьте новый тест для этого и сделайте его ясно и явно «рассказывать историю» теста.