gpt4 book ai didi

java - 运行 testng 套件时,SeleniumGrid2 自定义 maxSession 似乎未按预期工作(并行 =“classes” )

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:15 25 4
gpt4 key购买 nike

这是我的 TESTNG.xml

`<suite name="Test Suite">
<test name="test" parallel="classes" thread-count="2" preserve-order="true">
<classes>
<class name="Test1"/>
<class name="Test2"/>
<class name="Test3"/>
<class name="Test4"/>
<class name="Test5"/>
</classes>
</test>
</suite>`

中心:java -jar selenium-server-standalone-2.43.1.jar -role hub -maxSession=2

节点:java -jar selenium-server-standalone-2.43.1.jar -Dwebdriver.chrome.driver=%chromeDriverPath% -role webdriver -hub http://%hubIPAndPort%/grid/register -maxSession 2 -browser“platform=%platform%,javascriptEnabled=true,browserName=%browserName%,takesScreenshot=true,version=%browserVersion%,maxInstances=%maxInstances%”

问题:

当我运行两个具有 2 maxSession 计数的测试类时,它工作正常(与 5、10、15 .. 相同)

但是,当我添加的测试超过指定的 maxSession 时,假设我又添加了三个测试,现在使用两个浏览器生成测试,获取 LandingPage 但不会继续。

TestNG版本:6.8.8 Selenium 版本:2.43.1

我在这里做错了什么?

最佳答案

显然我没有使用 ThreadLocal 并且我的驱动程序实例也是静态的。开始使用 ThreadLocal 并解决了问题。

public void instantiateDriverObject(String browser) {
DriverFactory factory = new DriverFactory();
driver = factory.createInstance(browser);
driverThread = new ThreadLocal<WebDriver>() {
@Override
protected WebDriver initialValue() {
webDriverPool.add(driver);
return driver;
}
};
}

关于java - 运行 testng 套件时,SeleniumGrid2 自定义 maxSession 似乎未按预期工作(并行 =“classes” ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480501/

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