Зацикливание тестового сценария или как прогнать один тестовый метод несколько раз в Java + TestNG

Всем привет! Необходимо зациклить 1 тест, чтобы он выполнялся, ну скажем 50 раз. Подскажите, каким образом это организовать? Используемые инструменты: Selenium WD, Java, TestNG, Maven. Заранее спасибо

Разобрался.

Ну раз уже разобрались и создали этот топик, то тогда выложите свое решение, чтобы другие начинающие могли его увидеть. Спасибо.

Решается аннотацией TestNG - invocationCount.

@Test(threadPoolSize = 3, invocationCount = 10,  timeOut = 10000)
public void testServer() {
     //actions
}
1 лайк

Можно копнуть в этом направлении TestNG

public class TestWebServer {
  @Test(parameters = { "number-of-times" })
  public void accessPage(int numberOfTimes) {
    while (numberOfTimes-- > 0) {
     // access the web page
    }
  }
}

Хм, интересно, а какая есть возможность сделать повтор теста, который упал не по ассерту?

Само по себе зацикливание одного и того же сценария via invocationCount - штука, которая может понадобиться в очень редких случаях. ИМХО, для common тестов она бесполезна.

По факту, подобный процесс характерен при тестировании одного сценария с различными данными. В таком случае нужно использовать DataProvider.

Если же стоит задача перезапуска зафейлившихся тестов, существуют две распространенные техники - подсовывание xml с failed тестами (формируется по окончании прогона), либо при помощи IRetryAnalyzer.

Вы всегда можете скомбинировать ITestListener и IRetryAnalyzer для манипуляции зафейлившимися тестами.