By veena k


2016-06-08 04:13:12 8 Comments

I am getting error while using Firefox with WebDriver.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect
to host 127.0.0.1 on port 7055 after 45000 ms.
  • Firefox version:47.0
  • Selenium:2.53.0
  • Windows 10 64 bit

Is anyone getting a similar issue or any idea what is the solution for this? It's working fine with Chrome but with Firefox none of the URLs are getting loaded.

15 comments

@Boni García 2016-06-09 14:22:20

Unfortunately Selenium WebDriver 2.53.0 is not compatible with Firefox 47.0. The WebDriver component which handles Firefox browsers (FirefoxDriver) will be discontinued. As of version 3.0, Selenium WebDriver will need the geckodriver binary to manage Firefox browsers. More info here and here.

Therefore, in order to use Firefox 47.0 as browser with Selenium WebDriver 2.53.0, you need to download the Firefox driver (which is a binary file called geckodriver as of version 0.8.0, and formerly wires) and export its absolute path to the variable webdriver.gecko.driver as a system property in your Java code:

System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");

Luckily, the library WebDriverManager can do this work for you, i.e. download the proper Marionette binary for your machine (Linux, Mac, or Windows) and export the value of the proper system property. To use this library, you need to include this dependency into your project:

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>2.2.3</version>
</dependency>

... and then execute this line in your program before using WebDriver:

WebDriverManager.firefoxdriver().setup();

A complete running example of a JUnit 4 test case using WebDriver could be as follows:

public class FirefoxTest {

    protected WebDriver driver;

    @BeforeClass
    public static void setupClass() {
        WebDriverManager.firefoxdriver().setup();
    }

    @Before
    public void setupTest() {
        driver = new FirefoxDriver();
    }

    @After
    public void teardown() {
        if (driver != null) {
            driver.quit();
        }
    }

    @Test
    public void test() {
        // Your test code here
    }
}

Take into account that Marionette will be the only option for future (for WebDriver 3+ and Firefox 48+), but currently (version 0.9.0 at writing time) is not very stable. Take a look to the Marionette roadmap for further details.

UPDATE

Selenium WebDriver 2.53.1 has been released on 30th June 2016. FirefoxDriver is working again with Firefox 47.0.1 as browser.

@dmansfield 2016-06-15 13:25:40

This is incorrect. MarionetteDriver is actually NOT supported in 47, despite the fact that FirefoxDriver is broken. Apparently 47.0.1 will be released (sometime) in which FirefoxDriver will be working again. Working MarionetteDriver did not make it into 47 as expected. See github.com/mozilla/geckodriver/issues/89 and bugzilla.mozilla.org/show_bug.cgi?id=1279950 - Note: I'm not saying MarionettDriver won't work at all, just that it is broken for a TON of use cases with 47. Downgrade is the only option as of today.

@BardMorgan 2016-06-28 20:37:29

I updated to 47.0.1 and Selenium is still not connecting to Firefox. It no longer crashes Firefox, but I still get a failure to connect to 127.0.0.1:7055. When I run TcpView, there is no listener of port 7055 after Firefox starts up.

@Otto G 2016-06-28 21:19:54

I see the same behavior as BardMorgan, using Mac, Mono and Selenium .NET 2.53.0. Firefox 47.0.1 starts, but I get the timeout error OpenQA.Selenium.WebDriverException: Failed to start up socket within 45000 milliseconds. Attempted to connect to the following addresses: 127.0.0.1:7055 – netstat shows no listener to that port.

@Otto G 2016-06-29 12:03:32

And I have now also tested under Windows 10 and native .NET, and the problem is the same. Netstat shows that Selenium tries to connect, but no service is listening: C:\Windows\system32>netstat -ano | find "7055" TCP 127.0.0.1:2896 127.0.0.1:7055 SYN_SENT 2052

@Otto G 2016-06-30 13:50:22

For the record, when visiting about:addons in Firefox 47.0.1 launched by Selenium 2.53.0, the Extensions tab will show “Firefox WebDriver is incompatible with Firefox 47.0.1.” This is due to max version being 47.0 in github.com/SeleniumHQ/selenium/blob/selenium-2.53.0/javascri‌​pt/… – the head version is fixed, so a build of the latest Selenium code from GitHub should fix the problem.

@LoveLovelyJava one 2016-08-29 18:19:24

I updated to selenium 2.52.1 and it worked, thanks

@qub1n 2016-11-14 14:41:18

It seems to me that the best solution is to update to Selenium 3.0.0, download geckodriver.exe and use Firefox 47 or higher.

I changed Firefox initialization to:

 string geckoPathTest = Path.Combine(Environment.CurrentDirectory, "TestFiles\\geckodriver.exe");
 string geckoPath = Path.Combine(Environment.CurrentDirectory, "geckodriver.exe");
 File.Copy(geckoPathTest, geckoPath);
 Environment.SetEnvironmentVariable("webdriver.gecko.driver", geckoPath);
 _firefoxDriver = new FirefoxDriver();

