0

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

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

在此处输入图像描述

我正在使用RellYa 的 selenium jquery extensions

Chrome webdriver 随机抛出jQuery not found异常。如果我尝试几次,我最终会成功。

使用 Firefox 的 webdriver,这从未发生过。另一方面,Firefox 抛出一个

Unable to bind to locking port 7054 within 45000 ms

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

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

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

4

1 回答 1

1

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

所以:

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

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

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

于 2015-07-30T14:40:55.243 回答