Ошибка 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, где путь отличается.
Это происходит, когда клиенту 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,
- обновление файлов JAR:selenium-java-2.43.0.Джар в selenium-java-2.48.2.Джар и selenium-сервер-автономный-2.43.1.Джар к selenium-сервер-автономный-2.48.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