TestNG 测试未按优先级执行

TestNG test are not getting executed as per the priority

下面是我在 eclipse 中的项目结构:

->测试classes

---->AccountTest(方法优先级从1-6)

---->BillingTest(方法优先级从7-13)

---->HomePageTest(唯一方法的优先级为17)

---->SupportTest(方法优先级从 14-16)

上面的所有测试 classes 都有如上所示按递增顺序设置优先级的方法。

现在,当我右键单击测试classes 包并将其运行 作为Testng。它以 HomePageTest 开始执行。

我将测试方法的优先级设置如下:

@Test(priority=6, dataProvider="Setup")

我希望按照为每个方法定义的优先级执行,因此优先级为 1 的方法应该首先执行,而不管它在哪个 class 中。

运行 多个 类 中所有测试的正确方法是 运行 testng 文件。因此,在 testng.xml 文件中写入所有 类 名称,然后在包资源管理器中右键单击它 运行 testng 文件--> 运行 As-->TestNG套房。您的测试用例将根据设置的优先级 运行 而不管它们属于 类。

你 testng.xml 应该看起来像:

<test name="TestSuiteName">
    <classes>
        //Insert the whole path of the classes here like
        <class name="packageName.AccountTest" /> 
        <class name="packageName.BillingTest" />
        <class name="packageName.HomePageTest" />
        <class name="packageName.SupportTest" />
    </classes>
</test>

TestNG 运行s 测试用例按优先顺序排列。如果测试方法没有优先级,则默认情况下 TestNG 将优先级设置为 0。在您的情况下,在 HomePageTest class 中可能有一些优先级为 0 的方法。要么设置所有方法的优先级,要么在中使用测试方法xml 运行ner 文件到 运行 给定顺序

 <test name="DummyTest">
  <classes>
     <class name="apitestset.inventory.Test">
                <methods>
                    <include name="create"/>
                    <include name="update"/>
                    <include name="get"/>
                    <include name="check"/>
                    <include name="initiate"/>
                    <include name="confirm"/>
                    <include name="extend"/>
                </methods>
            </class>
<classes>

此处测试class 有 7 个方法,它们 运行 按照 xml 运行 ner 文件中给出的顺序。如果您使用 xml 运行ner 文件中的方法,请不要设置优先级。