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

java
testng
Теги: #<Tag:0x00007fedb9023d80> #<Tag:0x00007fedb9023c40>

(Дмитрий Нечаев) #1

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

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

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


(Sergey Korol) #2

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


(Sergey QA) #3

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

<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>

(Nik Sidorenko) #4

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

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


(Дмитрий Нечаев) #5

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


(Sergey Korol) #6

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


(Eugene Moskalenko) #7

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