TestNG按顺序运行测试

时间:2016-06-29 17:41:23

标签: java xml testng

我的testng.xml文件如下:

use std::ops::Index;

struct Bounded {
    idx: usize,
}

impl Index<Bounded> for [i32; 4] {
    type Output = i32;

    fn index(&self, b: Bounded) -> &i32 {
        unsafe { self.get_unchecked(b.idx) }
    }
}

此文件首先调用我的TestRunner1并获取所有测试用例实例,然后调用TestRunner2,收集所有实例并开始执行所有测试实例。如何控制流程以便我首先运行TestRunner1,一旦执行完成,我就可以从文件中启动TestRunner2。如果需要更多信息或者我不清楚,请告诉我。

1 个答案:

答案 0 :(得分:2)

parallel =&#34;实例&#34; 更改为 parallel =&#34;方法&#34; ,它们将并行执行TestRunner1和TestRunner2的方法但TestRunner2将在TestRunner1

完成后执行

必要的变更: -

<test name="Excel Test" parallel="methods">
    <classes>
         <class name="com.selenium.engine.TestRunner1"> </class>
    </classes>
</test>
<test name="Excel Test 1" parallel="methods">
    <classes>
         <class name="com.selenium.engine.TestRunner2"> </class>
    </classes>
</test>
  • parallel =&#34;方法&#34;:TestNG将在不同的线程中运行所有测试方法。依赖方法也将在不同的线程中运行,但它们将遵循您指定的顺序。

  • parallel =&#34; tests&#34;:TestNG将在同一个线程中运行相同标记中的所有方法,但每个标记将位于一个单独的线程中。这允许您将所有非线程安全的类分组,并保证它们都将在同一个线程中运行,同时利用TestNG尽可能多的线程来运行测试。

  • parallel =&#34; classes&#34;:TestNG将在同一个线程中运行同一个类中的所有方法,但每个类将在一个单独的线程中运行。

  • parallel =&#34; instances&#34;:TestNG将在同一个线程中运行同一个实例中的所有方法,但两个不同实例上的两个方法将在不同的线程中运行。

参考: -
TestNG Documentation on Parallel running