如何确保保留TestNG.xml中指定的顺序?

Man*_*ndy 6 testng selenium webdriver selenium-webdriver

在使用TestNG + Selenium时,我无法确保类的执行顺序.下面指定的顺序(在testng.xml中)不起作用 - >首先执行ClassTwo,然后执行ClassOne.

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="ABC" parallel="">
  <test verbose="2" name="xyz" annotations="JDK" preserve-order="true">
    <classes>
      <class name="script.ClassOne"/>
      <class name="script.ClassTwo"/>
    </classes>
  </test>
</suite>
Run Code Online (Sandbox Code Playgroud)

如何确保保留TestNG.xml中指定的顺序?

小智 7

您只需将并行值设置为无

<suite name="ABC" parallel="none">
Run Code Online (Sandbox Code Playgroud)

这个对我有用 !


art*_*nil 5

根据TestNG文档:

默认情况下,TestNG将按照在XML文件中找到的顺序运行测试.如果希望此文件中列出的类和方法以不可预测的顺序运行,请将preserve-order属性设置为false

我建议将该preserve-order属性保留,因为它是默认设置的.

但是,您还有两个其他选项可以强制特定顺序到测试方法/类:

  1. 以编程方式调用测试.
  2. 实现方法拦截器,它将命令测试列表.

  • 但在我的情况下,没有遵循 testng.xml 中定义的执行流程。我希望执行流程应该根据 testng.xml。如果我省略了保留顺序,问题仍然存在。这可能是什么原因? (2认同)