以下是我在 eclipse 中的项目结构:
-> 测试类
---->AccountTest(方法优先级从1-6)
---->BillingTest(方法的优先级从 7-13)
---->HomePageTest(唯一方法的优先级是17)
---->SupportTest(方法优先级从 14-16)
上面的所有测试类都具有按递增顺序设置优先级的方法,如上所示。
现在,当我右键单击 testclasses 包并将其作为 Testng 运行时。它以 HomePageTest 开始执行。
我将我的测试方法的优先级设置如下:
@Test(priority=6, dataProvider="Setup")
我希望按照为每个方法定义的优先级执行,因此优先级为 1 的方法应该首先执行,而不管它在哪个类中。
最佳答案
运行具有优先级的多个类中存在的所有测试的正确方法是通过 testng 文件运行这些测试。因此,在 testng.xml 文件中写入所有类名称,然后通过从包资源管理器中右键单击它来运行 testng 文件--> 运行方式-->TestNG Suite。您的测试用例将根据设置的优先级运行,而不管它们属于哪个类。
你 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>
关于selenium - TestNG 测试没有按照优先级执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54408446/