web-dev-qa-db-fra.com

Erreur Selenium WebDriver Firefox - Échec de la connexion

J'ai fait mes recherches et trouvé d'autres problèmes connexes. Aucun n'a aidé.

jusque là: 

  • avoir la version à jour de Selenium

  • ancienne version installée de Firefox

J'ai Eclipse sur Windows 7, j'ai créé un fichier .war et testé sous Eclipse sous localhost: 8080/JSPprojectServlets (sur W7) et tout fonctionne correctement. Selenium ouvre Firefox, obtient l'URL, puis le source. 

Je mets ensuite le fichier .war dans ma machine linux (ubuntu) sous Tomcat7/webapps et essaie de le visiter avec ma machine Windows 7 sous 192.168.1.102:8080/JSPprojectServlets mais cela ne fonctionne pas et donne l'erreur suivante:

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.

mon code ressemble à ceci

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

    }
}

METTRE À JOUR:

Quand j'utilise HtmlUnitDriver cela fonctionne 192.168.1.102:8080/JSPprojectServlets

clairement, il ne peut pas ouvrir firefox pour une raison quelconque. Je suis dans W7 64bit et instaleld FF10 et toujours rien.

12
Dev-Ria

Essayez de définir le chemin absolu binaire de Firefox en tant que paramètre dans votre code. Lorsque vous appelez Win7, indiquez-le comme une entrée pour votre JSP. Cela pourrait alors résoudre le problème. Dans votre trace de pile ci-dessus, il est indiqué que le fichier binaire firefox n’est pas disponible dans/usr/bin/firefox, mais que vous essayez d’invoquer WebDriver dans win7 où le chemin est différent. 

Réception de org.openqa.Selenium.WebDriverException: impossible de trouver le fichier binaire firefox dans les tests en cours d'exécution de PATH dans Selenium IDE avec la lecture Webdriver

7
Sunand Padmanabhan

J'ai eu le même problème. Partout où j'ai été trouvé cause fondamentale en tant que problème de version et en réalité c'était… .. Ceci a été trié après la migration vers la dernière version de Selenium Web Driver, c’est-à-dire de 2.32 à 2.39 (comme tous les autres composants comme les navigateurs Java/Web, etc. ). Tous les scripts fonctionnent bien maintenant.

1
Pushkar Srivastava

Cela se produit lorsque le client Java ne parvient pas à se connecter à l'instance Selenium sur l'hôte local . Si vous utilisez Windows, assurez-vous que lin "127.0.0.1 localhost" est commenté dans le fichier hosts . Le fichier Hosts sera disponible dans C:\Windows\System32\drivers\etc.

Cela a résolu le même problème que celui auquel j'ai été confronté. Cela se produit principalement si nous sommes derrière un serveur proxy.

1
santosh

Moi aussi, j’ai eu le même problème, mais j’ai résolu ce problème par,

  1. mise à jour de mes fichiers JAR: Selenium-Java-2.43.0.jar à Selenium-Java-2.48.2.jar et Selenium-server-standalone-2.43.1.jar to Selenium-server-standalone-2.48.2.jar
  2. Ajout d'un nouveau fichier JAR Selenium-Java-2.48.2-srcs.jar to lib

Ces modifications ont rendu mon code sans faille dans mon cas

1

mettez à jour votre fichier Selenium-Java - *. jar.

la version actuelle de Selenium-Java jar est Selenium-Java-2.48.2.jar

alors s'il vous plaît utilisez jar mise à jour. 

si vous ne voulez pas mettre à jour les fichiers jar, dans ce cas, désactivez votre mise à jour firefox 

0
Prade jo

J'ai rencontré un problème de ce type avec ChromeDriver, je ne pouvais pas exécuter de tests car mon lecteur chromedriver ne prenait pas en charge la version de Google Chrome que j'avais installée sur mon ordinateur.

Au lieu d’installer une ancienne version de Firefox et d’avoir un FirefoxDriver plus récent, assurez-vous qu’ils sont copacétiques en mettant à jour les deux

0
sircapsalot

J'ai eu la même erreur sur le déploiement d'une guerre et les tests avec Selenium sur Windows 7 et Apache-Tomcat-6.0.37:

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

Étant donné que les tests fonctionnaient avant la mise à niveau de Firefox vers la version 27 (puis 29). J'ai essayé de revenir à la version précédente de Firefox 18.0.2 ( http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/18.0.2/win32/en-US/ ) et ça a marché.

0
user3702869