Добрый день, подскажите пожалуйста - есть несколько кейсов, но запускается только один кейс (последний). Что нужно чтобы кейсы выполнялись один за другим?
@Test
public void ValidLoginValidPassword() {
LoginPage loginpage = new LoginPage(driver);
loginpage.ServerURL(“https://cheftest.com”);
loginpage.LoginPassword(“santaalania”,“123456”);
loginpage.ClickButton(“com.apg.forms:id/LoginFragment_LoginBtn”);
loginpage.SelectConfig(“ListItemView_Title”);
}
@Test
public void EmptyLoginEmptyPassword() {
LoginPage loginpage = new LoginPage(driver);
loginpage.ServerURL(“https://cheftest.com”);
loginpage.LoginPassword(“”,“”);
loginpage.ClickButton(“com.apg.forms:id/LoginFragment_LoginBtn”);
loginpage.GetMessageText().contains(“User Name field cannot be empty.”);
loginpage.ClickButton(“android:id/content”);
}
@AfterTest
public void tearDown() {
driver.close();
}
}
Testng запускается либо через xml файл, где указаны нужные тесты для запуска, либо через IDE. Не знаю, как в эклипсе, но в идее есть кнопки отдельные - запустить тест конкретный или весь тестовый класс. Посмотрите, может вы тоже запускаете один тест
Я бы шаги открыть и закрыть вынес в отдельные методы с анотациями @BeforeMethod и @AfterMethod соответственно. На кописпасту похоже.
Если нужно полностью убить драйвер - в @AfterMethod с driver.quit() или driver.dispose().
А вообще, да - TestNG
Эм, тут есть 1 момент. Вам нужно понять как запускаются тесты и аннотации @Before… и @After… + Нужно понимать состояние объекта в момент выполнения теста. Тестовый класс в первую очередь объект (юзайте дебагер). TestNG не гарантирует запуск тестов по порядку. Поэтому есть priority.