【问题标题】:Running two instance of ie/firefox browser through selenium remote webdriver通过 selenium 远程 webdriver 运行两个 ie/firefox 浏览器实例
【发布时间】:2015-05-12 21:24:10
【问题描述】:

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

Webdriver driver = driverInitialize.getDriver();
//Perform some operations
Webdriver driver2 = driverInitialize.getDriver();
//Perform some operations

问题仅在于 firefox 和 IE,因为在第一个实例超时发生之前,第二个浏览器实例不会启动,但在 chrome 浏览器上也可以正常工作。在启动节点和集线器时,对于 firefox 和 IE,它会显示 “警告 - 未指定最大实例。使用默认值 = 1”,即使在相应节点中指定了最大实例之后也是如此。用于启动 hub 和 node 的命令如下所示

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" 

浏览器版本

Chrome:40.0.2214.115; 火狐:34.0; IE : 10.0.9200.17228;

【问题讨论】:

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

标签: selenium selenium-webdriver selenium-grid remotewebdriver


【解决方案1】:

我认为你应该看看这个堆栈溢出问题: Selenium Grid: MaxSessions vs MaxInstances

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

您还可以在 Grid 2 wiki 上查看这些选项: https://code.google.com/p/selenium/wiki/Grid2

编辑** 这已移至:https://github.com/SeleniumHQ/selenium/wiki/Grid2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 2013-04-11
    相关资源
    最近更新 更多