Selenium webdriver Selenium Firefox WebDriver在WCF中抛出;未能在45000毫秒内启动插座;

Selenium webdriver Selenium Firefox WebDriver在WCF中抛出;未能在45000毫秒内启动插座;,selenium-webdriver,Selenium Webdriver,异常堆栈跟踪: OpenQA.Selenium.WebDriverException:未能在45000毫秒内启动套接字。尝试连接到以下地址:127.0.0.1:7055 在OpenQA.Selenium.Firefox.FirefoxDriverServer.ConnectToBrowser(TimeSpan timeToWait) 在OpenQA.Selenium.Firefox.FirefoxDriverServer.Start()上 在OpenQA.Selenium.Firefox.Fir

异常堆栈跟踪:

OpenQA.Selenium.WebDriverException:未能在45000毫秒内启动套接字。尝试连接到以下地址:127.0.0.1:7055 在OpenQA.Selenium.Firefox.FirefoxDriverServer.ConnectToBrowser(TimeSpan timeToWait) 在OpenQA.Selenium.Firefox.FirefoxDriverServer.Start()上 在OpenQA.Selenium.Firefox.FirefoxDriverCommandExecutor.Execute(命令commandToExecute) 在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,字典的2个参数) 在OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) 在OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor命令执行器,ICapabilities desiredCapabilities) 位于DtvAutomation.Selenium.Api.SeleniumFirefoxTest.CreateWebDriver()处 在DtvAutomation.Selenium.Api.SeleniumTest'1.Run()处

引发异常的代码正在调用Firefox WebDriver构造函数:

protected override FirefoxDriver CreateWebDriver()
{
    lock(this.syncRoot)
    {
        var ffBinary = new FirefoxBinary();
        var ffProfile = new FirefoxProfile();
        return new FirefoxDriver(
            binary: ffBinary,
            profile: ffProfile,
            commandTimeout: TimeSpan.FromMinutes(2));
    }
}
我正在使用Visual Studio 2013“WCF应用程序服务”项目中的selenium 2.46(通过NuGet软件包)。Firefox是38.0.5(最新版本)。 当我从VisualStudio(调试模式)启动WCF时,一切正常-没有例外。当我将WCF发布到本地IIS时,它会抛出此错误

我试过以下方法:

  • 更新的NuGet软件包-确保我是最新的
  • 将Firefox降级至34.0.5版
  • 将Firefox升级至最新版本
  • 已从防火墙打开端口7055
  • 使用管理员帐户更改IIS应用程序/应用程序池的凭据
  • 在异常情况下,请重新尝试使用其他端口初始化WebDriver
这些似乎都不起作用。
有什么问题吗?

我也有同样的问题,解决方案是将应用程序池标识从“ApplicationPoolIdentity”切换到更强大的用户。

我刚刚遇到了类似的问题。我在用 Selenium Webdriver Nuget软件包v2.48 火狐41.0版

起初,我认为这是FF和Webdriver之间版本冲突的问题,所以将Webdriver升级到这个版本。没有固定的。 接下来,我将FF降级为V31.0。没有固定的。 第三,我想到了最近的一个变化,这是我的一行代码

p.SetPreference("webdriver.log.file", "/tmp/firefox_console");
在这段代码中

            FirefoxProfile p = new FirefoxProfile();
            //p.SetPreference("webdriver.log.file", "/tmp/firefox_console");
            //p.SetPreference("dom.ipc.plugins.flash.disable-protected-mode", true);
            driver = new FirefoxDriver(p);
            driver.Manage().Window.Maximize();

在注释掉SetPreference方法=之后,成功!Firefox如期开放。

我也遇到了同样的问题。将应用程序池标识更改为类似LocalSystem的内容解决了这个问题,但您不希望在生产中这样做

相反,我在应用程序池的高级设置中找到了一个设置,
LoadUserProfile
,该设置被设置为
False
。如果将其设置为
True
,应用程序池将加载一个用户配置文件,从而消除Selenium问题


您至少需要运行IIS 7,并且您可以阅读有关设置的更多信息。

我认为firefox webdriver超时的问题状态。您可以使用以下内容,包括Firefox配置文件和TimeSpan,这可能会减少Firefox web驱动程序的超时

IWebDriver driver = new FirefoxDriver(new FirefoxBinary(), 
                                      new FirefoxProfile(), 
                                      TimeSpan.FromSeconds(180));

您可以编辑问题。并在那里添加相关内容,大多数用户不阅读评论。而且评论也可能在以后被删除。谢谢你的提示-更新了这个问题很可能是重复的,有很多解决方案:这个答案是Nonsense@ElmueOP问了一个关于FirefoxWebDriver通过WCF/IIS运行的问题。如果你有建设性的补充,请做。