TestNG:使用<suite-files>标记</suite-files>运行保留顺序的多个套件

时间:2014-09-24 11:00:56

标签: testng suite

我正在尝试从一个整体套件文件中运行多个套件。我定义了我需要运行的套件并运行&#34; master&#34;套件文件。我已经使用preserve-order按顺序运行每个套件,但行为并不像我期望的那样。它似乎是一个接一个地直接运行它们,几乎是平行的。

有没有人知道我可以执行套件的方式,保留订单,理想情况下等待第一套房在第二套房运行之前完成?

我的套件设置如下:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="My test suite" preserver-order=true>
    <suite-files>
        <suite-file path="Test1.xml"></suite-file>
        <suite-file path="Test2.xml"></suite-file>
        <suite-file path="Test3.xml"></suite-file>
    </suite-files>
</suite>

此致 亚茨科

4 个答案:

答案 0 :(得分:0)

您是否未正确指定属性?它应该是

  

保持阶= “真”

  

保护者阶=真

答案 1 :(得分:0)

最好的选择是删除suite-file标记(因为它不受设计的preserve-order选项影响)和refactor testng.xml以使用测试标记和依赖于group或preserver-order。

答案 2 :(得分:0)

根据testng documentation

  

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

此外,如果您希望执行以不可预测的方式运行,您可以按照以下方式执行。

<suite name="My test suite" preserver-order="false">
    <suite-files>
        <suite-file path="Test1.xml"></suite-file>
        <suite-file path="Test2.xml"></suite-file>
        <suite-file path="Test3.xml"></suite-file>
    </suite-files>
</suite>

您必须指定

  

preserve-order =“false”

不是

  

preserve-order = false

答案 3 :(得分:-1)

在Suite标记中,指定属性thread-count = 1,parallel =&#34; false&#34;。如果有效,请告诉我。