webentwicklung-frage-antwort-db.com.de

Fehler bei Selenium WebDriver Firefox - Verbindung fehlgeschlagen

Ich habe meine Nachforschungen gemacht und andere verwandte Themen gefunden. Keiner hat geholfen.

bisher: 

  • habe die aktuellste Version von Selenium

  • ältere Version von Firefox installiert

Ich habe Eclipse unter Windows 7, ich habe eine .war erstellt und in Eclipse unter localhost getestet: 8080/JSPprojectServlets (unter W7) und es funktioniert gut. Selen öffnet Firefox, erhält URL und dann Quelle. 

Ich füge dann eine .war-Datei in meinen Linux-Computer (Ubuntu) unter Tomcat7/webapps ein und versuche, sie mit meinem Windows-7-Computer unter 192.168.1.102:8080/JSPprojectServlets aufzurufen, aber es funktioniert nicht und es gibt den folgenden Fehler:

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.

mein Code sieht so aus

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:

Wenn ich HtmlUnitDriver verwende, funktioniert es 192.168.1.102:8080/JSPprojectServlets

offensichtlich kann Firefox aus irgendeinem Grund nicht geöffnet werden. Ich bin in W7 64bit und habe FF10 instaleld und immer noch nichts.

12
Dev-Ria

Geben Sie den binären absoluten Pfad von Firefox als Parameter in Ihrem Code an. Wenn Sie von win7 aus aufrufen, geben Sie dies als Eingabe in Ihre JSP ein, um das Problem zu lösen. In der obigen Stack-Aufzeichnung heißt es, dass firefox binary nicht in/usr/bin/firefox gefunden werden kann, aber Sie versuchen, den Web-Treiber in win7 aufzurufen, wo der Pfad anders ist. 

Empfangen von org.openqa.Selenium.WebDriverException: Firefox-Binärcode kann nicht in PATH gefunden werden, wenn Tests in Selenium IDE mit Webdriver-Wiedergabe ausgeführt werden.

7

Ich hatte das gleiche Problem. Überall wurde ich als Hauptproblem als Versionsproblem gefunden und es war wirklich .Dies wurde nach der Migration auf die neueste Version des Selenium Web Driver sortiert, dh von 2.32 auf 2.39 (wie alle anderen Komponenten wie Java/Webbrowser usw. sind bereits auf dem neuesten Stand ). Alle Skripte funktionieren jetzt einwandfrei.

1

Dies geschieht, wenn der Java-Client keine Verbindung zur Selenium-Instanz auf dem lokalen Host herstellen kann. Wenn Sie unter Windows ausgeführt werden, stellen Sie sicher, dass die Datei "127.0.0.1 localhost" in der hosts-Datei kommentiert ist. Die Host-Datei ist in verfügbar Ordner C:\Windows\System32\drivers\etc.

Dies hat das gleiche Problem behoben, mit dem ich konfrontiert war. Dies geschieht hauptsächlich, wenn wir uns hinter einem Proxy-Server befinden.

1
santosh

Ich hatte auch das gleiche Problem, aber irgendwie habe ich dieses Problem gelöst von,

  1. aktualisieren meiner JAR-Dateien: Selenium-Java-2.43.0.jar to Selenium-Java-2.48.2.jar und Selenium-server-standalone-2.43.1.jar to Selenium-server-standalone-2.48.2.jar
  2. Eine neue JAR-Datei Selenium-Java-2.48.2-srcs.jar wurde zu lib hinzugefügt

Diese Änderungen machten meinen Code in meinem Fall fehlerlos

1

aktualisieren Sie Ihre Selenium-Java - * .jar-Datei.

die aktuelle Version von Selenium-Java-Jar ist Selenium-Java-2.48.2.jar

verwenden Sie daher bitte ein aktualisiertes Glas. 

wenn Sie keine JAR-Dateien aktualisieren möchten, deaktivieren Sie in diesem Fall Ihr Firefox-Update 

0
Prade jo

Bei ChromeDriver ist ein Problem wie dieses aufgetreten, bei dem ich keine Tests ausführen konnte, da mein Chromedriver meine auf meinem Computer installierte Version von Google Chrome nicht unterstützte.

Anstatt eine alte Version von Firefox zu installieren und einen neueren FirefoxDriver zu verwenden, vergewissern Sie sich, dass beide copacetic sind, indem Sie beide aktualisieren.

0
sircapsalot

Ich hatte den gleichen Fehler beim Bereitstellen eines Krieges und beim Testen mit Selenium unter Windows 7 und Apache-Tomcat-6.0.37:

org.openqa.Selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.Java:118)

Da die Tests vor dem Upgrade von Firefox auf Version 27 (dann 29) funktionierten. Ich habe versucht, auf die frühere Version von Firefox 18.0.2 ( http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/18.0.2/win32/en-US/ ) zurückzugreifen es funktionierte.

0
user3702869