testNG中@BeforeTest方法的执行顺序

时间:2018-06-15 10:47:27

标签: java selenium-webdriver testng

我正在尝试使用testng.xml执行测试用例。我已将所有测试运行类放在一个测试中。执行时我注意到第二类(仪表板类)的@BeforeTest方法首先执行。我想执行所有类的@BeforeTest方法,以与testng.xml文件中的类相同的执行顺序执行。请在下面找到图片。

enter image description here 根据图片,我想执行LoginPage类的@BeforeTest方法,然后执行DashboardPage类等等。

我已经使用了alwaysRun = True用于所有@BeforeTest和@BeforeClass我用过上面提到的类

1 个答案:

答案 0 :(得分:0)

您可以使用属性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