5

我正在尝试从一个整体套件文件中运行多个套件。我定义了我需要运行的套件并运行“主”套件文件。我已经使用 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

4 回答 4

0

是您没有正确指定属性的问题吗?它应该是

保留订单=“真”

不是

保护者订单=真

于 2014-10-28T23:38:59.020 回答
0

根据testng 文档

默认情况下,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>

您必须指定

保留顺序=“假”

不是

保留顺序 = 假

于 2017-07-21T12:05:07.113 回答
0

最好的选择是删除套件文件标签(因为它不受设计保留顺序选项的影响)并重构 testng.xml 以使用测试标签和对组或保留顺序的依赖项。

于 2016-03-24T07:04:51.983 回答
-1

在 Suite 标记中,指定属性 thread-count=1,parallel="false"。让我知道这个是否奏效。

于 2014-09-26T08:43:45.190 回答