Я пытаюсь выполнить тесты, используя testng.xml. Я поместил все классы запуска тестов в один тест. При выполнении я замечаю, что первым выполняется метод @BeforeTest 2-го класса (класс приборной панели). Я хочу выполнить методы @BeforeTest всех классов для выполнения в том же порядке выполнения, что и классы в файле testng.xml. Пожалуйста, найдите изображение ниже.
Согласно изображению, я хочу выполнить методы @BeforeTest класса LoginPage, затем класса DashboardPage и так далее ..
Я использовал alwaysRun = True для всех @BeforeTest и @BeforeClass, которые я использовал для упомянутых классов.




Вы можете использовать атрибут dependOnMethods в аннотации.
Этот небольшой тест:
public class StackOFTest {
@BeforeTest
public void first() {
System.out.println("First");
}
@BeforeTest(dependsOnMethods = {"first"})
public void second() {
System.out.println("Second");
}
public static class SubTest extends StackOFTest {
@BeforeTest(dependsOnMethods = "second")
public void subFirst() {
System.out.println("- First");
}
@Test
public void test() {
System.out.println("Test");
}
}
}
Выход:
First
Second
- First
Test
Нужно ли расширять класс, чтобы использовать supportsOnMethods в @beforetest в другом классе