jaffa
jaffa

Reputation: 27350

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

I'm getting this error:

tests.IntegrationTests.Selenium.RegisterAndLogin (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?

Upvotes: 13

Views: 24219

Answers (17)

sevzas
sevzas

Reputation: 801

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".

Upvotes: 1

crthompson
crthompson

Reputation: 15865

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.

Upvotes: 1

Jeremy Thompson
Jeremy Thompson

Reputation: 65564

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:

enter image description here

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

Upvotes: 2

Harry Chu
Harry Chu

Reputation: 21

Error image

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

Upvotes: -2

IamBatman
IamBatman

Reputation: 1015

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.

Upvotes: 0

embarr
embarr

Reputation: 3

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.

Upvotes: 0

Hassan Rahman
Hassan Rahman

Reputation: 5203

Solution is as easy as pie :)

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

enter image description here

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

enter image description here

The updated packages will be updated automatically.

enter image description here

It works for me.

Upvotes: 8

Rivka
Rivka

Reputation: 2202

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.

Upvotes: 1

Samir 007
Samir 007

Reputation: 179

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

Upvotes: 0

adrian
adrian

Reputation: 2923

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/

Upvotes: 1

Akshay tiwari
Akshay tiwari

Reputation: 29

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.

Upvotes: 1

Andrian Durlestean
Andrian Durlestean

Reputation: 1730

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

Upvotes: 0

Naren
Naren

Reputation: 1350

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.

Upvotes: 0

Amar HR
Amar HR

Reputation: 161

Reinstalling FF browser fixed the issue.

Upvotes: 0

DevDave
DevDave

Reputation: 6898

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.

Upvotes: 1

Brian121212
Brian121212

Reputation: 306

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

Upvotes: 1

jaffa
jaffa

Reputation: 27350

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.

Upvotes: 7

Related Questions