【问题标题】:dependsOnGroups sequential order-TestngdependsOnGroups 顺序-Testng
【发布时间】:2015-07-10 05:38:11
【问题描述】:

当我尝试执行以下代码时,我对测试方法 E 和 A 的顺序感到困惑。

我的输出顺序是 C->D->E->A->B

public class Example5 
{

    @Test
    public void A()
    {
        System.out.println("A");
    }
    @Test(dependsOnGroups={"MM"})
    public void B()
    {
        System.out.println("B");
    }
    @Test(groups={"MM"})

    public void C()
    {
        System.out.println("C");
    }
    @Test(groups={"MM"})
    public void D()
    {
        System.out.println("D");
    }
    @Test
    public void E()
    {
        System.out.println("E");
    }
}

从输出中,我可以看到测试方法 C 和 D 在 B 方法之前执行(这个我可以理解),但我不明白的是 E 和 A 方法的顺序。

请解释TestNG如何在此代码中遵循顺序

【问题讨论】:

    标签: java selenium selenium-webdriver testng


    【解决方案1】:
    <suite name="Suite-A">
    <test name="test">
        <classes >
            <class name="stack1.LoginTest"></class>
            <methods>
                <include name="A" />
                <include name="E" />
                <include name="B" />
                <include name="C" />
                <include name="D" />
            </methods>
        </classes>
    </test>
    </suite>
    

    使用此套件在类中明确提及方法的地方运行。您可以看到输出为 A &gt; E &gt; C &gt; D &gt; B 。 我想这就是你期望看到的。

    如果你想在代码中设置顺序,你可以使用@Test( priority = 1 )作为你的方法。较低的优先级将首先安排。因此,例如 -2 将在 1 之前执行。

    如果您想保留多个类的顺序,请在 testng.xml 套件中使用 group-by-instances="true"


    相关 Stackoverflow 链接:

    Cedric's博客:
    http://beust.com/weblog/2008/03/29/test-method-priorities-in-testng/

    TestNG 文档:
    http://testng.org/doc/documentation-main.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      相关资源
      最近更新 更多