Selenium WebDriver - FirefoxDriver错误:无法在45000内启动套接字

时间:2011-10-05 13:02:20

标签: selenium webdriver

我收到了这个错误:

tests.IntegrationTests.Selenium.RegisterAndLogin (TestFixtureSetUp):
SetUp : OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000

当我在我的代码中执行以下操作时:

using System;
using System.Text;
using NUnit.Framework;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium;

namespace ekmProspector.tests.IntegrationTests.Selenium
{
    [TestFixture]
    public class RegisterAndLogin
    {
        private IWebDriver driver;   

        [TestFixtureSetUp]
        public void Init()
        {            

            driver = new FirefoxDriver();
        }
}

真的不能简单得多,但错误是致命的。有什么想法吗?

17 个答案:

答案 0 :(得分:8)

解决方案就像馅饼一样简单:)

右键单击您的.Net(C#)项目,然后选择“管理NuGet包...”#39;选项,如下所示:

enter image description here

然后选择Selenium特定包,它们需要更新,以便更新它们。

enter image description here

更新的软件包将自动更新。

enter image description here

它对我有用。

答案 1 :(得分:7)

我最终得到了这个,我删除了NuGet在安装WebDriver时添加的所有包子文件夹,并决定手动添加这些子文件夹。创建一个'lib'文件夹,然后将selenium二进制文件解压缩到该文件夹​​中。然后添加对所有二进制文件的引用。现在似乎没事。

答案 2 :(得分:2)

版本

FF v48 Selenium Webdriver v2.53.1
Windows 7(x64)
.Net 4.0和.Net 4.5

尝试修复

根据@jaffa,我手动添加了以下引用并解决了问题:

WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1

然后我没有引用它们并跟随@HassanRahman并使用了NuGet:

WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1

仍然是同样的错误。

  

OpenQA.Selenium.WebDriverException:无法在45000内启动套接字

故障排除

我有预感并决定将目标从.Net 4.5降级到.Net 4.0(完全不是客户端配置文件),错误更改为:

  

未处理的类型' OpenQA.Selenium.WebDriverException'发生在WebDriver.dll中   附加信息:无法在PATH或默认安装位置中找到Firefox二进制文件。确保已安装Firefox。操作系统似乎是:Vista

我想知道这是否是重新安装FireFox的人再次使用它的原因?

某处必须有一组注册表项或环境变量才能找到FireFox的ApplicationStartupPath。您可以在此ProcessMonitor跟踪中看到其中一些路径:

enter image description here

在上面的屏幕截图中,您可以看到应用程序(AstrobLabe)我正在使用这行代码:

using (IWebDriver driver = new FirefoxDriver(ffprofile))

它会导致搜索FireFox v48并查找错误的目录

C:\ Program Files(x86)\ Mozilla FireFox \ FireFox.exe

在我的系统上,FireFox安装在:

C:\ Program Files(x86)\ Mozilla \ Firefox \ FireFox.exe

无论如何找到并纠正这个问题(在PATH或默认安装位置找不到Firefox二进制文件)是供其他人修复的,我只是将Firefox目录复制到Mozilla FireFox。

但后来又回到原来的错误:

  

未处理的类型' OpenQA.Selenium.WebDriverException'发生在WebDriver.dll中   附加信息:无法在45000毫秒内启动套接字。尝试连接到以下地址:127.0.0.1:7055

解决方案

然后我遇到了这个答案,说FireFox v46与Selenium 2.53一起使用: Which Firefox version is compatible with Selenium 2.53.0?

当我降级时,我看到FFv46安装到:

C:\ Program Files(x86)\ Mozilla FireFox \ FireFox.exe

请检查您的FF安装是否在此位置 - 基于ProcessMonitor Trace Selenium无法找到:

C:\ Program Files(x86)\ Mozilla \ Firefox \ FireFox.exe

答案 3 :(得分:1)

我通过完全删除firefox和所有配置文件并重新安装来解决这个问题。

答案 4 :(得分:1)

以前的答案都没有明确说明Selenium WebDriver的特定版本适用于特定版本的Firefox。 This SO question告诉我们Webdriver / Firefox兼容性矩阵是here

值得一提的另一件事是,当新版本可用时,Firefox会根据设置自动更新或更新。由于Webdriver不会自动更新,因此当Firefox将自身更新为Webdriver版本不支持的版本时,这可能会导致Webdriver / Firefox兼容性意外中断并且测试脚本将停止运行。我怀疑上面的答案指示用户使用Nuget重新安装Webdriver只需选择最新的Webdriver,它与刚安装在你机器上的最新Firefox一起使用。

要防止Firefox自行升级,请单击Firefox中的菜单按钮(三个水平条,右上角),选择"选项",选择"高级"在左侧菜单中,选择"更新"顶部的标签页,您将在" Firefox更新"下看到一组单选按钮。选择其他设置"自动安装更新"。

答案 5 :(得分:1)

我发现running an older version of resharper (9.2) failed to work with the latest nunit导致硒超时。

临时解决方案是禁用resharper(工具 - >选项 - > Resharper - >禁用),永久解决方案是升级resharper。

答案 6 :(得分:1)

我遇到了Firefox(42)和Selenium(2.48.2)最新版本的问题。卸载并重新安装(通过Nuget)为我解决了这个问题。

答案 7 :(得分:1)

对于最近发现此问题的人(2015-02-27),似乎存在与Selenium和Firefox 36兼容的未解决问题:

https://code.google.com/p/selenium/issues/detail?id=8399

您可以在此处下载Firefox 35:http://www.filehippo.com/download_firefox/59889/

答案 8 :(得分:1)

我在NUnit中运行测试时也遇到了问题。我找到了许多解决方案来移除或降级你的Firefox。但是我以另一种方式解决了这个问题,我删除了与网络驱动程序相关的所有引用,并将升级网页驱动程序添加到解决方案中。

在我的应用程序中,webdriver版本为2.24,所以我用2.43替换,现在我的测试运行正常。

答案 9 :(得分:1)

我发现我能够通过在NuGet中更新我的Selenium软件包来解决Firefox Selenium中的这个问题。

但如果出现类似问题,它仍然会让您手动更新Chrome和IE驱动程序。

答案 10 :(得分:0)

与Firefox浏览器42.0的selenium版本2.37.xx有同样的问题 更新selenium版本后2.48.2问题已修复

答案 11 :(得分:0)

1)将你的firefox降级为< 19因为如果我没记错WebDriver 2.33支持格言Firefox 19

2)

FirefoxProfile profile = new FirefoxProfile();
profile.Port = 9966;
Global.Driver = new FirefoxDriver(profile);

P.S。我正在使用firefox 16来解决这个问题

答案 12 :(得分:0)

我正在使用WebDriver 2.53 / Firefox 46处理C#。尝试重新安装,手动重新添加等,但将Firefox降级为43,以便为我修复它。

答案 13 :(得分:0)

通过" NuGet"更新是什么帮助了我。 Firefox 47和Selenium Webdriver 2.53不起作用。检查硒现场,它仍显示" 2.53"作为他们最新的。检查" NuGet"虽然,我看到有一个" 2.53.1"版本可用。安装该版本是我的Firefox 47再次运行的原因。

答案 14 :(得分:0)

您使用的是哪个版本的Selenium IDE?尝试降级Firefox版本。 selenium IDE的发行说明在下面的链接中提到。

https://code.google.com/p/selenium/wiki/SeIDEReleaseNotes

希望这有帮助。

答案 15 :(得分:0)

重新安装FF浏览器解决了这个问题。

答案 16 :(得分:-2)

Error image

查看错误图片,我完全卸载并重新安装版本46,解决了问题。