与webdriver和testNG的Selenium网格

时间:2015-04-14 08:19:00

标签: java selenium-webdriver testng selenium-grid

我遇到了以下问题。我已经设置了一个包含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

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

尝试在xml

中设置逐个实例
<suite  group-by-instances="true">

<test group-by-instances="true">

答案 1 :(得分:0)

<test name="testSuite2" parallel="false">

似乎也在做你需要的事。