@The Whiz of Oz 2016-11-07 09:19:58

If you're on a Mac do brew install geckodriver and off you go!

@Bernard Parah 2016-10-24 20:46:47

I can confirm that selenium 2.53.6 works with firefox 44 for me on ubuntu 15.

@Suketu Patel 2016-10-17 22:59:09

You can try using this code,

private WebDriver driver;
System.setProperty("webdriver.firefox.marionette","Your path to driver/geckodriver.exe");        
driver = new FirefoxDriver();

I upgraded to selenium 3.0.0 and Firefox version is 49.0.1

You can download geckodriver.exe from https://github.com/mozilla/geckodriver/releases

Make sure you download zip file only, geckodriver-v0.11.1-win64.zip file or win32 one as per your system and extract it in a folder.

Put the path for that folder in the "Your path to driver" quotes.Don't forget to put geckodriver.exe in the path.

@Levon 2016-09-04 08:46:29

As of September 2016

Firefox 48.0 and selenium==2.53.6 work fine without any errors

To upgrade firefox on Ubuntu 14.04 only

sudo apt-get update
sudo apt-get upgrade firefox

@John Peters 2016-07-22 14:27:36

Here's what the problem looked like in Wireshark

Just load up 2.53.1 and every thing will work.

@user7610 2016-07-12 08:34:21

Firefox 47.0 stopped working with Webdriver.

Easiest solution is to switch to Firefox 47.0.1 and Webdriver 2.53.1. This combination again works. In fact, restoring Webdriver compatibility was the main reason behind the 47.0.1 release, according to https://www.mozilla.org/en-US/firefox/47.0.1/releasenotes/.

@veena k 2016-07-13 12:24:53

Now Firefox 47.0.1 is also working fine with Webdriver 2.53.0. I have tested this combination.

@Supra 2016-06-24 15:52:29

Its a FF47 issue https://github.com/SeleniumHQ/selenium/issues/2110

Please downgrade to FF 46 or below (or try out FF48 developer https://developer.mozilla.org/en-US/Firefox/Releases/48)

Instructions on how to downgrade: https://www.liberiangeek.net/2012/04/how-to-install-previous-versions-of-firefox-in-ubuntu-12-04-precise-pangolin/ Or if you are on Mac, as suggested by someone else in this thread use brew.

@Otto G 2016-06-29 16:00:25

According to a comment 19 hours ago: “Firefox 47.0.1 has been released with a fix. We now need to release client libraries to pick up a version bump in the xpi that is used by FirefoxDriver.” That seems to explain why there are still problems with 2.53.0 and 47.0.1.

@Otto G 2016-06-30 15:14:05

New Selenium libraries are now out, according to: https://github.com/SeleniumHQ/selenium/issues/2110

The download page http://www.seleniumhq.org/download/ seems not to be updated just yet, but by adding 1 to the minor version in the link, I could download the C# version: //selenium-release.storage.googleapis.com/2.53/selenium-dotnet-2.53.1.zip

It works for me with Firefox 47.0.1.

As a side note, I was able build just the webdriver.xpi Firefox extension from the master branch in GitHub, by running ./go //javascript/firefox-driver:webdriver:run – which gave an error message but did build the build/javascript/firefox-driver/webdriver.xpi file, which I could rename (to avoid a name clash) and successfully load with the FirefoxProfile.AddExtension method. That was a reasonable workaround without having to rebuild the entire Selenium library.

@Disper 2016-07-06 05:51:10

I can confirm that upgrading selenium to 2.53.1 solved the issue for me.

@Holistic Developer 2016-07-06 19:07:44

This is now the best answer.

@Dan Caddigan 2016-06-29 14:39:38

If you're on OSX using Homebrew, you can install old Firefox versions via brew cask:

brew tap goldcaddy77/firefox
brew cask install firefox-46 # or whatever version you want

After installing, you'll just need to rename your FF executable in the Applications directory to "Firefox".

More info can be found at the git repo homebrew-firefox. Props to smclernon for creating the original cask.

@avandeursen 2016-06-26 08:11:48

I eventually installed an additional old version of Firefox (used for testing only) to resolve this, besides my regular (secure, up to date) latest Firefox installation.

This requires webdriver to know where it can find the Firefox binary, which can be set through the webdriver.firefox.bin property.

What worked for me (mac, maven, /tmp/ff46 as installation folder) is:

mvn -Dwebdriver.firefox.bin=/tmp/ff46/Firefox.app/Contents/MacOS/firefox-bin verify

To install an old version of Firefox in a dedicated folder, create the folder, open Finder in that folder, download the Firefox dmg, and drag it to that Finder.

@Steven 2016-06-16 17:18:40

In case anyone is wondering how to use Marionette in C#.

FirefoxProfile profile = new FirefoxProfile(); // Your custom profile
var service = FirefoxDriverService.CreateDefaultService("DirectoryContainingTheDriver", "geckodriver.exe");
// Set the binary path if you want to launch the release version of Firefox.
service.FirefoxBinaryPath = @"C:\Program Files\Mozilla Firefox\firefox.exe";
var option = new FirefoxProfileOptions(profile) { IsMarionette = true };
var driver = new FirefoxDriver(
    service,
    option,
    TimeSpan.FromSeconds(30));

Overriding FirefoxOptions to provide the function to add additional capability and set Firefox profile because selenium v53 doesn't provide that function yet.

public class FirefoxProfileOptions : FirefoxOptions
{
    private DesiredCapabilities _capabilities;

    public FirefoxProfileOptions()
        : base()
    {
        _capabilities = DesiredCapabilities.Firefox();
        _capabilities.SetCapability("marionette", this.IsMarionette);
    }

    public FirefoxProfileOptions(FirefoxProfile profile)
        : this()
    {
        _capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, profile.ToBase64String());
    }

    public override void AddAdditionalCapability(string capabilityName, object capabilityValue)
    {
        _capabilities.SetCapability(capabilityName, capabilityValue);
    }

    public override ICapabilities ToCapabilities()
    {
        return _capabilities;
    }
}

