首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于TestNG的硒测试不并行运行

基于TestNG的硒测试不并行运行
EN

Stack Overflow用户
提问于 2018-01-22 13:30:02
回答 2查看 5K关注 0票数 3

我正在使用下面的TestNG Config来启用Selenium测试的并行执行。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="Test-Automation" parallel="methods" thread-count="2" verbose="1">

    <test name="Suite Test">
        <classes>
            <class name="SampleTest">
                <methods>
                    <include name="firstTest"/>
                    <include name="secondTest"/>
                    <include name="thirdTest"/>
                </methods>
            </class>
        </classes>
    </test>
</suite>

Java代码:

代码语言:javascript
复制
@Test(dataProvider = "TestData")
public void firstTest(String data){
   //Code
}

@Test(dataProvider = "TestData")
public void secondTest(String data){
   //Code
}

@Test(dataProvider = "TestData")
public void thirdTest(String data){
   //Code
}

预计Selenium测试将并行运行。我希望打开两个浏览器并运行测试脚本。

但是我看到只有一个浏览器,所有三个测试都是一个接一个地运行,而不是并行运行。我尝试过使用test、方法、类、实例选项来表示“并行”属性。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-22 14:37:11

这是由于TestNG 6.13.1中的一个错误(有关更多细节,请参见GITHUB 1636 )。

我已经在TestNG的最新快照(6.14-快照)中修正了这个问题,这应该可以在发布的TestNG (6.14)版本中使用。

但在此之前,请将您的套件xml文件修改为如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="Test-Automation" parallel="methods" thread-count="2" verbose="1">
    <test name="Suite Test" parallel="methods" thread-count="2" verbose="1">
        <classes>
            <class name="SampleTest">
                <methods>
                    <include name="firstTest"/>
                    <include name="secondTest"/>
                    <include name="thirdTest"/>
                </methods>
            </class>
        </classes>
    </test>
</suite>

解决方法基本上也是在<test>级别添加属性<test>

票数 5
EN

Stack Overflow用户

发布于 2018-01-22 13:41:26

分离所有测试,然后使用parallel=“测试”尝试

代码语言:javascript
复制
    <test name="Suite Test1">
        <classes>
              <class name="//..//packg name..SampleTest">

            </class>
        </classes>
    </test>
  <test name="Suite Test2">
        <classes>
            <class name="//..//SampleTest">

            </class>
        </classes>
    </test>
  <test name="Suite Test3">
        <classes>
            <class name="//..//packg name..SampleTest">

            </class>
        </classes>
    </test>

</suite>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48382753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档