我使用的是FF版本19
直到昨天一切都很好,今天早上我突然发现了这个错误,我的代码和之前运行的代码一样,没有任何改变
错误消息:
Test 'M:.TestCases.12' failed: Failed to start up socket within 45000
OpenQA.Selenium.WebDriverException: Failed to start up socket within 45000
at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.ConnectToBrowser(Int64 timeToWaitInMilliSeconds)
at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start()
at OpenQA.Selenium.Firefox.FirefoxDriver.StartClient()
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout)
at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile)
at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxProfile profile)
0 passed, 1 failed, 0 skipped, took 145.80 seconds (Ad hoc).
以下是我的源代码:
public static IWebDriver GetDriver()
{
switch (Common.BrowserSelected)
{
case "ff":
FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("network.http.phishy-userpass-length", 255);
profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", url);
drv = new FirefoxDriver(profile);
break;
case "ie":
var options = new InternetExplorerOptions();
options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.SetCapability(CapabilityType.AcceptSslCertificates, true);
drv = new InternetExplorerDriver(options);
break;
case "chrome":
//_driver = new ChromeDriver();
break;
}
return drv;
}
若升级Webdriver并没有帮助,你们可以降级FireFox,这将解决这个问题。
我对Firefox43和Selenium 2.48有这个问题。当您的Selenium驱动程序服务器在32位进程中运行,并且您启动64位版本的Firefox时,就会发生这种情况。
原因是webdriver服务器试图连接到端口7055,该端口应由在Firefox可执行文件中运行的webdriver打开。但是您可以从www.sysinternals的TcpView中看到。com表示Firefox未打开此端口。因此,驱动程序等待超时时间(45秒)过去。
即使完全关闭Windows防火墙,也会发生这种情况。
我在互联网上找到的所有帖子都没有帮助:升级Selenium,降级Firefox等等。。
但是在安装了32位版本的Firefox43之后,它就可以工作了。我在TcpView中看到Firefox 32位如何正确打开端口:
在我的代码中我使用
FirefoxProfile Prof = new FirefoxProfile();
FirefoxBinary Bin = new FirefoxBinary(sBrowserExe);
mDriver = new FirefoxDriver(Bin, Prof);
使用sBrowserExe=“C:\Program Files\Mozilla Firefox 43\Firefox.exe”
启动64位版本的Firefox 43,我得到超时异常。
随着sBrowserExe="C:\Program Files(x86)\Mozilla Firefox 43\firefox.exe"
32位版本的Firefox 43启动,它的工作原理!
更新:火狐的开发者现在完全打破了硒的支持。48个以上的新火狐版本需要一个数字签名才能安装所有扩展。
https://wiki.mozilla.org/Addons/Extension_Signing
我不明白的是,为什么Selenium用户无法获得当前Selenium驱动程序的签名??
Firefox 47.0版有一个bug,不允许与Selenium一起使用。此错误已在47.0.1版中修复。
48.0及以上版本的Firefox不再安装旧的Selenium驱动程序。它们必须由木偶(=壁虎)驱动器自动控制。
问题是,木偶仍然是测试版,并且有很多缺失的功能,因此目前还没有解决方案来自动化新的Firefox版本。
正如您在这里看到的,新驱动程序充满了bug:https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status
Selenium的最新版本中增加了火狐19的支持。所以既然你在用。NET,这篇文章发布时最新的直接下载版本是2.31.2:
硒释放。存储古格里皮斯。com/index。html
异常堆栈跟踪: OpenQA。硒。WebDriverException:未能在45000毫秒内启动套接字。尝试连接到以下地址:OpenQA的127.0.0.1:7055。硒。火狐。FirefoxDriverServer。在OpenQA上连接浏览器(TimeSpan timeToWait)。硒。火狐。FirefoxDriverServer。在OpenQA上启动()。硒。火狐。FirefoxDrive
问题内容: 我收到此错误: 当我在代码中执行以下操作时: 真的无法简单得多,但是错误是致命的。有任何想法吗? 问题答案: 我最终完成了这项工作,删除了NuGet在安装WebDriver时添加的所有软件包子文件夹,并决定手动添加它们。创建一个“ lib”文件夹,然后将硒二进制文件解压缩到该文件夹中。然后添加对所有二进制文件的引用。现在看来还好。
这是我第一次和docker合作。我有一个laravel web套接字网站(php laravel postgresql),需要放入一个容器。如果我只是执行命令(没有docker): php工匠服务 php artisan WebSocket:服务 然后它成功地工作: Websockets仪表板http://127.0.0.1:8000/laravel-WebSocket 我做了一个docker安装
我正在部署一个带有CMD行的Docker映像: 在日志中,它看起来像: 出现以下错误: 我应该在配置中更改什么?
问题内容: 我在启用PHP中的套接字传输“ ssl”时遇到麻烦。运行脚本时,出现错误: 警告:fsockopen()[function.fsockopen]:无法连接到ssl://www.my.site.com:443(无法找到套接字传输“ ssl”-配置PHP时是否忘记启用它? ) 我正在Windows上运行IIS6,这是我到目前为止为使其正常工作所做的工作: 取消对php.ini中的php_o
我正在heroku部署一个python脚本,它将在每