Note: Launching with profile doesn't work with FF 47, it works with FF 50 Nightly.

However, we tried to convert our test to use Marionette, and it's just not viable at the moment because the implementation of the driver is either not completed or buggy. I'd suggest people downgrade their Firefox at this moment.

@el n00b 2016-06-08 19:41:09

I had the same issue and found out that you need to switch drivers because support was dropped. Instead of using the Firefox Driver, you need to use the Marionette Driver in order to run your tests. I am currently working through the setup myself and can post some suggested steps if you'd like when I have a working example.

Here are the steps I followed to get this working on my Java environment on Mac (worked for me in my Linux installations (Fedora, CentOS and Ubuntu) as well):

  1. Download the nightly executable from the releases page
  2. Unpack the archive
  3. Create a directory for Marionette (i.e., mkdir -p /opt/marionette)
  4. Move the unpacked executable file to the directory you made
  5. Update your $PATH to include the executable (also, edit your .bash_profile if you want)
  6. :bangbang: Make sure you chmod +x /opt/marionette/wires-x.x.x so that it is executable
  7. In your launch, make sure you use the following code below (it is what I used on Mac)

Quick Note

Still not working as expected, but at least gets the browser launched now. Need to figure out why - right now it looks like I need to rewrite my tests to get it to work.

Java Snippet

WebDriver browser = new MarionetteDriver();
System.setProperty("webdriver.gecko.driver", "/opt/marionette/wires-0.7.1-OSX");

@Mahbub Rahman 2016-06-08 04:37:25

Try using firefox 46.0.1. It best matches with Selenium 2.53

https://ftp.mozilla.org/pub/firefox/releases/46.0.1/win64/en-US/

@veena k 2016-06-09 00:22:18

Thanks Rahman ..it is working now...but what if the requirement is work with the latest version.

@Mahbub Rahman 2016-06-09 01:29:04

If the solution works, can you please accept the answer? :-)

@TiGreX 2016-06-09 10:44:10

thats not a solution, is downgrade to a previous version.

@Drew 2016-08-02 04:31:45

I did this too (but went to v45) - if you go down this path, make sure you rename <path>\Mozilla Firefox\updater.exe to updater.exe.disable to prevent your downgraded version being upgraded back to the current version automatically. There may be other ways to achieve this too - but disabling updates in option settings did not work for me.

Related Questions

Sponsored Content

3 Answered Questions

org.openqa.selenium.firefox.NotConnectedException when starting Firefox

11 Answered Questions

[SOLVED] Selenium 2.50 not working on firefox 45

  • 2016-03-17 14:45:44
  • dheeraj kateja
  • 16370 View
  • 8 Score
  • 11 Answer
  • Tags:   selenium firefox

1 Answered Questions

[SOLVED] Selenium 2.53 not working on Firefox 28

1 Answered Questions

selenium 2.53.1 isnot working for firefox 47.0.1

1 Answered Questions

[SOLVED] Selenium WebDriver for Firefox

2 Answered Questions

[SOLVED] Selenium standalone server 2.45 ; firefox version 36

  • 2015-03-16 07:15:56
  • Lucky Lakshmi
  • 6529 View
  • 5 Score
  • 2 Answer
  • Tags:   selenium-webdriver

1 Answered Questions

1 Answered Questions

I am trying to launch firefox 39.0 browser using selenium but i am getting this error below

  • 2016-01-13 10:02:42
  • user3265343
  • 42 View
  • -1 Score
  • 1 Answer
  • Tags:   selenium

3 Answered Questions

[SOLVED] firefox 26 and webdriver 2.39.0 upgradation is not working

  • 2013-12-20 07:08:11
  • Naaz
  • 6754 View
  • 6 Score
  • 3 Answer
  • Tags:   firefox selenium

Sponsored Content