2013-09-24 17 views
12

Zrobiłem moje badania i znalazłem inne powiązane problemy. Żadne nie pomogło.Błąd przeglądarki Selenium WebDriver - nie powiodło się połączenie

tej pory:

  • mieć aktualne wersji selenu

  • zainstalowana starsza wersja Firefoksa

mam zaćmienie na windows 7, stworzyłem. war i przetestowane w eclipse pod localhost: 8080/JSPprojectServlets (na W7) i działa dobrze. selenium otwiera firefox, pobiera adres URL, a następnie pobiera źródło.

Następnie wstawię plik .war do mojej maszyny linux (ubuntu) pod tomcat7/webapps i spróbuję odwiedzić to z moją maszyną z systemem Windows 7 pod 192.168.1.102:8080/JSPprojectServlets ale to nie działa i daje następujący błąd :

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. 

mój kod wygląda następująco

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:

Gdy używam HtmlUnitDriv er działa 192.168.1.102:8080/JSPprojectServlets

wyraźnie nie może otworzyć firefox z jakiegoś powodu. Jestem w 64-bitowym W7 i zainstalowałem FF10 i nadal nic.

+0

czy ktoś ma jakiś pomysł? –

+2

Nie jestem pewien, czy rozumiem twoją konfigurację. Masz WAR na tomcat na serwerze Linux i próbujesz uruchomić swój projekt selenu na maszynie W7 z FF10, prawda? Która z maszyn zgłasza ten błąd? Wygląda jak coś wyrzuconego przez maszynę Linux, ale maszyna Linux nie powinna próbować uruchamiać Firefoksa, jeśli dobrze zrozumiałem konfigurację. Możesz wyjaśnić? Aha, i czy otwarcie adresu URL ręcznie na maszynie Windows działa? – blalasaadri

+0

Czy twoja wojna działa dobrze na Ubuntu i czy możesz uzyskać do niej dostęp w systemie Windows? Na którym systemie Selenium działa? –

Odpowiedz

7

Spróbuj podać bezwzględną ścieżkę binarną Firefoksa jako parametr w kodzie i podczas wywoływania z win7 podaj to jako dane wejściowe do strony JSP, a następnie może rozwiązać problem. Z powyższego wykresu stosu wynika, że ​​nie można znaleźć pliku binarnego firefox w/usr/bin/firefox, ale próbujesz wywołać webdrivera w win7, gdzie ścieżka jest inna.

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

+0

Dzięki! Nie dokładnie to, co chciałem, nadal najlepsze rozwiązanie. –

1

Dzieje się tak, gdy klient Java nie może połączyć się z serwerem lokalnym na hoście Selenium. Jeśli korzystasz z systemu Windows, upewnij się, że komentarz "127.0.0.1 localhost" w pliku hosts został skomentowany. Plik hostów będzie dostępny w folderze C: \ Windows \ System32 \ drivers \ etc.

Naprawiono ten sam problem, z którym miałem do czynienia. Dzieje się tak głównie, jeśli jesteśmy za serwerem proxy.

+0

dziękuję za odpowiedź .... ale nadal daje ten sam błąd. Nie jestem uruchomiony na localhost ... tylko eclipse jest na localhost do celów testowych. Umieściłem plik .war na moim serwerze ubuntu, a następnie kieruję do wewnętrznego adresu IP z mojego okna 7 –

+0

Czy selen może załadować przeglądarkę bezpośrednio ze strony internetowej? Zasadniczo to, co robię, to używanie strony JSP do tworzenia strony internetowej ... czy odwiedziłbym witrynę www.site.com/selenium.jsp , a strona ta ma załadować nową przeglądarkę-> przejdź do strony www.google. com -> search -> dane wyjściowe czy to jest możliwe? –

0

jakie miałem problemu jak ten z ChromeDriver, gdzie nie mogłem uruchomić testy, ponieważ mój chromedriver nie popiera moją wersję Google Chrome, że miałem zainstalowany na moim komputerze.

Zamiast instalować starą wersję Firefoksa, a po nowszą FirefoxDriver, upewnij się, że oba są copacetic aktualizując zarówno

1

miałem ten sam problem. Wszędzie znaleziono główną przyczynę problemu z wersją i tak naprawdę było. Zostało to posortowane po migracji do najnowszej wersji sterownika sieciowego Selenium, tj. Od 2,32 do 2,39 (ponieważ wszystkie inne składniki, takie jak przeglądarka Java/przeglądarka itp. Są już aktualne). Wszystkie skrypty działają teraz dobrze.

0

Miałem ten sam błąd na rozmieszczanie wojny i testowanie z selenu w systemie Windows 7 i Apache Tomcat-6.0.37-:

org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118) 

Ponieważ testy pracowali przed aktualizacją Firefoksa v 27 (wówczas 29). Próbowałem wrócić do wcześniejszej wersji przeglądarki Firefox 18.0.2 (http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/18.0.2/win32/en-US/) i to działało.

1

ja też miałem ten sam problem, ale jakoś mam Rozwiązaliśmy ten problem przez,

  1. aktualizowanie moim JAR pliki: selen-java-2.43.0.jar do selen-java- 2.48.2.jar i selen-server-wolnostojąca-2.43.1.jar do selen-server-wolnostojąca-2.48.2.jar
  2. dodał nowy plik JAR selen-java-2.48.2-srcs.jar do lib

Te zmiany dokonane mój kod bezbłędne w moim przypadku

0

zaktualizować swój selen-java -. * Pliku jar.

Aktualna wersja selen-java jar jest selen-java-2.48.2.jar

więc proszę użyć zaktualizowaną jar.

jeśli nie chcesz aktualizować plików JAR, w takim wypadku wyłącz aktualizację firefox

Powiązane problemy