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

how to run more then one selenium testing suite on the same machine

我正在使用 Java/Selenium 带有 testng 的 webdriver 运行 我的测试自动化,我有很多自动化项目,每个项目都在使用一个测试 suite.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;
}

您需要在您的测试中将属性设置为 parallel="tests" xml

<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>

希望对您有所帮助:)

如果仍然遇到任何问题,请回复我:)