【问题标题】:What is the most reliable .net selenium web driver?什么是最可靠的 .net selenium web 驱动程序?
【发布时间】:2015-07-30 14:08:13
【问题描述】:

在使用 .net selenium webdrivers 时,我遇到了 2 个主要问题,每个问题都针对不同的特定 webdriver。

下表显示了 Chrome 和 Firefox 网络驱动程序一直未能满足我的问题:

我正在使用RellYa's selenium jquery extensions

Chrome 网络驱动程序随机抛出 jQuery not found 异常。如果我尝试几次,我最终会成功。

使用 Firefox 的网络驱动程序,这从未发生过。 另一方面,Firefox 抛出一个

Unable to bind to locking port 7054 within 45000 ms

研究表明,这背后的原因是我必须留下另一个未关闭/未退出的 firefox webdriver。但这使我无法使用 selenium 以多线程方式自动化 Web 任务。我的意思是,在打开几个线程后,它似乎达到了某个限制并等待其中一个打开的 webdrivers 关闭。

实际上,从 this firefox webdriver 的文档中,他们清楚地表明应该只运行一个实例。如果他想到多线程应该怎么办?

对于每个特定的 webdriver 实现,对于表中列出的问题,是否有人有可行的解决方案?

【问题讨论】:

    标签: selenium-webdriver chrome-web-driver


    【解决方案1】:

    不,您可以在任何时候从您的计算机上运行多个 firefox、chrome 或其他任何实例。如果你研究“Selenium Grid”,你会发现它就是为此而设计的。

    所以:

    1. firefox 上的无法绑定消息不是由另一个驱动程序锁定端口引起的。每个驱动程序实例都在其自己的开放端口上启动。

    2. 如果您不使用 Selenium Grid,或者不使用网格,并且尝试自己处理多线程,请注意在测试中的 @Configuration 阶段打开和关闭浏览器的方式亚军。

    3. 作为一个有根据的猜测,如果您有不稳定,更有可能是因为您试图使用太旧版本的 Selenium 来控制较新的浏览器?我们需要有关您的问题的更多信息,例如要查看的示例项目。

    【讨论】:

    • 感谢您的提示,将详细介绍它们。尽管关于网格,如果我理解正确,它是用于并行处理的,但它不是多线程的解决方案。没有?
    • 没错,您使用测试运行器处理并行运行。网格可以消耗并行运行的信号并控制多个浏览器。
    • 话虽如此,这并不是我真正想要的。我只需要一个简单的多线程解决方案。
    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-28
    • 2013-02-27
    • 1970-01-01
    • 2020-05-04
    • 2018-01-22
    相关资源
    最近更新 更多