gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:08:21 27 4
gpt4 key购买 nike

我正在使用带有 testng 的 Java/Selenium 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;
}

最佳答案

您需要在您的 testng xml 中将属性设置为 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>

希望对你有帮助:)

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

关于java - 如何在同一台机器上运行多个 selenium 测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32578758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com