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

Я сделал свое исследование и найти другие вопросы. Никто не помог.

до сих пор:

  • имейте последнюю версию selenium

  • установлена более старая версия firefox

у меня eclipse на windows 7, я создал .война и протестирована в eclipse под localhost: 8080 / Jpprojectservlets (на W7), и она отлично работает. selenium открывает firefox, получает url, затем получает source.

I потом положить. файл войны в моей машине 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());

    }
}

обновление:

когда я использую HtmlUnitDriver, он работает 192.168.1.102: 8080/JSPprojectServlets

очевидно, что по какой-то причине он не может открыть firefox. Я в W7 64bit и у instaleld FF10 и до сих пор ничего.

7 ответов


попробуйте дать двоичный абсолютный путь Firefox в качестве параметра в вашем коде, и при вызове из win7 предоставьте это как вход в ваш JSP, а затем он может решить проблему. Из приведенной выше трассировки стека говорится, что двоичный файл firefox не может быть найден в /usr/bin/firefox, но вы пытаетесь вызвать webdriver в win7, где путь отличается.

получение орг.openqa.селен.WebDriverException: не удается найти двоичный файл firefox в пути запуска тестов в Selenium IDE с Воспроизведение Webdriver


Это происходит, когда клиенту java не удается подключиться к экземпляру Selenium на локальном хосте. Если вы работаете в windows, убедитесь, что" 127.0.0.1 localhost " lin в файле hosts прокомментирован. Файл Hosts будет доступен в C:\Windows\System32\drivers\etc папка.

это исправило ту же проблему, с которой я столкнулся. Это в основном происходит, если мы находимся за прокси-сервером.


У меня была та же проблема. Везде я был найден первопричиной как проблема версии, и действительно это было. Это было отсортировано после перехода на последнюю версию Selenium Web Driver, т. е. от 2.32 до 2.39 (поскольку все другие компоненты, такие как Java/Web browser и т. д., уже обновлены). Все скрипты работают нормально.


У меня тоже была такая же проблема, но как-то я разрешить этот вопрос by,

  1. обновление файлов JAR:selenium-java-2.43.0.Джар в selenium-java-2.48.2.Джар и selenium-сервер-автономный-2.43.1.Джар к selenium-сервер-автономный-2.48.2.Джар
  2. добавлен новый файл JAR selenium-java-2.48.2-srcs.Джар к lib

эти изменения сделали мой код безупречным в мой случай


У меня возникла такая проблема с ChromeDriver, где я не мог запускать тесты, потому что мой chromedriver не поддерживал мою версию google chrome, которую я установил на своем компьютере.

вместо того, чтобы устанавливать старую версию firefox и иметь более новый FirefoxDriver, убедитесь, что оба являются copacetic путем обновления и


У меня была такая же ошибка при развертывании войны и тестировании с 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/) и это сработало.


обновите selenium-java -*.файл jar.

текущая версия selenium-java jar является selenium-java-2.48.2.Джар

поэтому, пожалуйста, используйте обновленный jar.

Если вы не хотите обновлять файлы jar, в этом случае отключите обновление firefox