t.me/atinfo_chat Telegram группа по автоматизации тестирования

Работа testsuit-a (Selenium+ Java+ TestNG)


(Lena) #1

Объясните, пожалуйста...

 

Есть 2 теста:

1. Логин в приложение 

 

public class Login extends TestBase{

@Test

public void log() throws Exception {...

}

}

 

2. Поикс в приложении

 

public class Search extends TestBase{

@Test (dependsOnMethods={"log"})

public void search() throws Exception {...

 

}

 

3. Тест сьют выглядит так:

...

<suite name="Default suite">

  <test verbose="1" name="Default test">

      <classes>

     <class name="com.example.tests.Login"/>

     <class name="com.example.tests.Search"/>

    </classes>

  </test>

</suite>

 

 

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1039)
at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
at org.testng.TestNG.run(TestNG.java:900)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:110)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)java.lang.NullPointerException

 

 

Запускаем тест сьют и получаем такую картину:

Search - skip

Log - passed

 

Почему поиск скипается? Должна ж быть жесткая зависимость - выполнился логин, потом пошел поиск...


(d3unka) #2

Здесь все немного хитрее. dependsOnMethods работает только для методов внутри класса. Если хотите связаться с другим классом, делайте dependsOnGroup, но при этом укажите group = для первого теста, параметров к аннотации @Test


(Lena) #3

спасибо!

да, через группы все работает