0

下面的我的 TestNG 配置不起作用:

<test verbose="2" name="JavaScript Layer Tests" preserve-order="true" parallel="false">
  <packages>
    <package name="com.bla.foo"/>
    <package name="com.bla.bar/>
  </packages>
</test>

我基本上想按TestNG顺序运行这些包中的类,并且没有并行性。每个类的方法都使用@dependsOnMethods.

这里的原因是我正在使用Selenium并且一次只需要打开一个浏览器。

如果我切换TestNGxml 文件以列出所有类,那么它工作正常,但这使得添加新类需要更改 xml 文件。

有没有办法让它适用于包裹?我尝试将 parallel 设置为 true 并限制为 1 个线程,但这也不起作用。

4

2 回答 2

0

我们可以通过以下方式指定包。希望这可以帮助

<suite>
    <test name="Any logical name" preserve-order="true" verbose="2">
        <packages>
            <package name="Name of the package 1" />
        </packages>
    </test>

    <test name="Any logical name" preserve-order="true" verbose="2">
            <packages>
                <package name="Name of the package 2" />
            </packages>
        </test>
</suite>
于 2013-07-31T06:32:19.263 回答
0

让我猜猜,您可能会使用 Eclipse 运行这个 TestNG 文件。无论您在 xml 中的配置是什么,您都必须检查您在 IDE 中运行的配置。如果您尝试从 XML 以“测试”模式运行测试,但您的 IDE 可能以“类”模式或“方法”模式运行它。请交叉检查一次。

更新:我不认为 parallel 属性将值设为 false 请参考官方文档。只需删除该属性并尝试如下,

<test verbose="2" name="JavaScript Layer Tests" preserve-order="true">
  <packages>
    <package name="com.bla.foo"/>
  </packages>
  <packages>
    <package name="com.bla.bar/>
  </packages>
</test>

注意:确保每个包都只有一个 TestNG 类文件。

于 2013-07-31T06:01:15.663 回答