开发者

Selenium WebDriver - FirefoxDriver error: Failed to start up socket within 45000

I'm getting this error:

tests.IntegrationTests.Selenium.Regi开发者_JAVA技巧sterAndLogin (TestFixtureSetUp):
SetUp : OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000

when I carry out the following in my code:

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();
        }
}

Can't get much simpler really, but the error is fatal. Any ideas?


Solution is as easy as pie :)

Right Click on your .Net (C#) Project and select 'Manage NuGet Packages ...' option, as shown below:

Selenium WebDriver - FirefoxDriver error: Failed to start up socket within 45000

Then select Selenium specific packages, they need updated so update them.

Selenium WebDriver - FirefoxDriver error: Failed to start up socket within 45000

The updated packages will be updated automatically.

Selenium WebDriver - FirefoxDriver error: Failed to start up socket within 45000

It works for me.


I got this working in the end, I removed all the package sub-folders which were added by NuGet when installing WebDriver and decided to added these manually. Created a 'lib' folder, then unzipped the selenium binaries into that folder. Then added references to all the binaries. Seems to be fine now.


Versions

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

Trying the fixes

As per @jaffa I manually added the following refereces and got the problem:

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


I then unreferenced them and followed @HassanRahman and used NuGet:

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

Still same error.

OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000


Troubleshooting

I had a hunch and decided to downgrade from targeting .Net 4.5 to .Net 4.0 (Full not client profile) and the error changed to:

An unhandled exception of type 'OpenQA.Selenium.WebDriverException' occurred in WebDriver.dll Additional information: Cannot find Firefox binary in PATH or default install locations. Make sure Firefox is installed. OS appears to be: Vista

I wondered if this is why people who reinstalled FireFox got it to work again?

Somewhere there has to be a set of Registry Keys or an Environment Variable to find FireFox's ApplicationStartupPath. You can see some of those paths in this ProcessMonitor trace:

Selenium WebDriver - FirefoxDriver error: Failed to start up socket within 45000

In the screenshot above you can see the app (AstrobLabe) I'm using running this line of code:

using (IWebDriver driver = new FirefoxDriver(ffprofile))

It causes a search for FireFox v48 and its looking in the wrong directory:

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

On my system FireFox is installed in:

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

Anyway finding and correcting this issue (Cannot find Firefox binary in PATH or default install locations) is for someone else to fix, I just copied the Firefox directory to Mozilla FireFox.

But then it goes back to the original error:

An unhandled exception of type 'OpenQA.Selenium.WebDriverException' occurred in WebDriver.dll Additional information: Failed to start up socket within 45000 milliseconds. Attempted to connect to the following addresses: 127.0.0.1:7055

Solution

Then I came across this answer which says that FireFox v46 works with Selenium 2.53: Which Firefox version is compatible with Selenium 2.53.0?

When I downgraded I saw that FFv46 installs to:

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

So check if your FF install is in this location - which based on the ProcessMonitor Trace Selenium cant find:

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


I solved this by completely removing firefox and all profiles and reinstalling.


I found that I was able to to fix this problem in Firefox Selenium by updating my Selenium packages in NuGet.

But it still leaves you with the problem of manually updating the Chrome and IE drivers if similar problems arise.


I also faced the problem while running the the test in NUnit. I found many solution to remove or degrade your Firefox.But i solved this in another way i remove all the references related to web drivers and add the upgrade web driver to the Solution.

In my application the webdriver version was 2.24 so i replaced with 2.43 and now my test are running fine.


For anyone finding this question more recently (2015-02-27), there seems to be an open issue with compatibility with Selenium and Firefox 36:

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

You can download Firefox 35 here: http://www.filehippo.com/download_firefox/59889/


I had this issue with latest version of both Firefox (42) and Selenium (2.48.2). Uninstalling and re-installing (via Nuget) fixed the issue for me.


I found that running an older version of resharper (9.2) failed to work with the latest nunit and that caused selenium to timeout.

The temporary solution was to disable resharper (Tools -> Options -> Resharper -> Disable), the permanent solution is upgrading resharper.


None of the previous answers clearly state that specific versions of Selenium WebDriver work with specific versions of Firefox. This SO question tells us that the Webdriver/Firefox compatibility matrix is here.

The other thing worth stating is that Firefox tends to update itself more-or-less automatically when new versions become available, depending on settings. Since Webdriver does not update itself automatically, this opens up the possibility that the Webdriver/Firefox compatibility will unexpectedly break and your test scripts will stop running when Firefox updates itself to a version that is not supported by your Webdriver version. I suspect that the answers above that instruct users to re-install Webdriver using Nuget simply pick up the newest Webdriver which works with the newest Firefox that just installed itself on your machine.

To prevent Firefox from upgrading itself, click on the menu button in Firefox (three horizontal bars, upper-right corner), choose "Options", choose "Advanced" on the left menu, choose the "Update" tab at the top and you'll see a set of radio buttons under "Firefox updates". Choose a setting other that "Automatically install updates".


Reinstalling FF browser fixed the issue.


Which version of Selenium IDE you are using? Try downgrading the Firefox version. The release notes of selenium IDE is mentioned in below link.

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

Hope this helps.


1) Downgrade your firefox to < 19 because if i remember correctly WebDriver 2.33 support maxim Firefox 19

2)

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

P.S. I'm using firefox 16 to not have this issue


I have same issue with selenium version 2.37.xx with Firefox browser 42.0 After updating selenium version 2.48.2 issue is fixed


I was working with on C# with WebDriver 2.53/Firefox 46. Tried reinstalling things, manually re-adding etc but downgrading Firefox to 43 fixed it for me.


Updating through "NuGet" is what helped me. Firefox 47 and Selenium Webdriver 2.53 wasn't working. Checking the selenium site, it still shows "2.53" as their latest. Checking "NuGet" though, I saw there was a "2.53.1" version available. Installing that version is what got my Firefox 47 to work again.


Error image

See the error image, I uninstalled completely and re-install version46, things solved.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