我的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。如果需要更多信息或者我不清楚,请告诉我。
答案 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将在同一个线程中运行同一个实例中的所有方法,但两个不同实例上的两个方法将在不同的线程中运行。