微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java-如何在同一台机器上运行多个硒测试套件

我正在将Java / Selenium Webdriver与testng一起使用来运行我的测试自动化,我有许多自动化项目,每个项目都使用一个testing.xml,如何在同一台计算机上同时运行两个或多个套件,
这是我用于创建driverInstance对象的代码

public WebDriver getDriverInstance(
                                    String Url,
                                    String browser ) throws MalformedURLException {

    WebDriver driver = null;
    URL url = new URL( Url );
    if( browser.equals( "firefox" ) ) {
        DesiredCapabilities capability = DesiredCapabilities.firefox();
        driver = new RemoteWebDriver( url, capability );
    } else if( browser.equals( "chrome" ) ) {
        DesiredCapabilities capability = DesiredCapabilities.chrome();
        driver = new RemoteWebDriver( url, capability );
    } else if( browser.equals( "IE" ) ) {
        DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
        driver = new RemoteWebDriver( url, capability );
    }
    return driver;
}

解决方法:

您需要在testng xml中将set属性设置为parallel =“ tests”.

<suite name="Parallel test runs" parallel="tests" thread-count="2">

一个“并行”参数.设置为“测试”是因为我们要并行运行测试.另一个参数是“线程数”.如果将其设置为2,则将打开两个浏览器,并且将从列表中运行前两个测试.如果线程数为5,则将打开五个浏览器,所有五个测试将并行执行!

对于测试,您的testng.xml结构应如下所示:-

<!DOCTYPE suite SYstem "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test runs" parallel="tests" thread-count="2">

<test name="T_01">
    <classes>
        <class name="testNG.Parallel.Test01" ></class>
    </classes>
</test>

<test name="T_02">
    <classes>
        <class name="testNG.Parallel.Test02" ></class>
    </classes>
</test>

<test name="T_03">
    <classes>
        <class name="testNG.Parallel.Test03" ></class>
    </classes>
</test>

<test name="T_04">
    <classes>
        <class name="testNG.Parallel.Test04" ></class>
    </classes>
</test>

<test name="T_05">
    <classes>
        <class name="testNG.Parallel.Test05" ></class>
    </classes>
</test>

</suite>

如果要并行运行2个类

<suite name="Parallel test suite" parallel="classes" thread-count="2">

对于类,您的testng.xml结构应如下所示:-

<!DOCTYPE suite SYstem "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="classes" thread-count="2">
  <test name="Test 1">
    <classes>
      <class name="com.parallel.TestParallelClassOne"/>
      <class name="com.parallel.TestParallelClasstwo"/>
    </classes>
  </test>
</suite>

现在,您需要将两个项目类添加到同一项目的不同包中,并使用我的1个示例testng结构并添加上述属性.

如何运行两个套件:

<suite name="allSuites">
  <suite-files>
    <suite-file path="suite1.xml" />
    <suite-file path="suite2.xml" />
    ...
  </suite-files>
</suite>

希望它能对您有所帮助:)

如果仍然遇到任何问题,请与我联系:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