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.
czy ktoś ma jakiś pomysł? –
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
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? –