Java SeleniumGrid2自定义maxSession不';运行testng套件(parallel=&x201C;classes&&x201D;)时,似乎无法按预期工作

Java SeleniumGrid2自定义maxSession不';运行testng套件(parallel=&x201C;classes&&x201D;)时,似乎无法按预期工作,java,selenium,testng,selenium-grid,Java,Selenium,Testng,Selenium Grid,这是我的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="Tes

这是我的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%-角色webdriver-hub-maxSession 2-browser“平台=%platform%,javascriptEnabled=true,浏览器名=%browserName%,takesscreensshot=true,版本=%browserVersion%,maxInstances=%maxInstances%”

问题:

当我使用2个maxSession count运行两个测试类时,它工作得很好(与5、10、15相同)

但是当我添加了一个比指定的maxSession更多的测试时,比如说我又添加了三个测试,现在测试生成了两个浏览器,获得了登录页面,但不会继续

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;
}
};
}
public void实例化驱动程序对象(字符串浏览器){
DriverFactory工厂=新的DriverFactory();
driver=factory.createInstance(浏览器);
driverThread=new ThreadLocal(){
@凌驾
受保护的WebDriver initialValue(){
webDriverPool.add(驱动程序);
返回驱动器;
}
};
}

请在创建驱动程序的地方共享代码。