Как запустить повторяющие тесты в TestNg

Всем привет. В общем случае, мне нужно сделать следующее:

<suite name="Suite1" verbose="1" >
    <test name="Positive">
        <classes>
            <class name="Test1"/>
            <class name="Test2"/>
            <class name="Test1"/>
        </classes>
    </test>
</suite>

а запускается только первые два. Как сделать, чтобы запускались все же 3 теста?

А зачем такое делать? Чего вы этим пытаетесь добиться?

1 лайк

Непонятно зачем, но вот так можно по идее:

<suite name="Suite1" verbose="1" >
    <test name="Positive">
        <classes>
            <class name="Test1"/>
            <class name="Test2"/>
        </classes>
    </test>
    <test name="Positive2">
        <classes>
            <class name="Test1"/>
        </classes>
    </test>
</suite>

+1 к Зачем? Есть подозрение, что тесты зависят один от другого.

Если Вам просто нужно запустить Test1 2 раза, можно воспользоваться параметром к анотации Test прямо в коде
@Test (invocationCount = 2)

Я тестирую API и у меня есть запрос, который осуществляет вылогинивание пользователя. Так вот, для проверки необходимого мне функционала мне нужно несколько раз авторизоваться и вылогиниться.

А зачем это делать отдельными тестами? Больше походит на precondition / postcondition. @BeforeMethod / @AfterMethod вам в помощь.

2 лайка

действительно больше подходит к прекондишен, да еще и в хелперы вынести можно, для более удобного использования. Я у себя именно так и сделал, да еще у меня и авторизации разные есть…