Ошибка Selenium WebDriver Firefox - Не удалось подключиться

Я сделал свое исследование и нашел другие связанные с этим проблемы. Никому не помогли.

:

  • имеют обновленную версию селена

  • установлена ​​старая версия 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