通过selenium remote webdriver运行两个ie/firefox浏览器实例

通过selenium remote webdriver运行两个ie/firefox浏览器实例,selenium,selenium-webdriver,selenium-grid,remotewebdriver,Selenium,Selenium Webdriver,Selenium Grid,Remotewebdriver,我的场景是,我将启动一个浏览器实例并执行一些操作,然后在不关闭当前浏览器的情况下,将打开相同类型的新浏览器,并需要进行验证 Webdriver driver = driverInitialize.getDriver(); //Perform some operations Webdriver driver2 = driverInitialize.getDriver(); //Perform some operations 问题只存在于firefox和IE,因为浏览器的第二个实例在第一个实例超时

我的场景是,我将启动一个浏览器实例并执行一些操作,然后在不关闭当前浏览器的情况下,将打开相同类型的新浏览器,并需要进行验证

Webdriver driver = driverInitialize.getDriver();
//Perform some operations
Webdriver driver2 = driverInitialize.getDriver();
//Perform some operations
问题只存在于firefox和IE,因为浏览器的第二个实例在第一个实例超时之前不会启动,但同样适用于chrome浏览器。在启动节点和集线器时,对于firefox和IE,会显示“警告-未指定最大实例。即使在各自节点中指定了最大实例,也会使用默认值=1”。用于启动集线器和节点的命令如下所示

Hub : java -jar selenium-server-standalone-2.44.0.jar -role hub -port 4444

Firefox Node : java -jar selenium-server-standalone-2.44.0.jar -role node -hub http://127.0.0.1:4444/grid/register -port 5553 -browser browserName=firefox,maxInstance=5 -Dwebdriver.version="30"

IE Node : java -jar selenium-server-standalone-2.44.0.jar -role webdriver -hub http://127.0.0.1:4444/grid/register -port 5555 browserName=ie,maxInstance=5 -Dwebdriver.ie.driver="C:\IEDriverServer.exe"

Chrome Node : java -jar selenium-server-standalone-2.44.0.jar -role webdriver -hub http://127.0.0.1:4444/grid/register -port 5555 browserName=chrome maxInstance=5 -Dwebdriver.chrome.driver="C:\chromedriver.exe" 
浏览器版本

:40.0.2214.115火狐:34.0IE:10.0.9200.17228


我认为您应该看看这个堆栈溢出问题:

Max会话将覆盖Max实例,因此您需要同时设置这两个实例。 如果最大会话数为1,最大实例数为10,则只允许运行一个测试。在这种情况下,请检查您的配置

您还可以在Grid 2 wiki上看到以下选项:

编辑**
这已移动到:

-角色webdriver
?使用
-role node
,而使用
-role webdriver
只是为了向后兼容。你想在一个节点上使用IE和Chrome,在另一个节点上使用FF?FF端口为5553,IE和Chrome端口为5555。您能分享driverInitialize类的实现吗?您的节点的会话数(“maxSession”)是多少?也许你只有一节课?