我遇到了以下问题。我设置了一个包含 2 个节点的网格,以便并行运行测试。我的 suite.xml 文件有两组,每个节点一组:
<suite name="testSuites" configfailurepolicy="continue" thread-count="2" parallel="tests">
test name="testSuite1" preserve-order="true">
<classes>
<class name="testA1" />
<class name="testB1" />
<class name="testC1" />
</classes>
</test>
<test name="testSuite2" preserve-order="true">
<classes>
<class name="testA2" />
<class name="testB2" />
<class name="testC2" />
</classes>
</test>
每个类,例如 testA1
都有以下 testNG 配置:
@BeforeClass(alwaysRun = true)
public void createInitialData() {
}
@Test(alwaysRun = true, description = "bla bla")
public void testStep_1() throws Exception{
}
@Test(alwaysRun = true, description = "bla bla ", dependsOnMethods ="testStep_1" )
public void testStep_2() {
}
运行时我注意到在执行过程中,测试按测试步骤顺序执行,这意味着:
testA1-testStep_1, testB1-testStep_1, testC1-testStep_1, testA1-testStep_2, testB1-testStep_2, testC1-testStep_2
本来应该是:
testA1-testStep_1, testA1-testStep_2, and then testB1-testStep_1, testB1-testStep_2, testC1-testStep_1, testC1-testStep_2
有什么建议吗?
最佳答案
尝试在 xml 中设置按实例分组
<suite group-by-instances="true">
或
<test group-by-instances="true">
关于java - 带有 webdriver 和 testNG 的 Selenium 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29622365/