gpt4 book ai didi

java - 如何在没有 Selenium 网格的情况下在浏览器的多个实例中并行运行单个测试用例

转载 作者:行者123 更新时间:2023-12-02 06:27:49 25 4
gpt4 key购买 nike

我正在设置一个框架,并希望在多个浏览器实例中并行运行一个测试方法(点击 url 然后执行一些操作)(例如:同时打开约 5 个 Chrome 浏览器实例来点击 URL)

我之前已经能够并行运行不同的测试方法,但我想一次多次运行单个测试用例(并行)

GoogleTest.java

@Test(invocationCount=2)
public void hitUrl() throws Exception {
WebDriver driver = getDriver();
driver.get("https://google.com");
}

TestNG.xml

<suite thread-count="2" verbose="2" name="Gmail Suite"
annotations="JDK" parallel="methods">

<test name="Google_Test">
<classes>
<class name="big.GoogleTest">
<methods>
<include name="hitUrl" />
</methods>
</class>
</classes>
</test>

我希望同时打开两个 chrome 浏览器实例,但它们相继在单个浏览器实例中运行。

最佳答案

@Test(invocationCount= int Values)它将在同一浏览器中针对指定值运行您的代码。

您可以在每次要运行该类时创建一个节点,然后按 test 进行并行化。您还希望将并行化属性移至 <suite>节点。例如:

TestNG.xml

<suite name="ParallelTestingGoogle" verbose="1" parallel="tests" thread-count="5">
<test name="1st">
<classes>
<class name="packageName.className"/>
</classes>
</test>
<test name="2nd">
<classes>
<class name="packageName.className" />
</classes>
</test>
<test name="3rd">
<classes>
<class name="packageName.className" />
</classes>
</test>
<test name="4th">
<classes>
<class name="packageName.className" />
</classes>
</test>
<test name="5th">
<classes>
<class name="packageName.className" />
</classes>
</test>
</suite>

enter image description here

JAVA:

public class TC1 {
WebDriver driver;

@Test
public void testCaseOne() {
// Printing Id of the thread on using which test method got executed
System.setProperty("webdriver.chrome.driver", "your ChromeDriver path");
driver = new ChromeDriver();
driver.get("https://www.google.com");
}
}

关于java - 如何在没有 Selenium 网格的情况下在浏览器的多个实例中并行运行单个测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55774847/

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