Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selenium WebDriver Firefox error - Failed to connect

I have done my research and found other related issues. None have helped.

so far:

  • have the up to date version of selenium

  • installed older version of firefox

I have eclipse on windows 7, I created a .war and tested in eclipse under localhost:8080/JSPprojectServlets (on W7) and it works fine. selenium opens firefox, gets url, then gets source.

I then put .war file into my linux (ubuntu) machine under tomcat7/webapps and try to visit it with my windows 7 machine under 192.168.1.102:8080/JSPprojectServlets but it does not work and it gives the following error:

HTTP Status 500 - Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows:

type Exception report

message Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows:

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows: 

(process:32704): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
Error: no display specified

(process:32711): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
Error: no display specified

Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:23:22'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.8.0-29-generic', java.version: '1.7.0_25'
Driver info: driver.version: FirefoxDriver
    org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
    org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244)
    org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
    org.blah.blah.XmlServlet.doGet(XmlServlet.java:25)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
root cause

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:

(process:32704): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
Error: no display specified

(process:32711): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
Error: no display specified

    org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106)
    org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244)
    org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
    org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
    org.blah.blah.XmlServlet.doGet(XmlServlet.java:25)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.35 logs.

my code looks like this

package org.blah.blah;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;
//import org.openqa.selenium.chrome.ChromeDriver;


public class XmlServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //System.out.println("Hello from GET method.");
        PrintWriter writer = response.getWriter();
        writer.println("<h3></h3>");

        WebDriver driver = new FirefoxDriver();

        driver.get("http://google.com");

        writer.println(driver.getPageSource());

    }
}

UPDATE:

When i use HtmlUnitDriver it works 192.168.1.102:8080/JSPprojectServlets

clearly it can't open firefox for some reason. I'm in W7 64bit and have instaleld FF10 and still nothing.

like image 413
Dev-Ria Avatar asked Sep 24 '13 14:09

Dev-Ria


3 Answers

Try giving the Firefox binary absolute path as a parameter in your code and when invoking from win7 provide this as in input to your JSP and then it could solve the problem. From your above stack trace it says firefox binary cannot be found in /usr/bin/firefox but you are trying to invoke the webdriver in win7 where the path is different.

Receiving org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH running tests in Selenium IDE with Webdriver playback

like image 104
Sunand Padmanabhan Avatar answered Nov 08 '22 06:11

Sunand Padmanabhan


This happens when java client fails to connect to the Selenium instance on local host. If you are running on windows make sure that "127.0.0.1 localhost" lin in hosts file is commented. Hosts file will be available in C:\Windows\System32\drivers\etc folder.

This has fixed same issue, that i faced. This mainly happens if we are behind a proxy server.

like image 1
santosh Avatar answered Nov 08 '22 06:11

santosh


I had the same problem. Everywhere I was found root cause as version issue and really it was. This was sorted after migrating to latest version of Selenium Web Driver i.e. from 2.32 to 2.39 (As all other component like Java/Web browser etc are already up to date). All scripts are working fine now.

like image 1
Pushkar Srivastava Avatar answered Nov 08 '22 05:11

Pushkar Srivastava