【问题标题】:Using multithreading, not able to launch multiple IE instances in webdriver使用多线程,无法在 webdriver 中启动多个 IE 实例
【发布时间】:2012-05-23 06:56:36
【问题描述】:

使用 selenium webdriver。我必须在 IE 上运行 10 个或更多自动化测试用例实例。我尝试将 Grid2 与 Webdriver 一起使用,但如果我在同一台机器上执行,网格只会一个接一个地启动 IE 实例。单独使用 testNG(没有网格)也给出了相同的结果。为了解决这个问题,我正在处理测试用例并从驱动程序脚本中调用多个线程。这在 Firefox 中运行良好,但在 IE 中不行。在 IE 的情况下,如果我尝试调用两个以上的实例(不管有多少),只会调用一个实例。

以前有人遇到过类似的问题吗?请指教。

【问题讨论】:

    标签: java selenium webdriver testng


    【解决方案1】:

    这是因为默认情况下,链接到 Sel Grid 2 集线器的节点仅启动一个 1 个 IE 实例,而它启动 5 个 Firefox 和 Chrome 实例。

    使用更多 IE 实例以不同方式启动您的节点。 你可以使用类似的东西

    java -jar selenium-server-standalone-2.21.0.jar -port 4445 -role node -hub http://yourhub:4444/grid/register -browser browserName="internet explorer",platform=WINDOWS,maxInstances=5
    

    您可以在此网址查看每个节点的浏览器实例数

    http://yourhubserver.com:4444/grid/console
    

    【讨论】:

    • 最好不要在同一台机器上启动多个 IE 实例。与 FF 或 chrome 不同,IE 在实例之间共享所有 cookie 和其他内容(因为它没有配置文件概念)。因此,您将很难确定您的测试是否由于共享 pbm 或应用程序 pbm 而失败
    • 我之前在网上短暂搜索后尝试添加“maxinstance”参数。但它并没有解决问题。顺便说一下,如果我要打开一个不同的节点,在指定端口之前应该给出'maxinstance'参数;反正也没用。
    • @A.J- 我需要在同一台机器上启动它,因为这就是我需要测试它的方式。我必须忽略一些已知的 firefox 兼容性问题。目前的工作重点是 IE。
    【解决方案2】:

    可以使用 Selenium Grid2 启动的 IE 实例的默认数量仅为“1”。要运行多个实例,您可以执行以下操作:

    java -jar selenium-server-standalone-2.28.0.jar -role wd -browser "browserName=internet explorer,version=8,maxInstances=5,platform=WINDOWS" -hub http://localhost:4444/grid/register
    

    【讨论】:

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