Ошибка Selenium WebDriver Firefox - Не удалось подключиться
Я сделал свое исследование и нашел другие связанные с этим проблемы. Никому не помогли.
:
У меня есть eclipse на windows 7, я создал .war и тестировался в eclipse под localhost: 8080/JSPprojectServlets (на W7), и он отлично работает. selenium открывает firefox, получает URL-адрес, затем получает источник.
Затем я помещаю файл .war в свою машину linux (ubuntu) под tomcat7/webapps и пытаюсь посетить его с помощью моего компьютера с Windows 7 под 192.168.1.102:8080/JSPprojectServlets, но он не работает, и он дает следующую ошибку:
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.
мой код выглядит следующим образом
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:
Когда я использую HtmlUnitDriver, он работает 192.168.1.102:8080/JSPprojectServlets
ясно, что он почему-то не может открыть firefox. Я нахожусь в W7 64bit и имею instaleld FF10 и все еще ничего.
Ответы
Ответ 1
Попробуйте дать абсолютный путь двоичного кода Firefox в качестве параметра в вашем коде, а при вызове из win7 укажите это как при вводе в JSP, а затем он сможет решить проблему. Из предыдущей трассировки стека говорится, что бинарный файл firefox не найден в /usr/bin/firefox, но вы пытаетесь вызвать webdriver в win7, где путь отличается.
Получение org.openqa.selenium.WebDriverException: не удается найти двоичный файл firefox в тестах PATH в Selenium IDE с воспроизведением Webdriver
Ответ 2
Это происходит, когда java-клиент не может подключиться к экземпляру Selenium на локальном хосте.
Если вы работаете с окнами, убедитесь, что в файле хостов "127.0.0.1 localhost" прокомментирован.
Файл хостов будет доступен в папке C:\Windows\System32\drivers\etc.
Это проблема, с которой я столкнулся.
Это происходит, главным образом, в случае прокси-сервера.
Ответ 3
У меня была та же проблема. Повсюду я был признан первопричиной как проблема с версией, и на самом деле это было.
Это было отсортировано после перехода на последнюю версию Selenium Web Driver i.e от 2.32 до 2.39 (так как все остальные компоненты, такие как Java/Web-браузер и т.д., Уже обновлены). Теперь все скрипты работают нормально.
Ответ 4
У меня тоже была такая же проблема, но почему-то я решил решить эту проблему,
- обновление моих файлов JAR: selenium-java-2.43.0.jar.
selenium-java-2.48.2.jar и selenium-server-standalone-2.43.1.jar
selenium-server-standalone-2.48.2.jar
- Добавлен новый JAR файл selenium-java-2.48.2-srcs.jar в lib
Эти изменения сделали мой код безупречным в моем случае
Ответ 5
У меня возникла такая проблема с ChromeDriver, где я не мог запускать тесты, потому что мой chromedriver не поддерживал мою версию google chrome, установленную на моем компьютере.
Вместо того, чтобы устанавливать старую версию firefox и иметь новый FirefoxDriver, убедитесь, что оба они коаксичны, обновив и
Ответ 6
У меня была такая же ошибка при развертывании войны и тестирования с Selenium на Windows 7 и apache-tomcat-6.0.37:
org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
Поскольку тесты работали до обновления Firefox до v 27 (тогда 29). Я попытался вернуться к более ранней версии Firefox 18.0.2 (http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/18.0.2/win32/en-US/), и она сработала.
Ответ 7
обновите файл selenium-java - *. jar.
Текущая версия сахара selenium-java selenium-java-2.48.2.jar
поэтому, пожалуйста, используйте обновленную банку.
если вы не хотите обновлять файлы jar, в этом случае отключите обновление firefox