2013-09-24 39 views
12

Tôi đã thực hiện nghiên cứu của mình và tìm thấy các vấn đề liên quan khác. Không ai giúp được.Lỗi Selenium WebDriver Firefox - Không thể kết nối

cho đến nay:

  • có lên đến phiên bản cập nhật của selen

  • cài đặt phiên bản cũ của firefox

Tôi đã làm lu mờ trên cửa sổ 7, tôi đã tạo ra một. chiến tranh và thử nghiệm trong nhật thực dưới localhost: 8080/JSPprojectServlets (trên W7) và nó hoạt động tốt. selenium mở firefox, lấy url, sau đó lấy nguồn.

Sau đó tôi đặt tệp .war vào máy linux (ubuntu) của tôi dưới tomcat7/webapps và cố gắng truy cập nó với máy tính Windows 7 của tôi theo 192.168.1.102:8080/JSPprojectServlets nhưng nó không hoạt động và cung cấp lỗi sau :

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ã của tôi trông như thế này

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:

Khi tôi sử dụng HtmlUnitDriv nó hoạt động 192.168.1.102:8080/JSPprojectServlets

rõ ràng nó không thể mở firefox vì một lý do nào đó. Tôi đang ở trong W7 64bit và có instaleld FF10 và vẫn không có gì.

+0

có ai có ý tưởng nào không? –

+2

Tôi không chắc mình hiểu thiết lập của bạn. Bạn có WAR trên một tomcat trên một máy chủ Linux và đang cố gắng chạy dự án selen của bạn trên một máy W7 với FF10, đúng không? Máy nào ném lỗi đó? Nó trông giống như một cái gì đó được ném bởi một máy Linux nhưng máy Linux không nên cố gắng để khởi động Firefox nếu tôi hiểu thiết lập một cách chính xác. Bạn có thể làm rõ? Oh, và không mở URL bằng tay trên máy làm việc của windows? – blalasaadri

+0

Chiến tranh của bạn có hoạt động tốt trên ubuntu và bạn có thể truy cập nó trên hệ thống cửa sổ không? Selenium đang chạy trên hệ thống nào? –

Trả lời

7

Hãy thử đưa đường dẫn tuyệt đối nhị phân của Firefox dưới dạng tham số trong mã của bạn và khi gọi từ win7 cung cấp điều này như trong đầu vào cho JSP của bạn và sau đó nó có thể giải quyết được sự cố. Từ theo dõi chồng trên của bạn nó nói rằng nhị phân firefox không thể được tìm thấy trong/usr/bin/firefox nhưng bạn đang cố gắng để gọi trình điều khiển web trong win7 nơi đường dẫn là khác nhau.

Receiving org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH running tests in Selenium IDE with Webdriver playback

+0

Cảm ơn! Không chính xác những gì tôi muốn, vẫn là giải pháp tốt nhất. –

1

Điều này xảy ra khi máy khách java không thể kết nối với cá thể Selenium trên máy chủ cục bộ. Nếu bạn đang chạy trên cửa sổ đảm bảo rằng "127.0.0.1 localhost" lin trong tệp máy chủ được nhận xét. Tệp máy chủ sẽ có sẵn trong thư mục C: \ Windows \ System32 \ drivers \ etc.

Điều này đã khắc phục sự cố tương tự, mà tôi phải đối mặt. Điều này chủ yếu xảy ra nếu chúng tôi ở phía sau máy chủ proxy.

+0

cảm ơn bạn đã trả lời .... nhưng nó vẫn tiếp tục đưa ra cùng một lỗi. Tôi không chạy trên localhost ... chỉ eclipse là trên localhost cho mục đích thử nghiệm. Tôi đặt tập tin .war trên máy chủ ubuntu của tôi và sau đó trực tiếp vào ip nội bộ từ các cửa sổ của tôi 7 –

+0

Có phải selen có thể tải trình duyệt trực tiếp từ một trang web không? về cơ bản những gì tôi đang làm là sử dụng JSP để tạo trang web ... là tôi sẽ truy cập www.site.com/selenium.jsp và trang web đó được cho là tải trình duyệt mới-> truy cập url www.google. com -> tìm kiếm -> dữ liệu đầu ra là điều này có thể thực hiện được không? –

0

Tôi đã gặp phải sự cố như thế này với ChromeDriver, nơi tôi không thể chạy thử nghiệm vì chromedriver của tôi không hỗ trợ phiên bản của tôi về google chrome mà tôi đã được cài đặt trên máy tính của tôi.

Thay vì cài đặt một phiên bản cũ của firefox, và có một FirefoxDriver mới hơn, chắc chắn cả hai đều copacetic bằng cách cập nhật cả

1

tôi đã cùng một vấn đề. Ở khắp mọi nơi tôi đã được tìm thấy nguyên nhân gốc rễ như vấn đề phiên bản và thực sự nó được. Điều này đã được sắp xếp sau khi chuyển sang phiên bản mới nhất của Trình điều khiển Web Selenium, tức là từ 2,32 đến 2,39 (Vì tất cả các thành phần khác như trình duyệt Java/Web, vv đã được cập nhật). Tất cả các tập lệnh đều hoạt động tốt ngay bây giờ.

0

tôi đã có lỗi tương tự trong việc triển khai một cuộc chiến tranh và thử nghiệm với Selenium trên Windows 7 và apache-tomcat-6.0.37:

org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118) 

Kể từ khi các cuộc thử nghiệm đang làm việc trước khi nâng cấp Firefox để v 27 (lúc đó 29). Tôi đã thử quay lại phiên bản cũ hơn của Firefox 18.0.2 (http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/18.0.2/win32/en-US/) và nó đã hoạt động.

1

tôi cũng có cùng một vấn đề nhưng bằng cách nào đó tôi đã giải quyết vấn đề này bằng cách,

  1. cập nhật JAR tôi Files: selen-java-2.43.0.jar để selen-Java- 2.48.2.jarselen-server-độc-2.43.1.jar để selen-server-độc-2.48.2.jar
  2. Added một JAR file mới selen-java-2.48.2-srcs.jar để lib

Những thay đổi được thực mã của tôi hoàn hảo trong trường hợp của tôi

0

cập nhật của bạn selen-java - file jar *..

phiên bản hiện tại của jar selen-java là selen-java-2.48.2.jar

vì vậy hãy sử dụng cập nhật jar.

nếu bạn không muốn cập nhật tệp jar, trong trường hợp đó, hãy vô hiệu hóa cập nhật firefox của bạn

Các vấn đề liên quan