không thể có được kết nối firefox ổn định trong 60 giây (127.0.0.1:7055)


80

Gặp lỗi sau khi chạy kiểm tra rspec

không thể có được kết nối firefox ổn định trong 60 giây (127.0.0.1:7055) trong đường ray

Sử dụng ruby ​​mới nhất (1.9.2) và firefox (6.0)

Sử dụng rspec-rails, capybara và một số loại đá quý khác, nhưng chúng dường như không thành vấn đề. Các thử nghiệm này chạy tốt trong môi trường khác (linux).

Câu trả lời:


99

[Cập nhật - đây có thể (là đối với tôi) vẫn là bản sửa lỗi cho vấn đề này trong năm 2015 | mdurrant |]

Tôi đã gặp vấn đề này gần đây .

Bạn nên nâng cấp lên capybara v1.0.1 để có trình duyệt web selen chính xác.

Để chắc chắn tôi đã thêm:

gem 'selenium-webdriver', '2.25.0'

trong Gemfile của tôi.

Lưu ý quan trọng :
Những selenium-webdriverviên ngọc được cập nhật, và một phiên bản mới được phát hành, cho mỗi phiên bản tiếp theo của trình duyệt Firefox. Hiện tại, 2.25.0cần có phiên bản để hỗ trợ Firefox 15 .


11
Tôi thực sự đã 'cập nhật gói selenium-webdriver', nhưng mục tiêu là cập nhật đá quý selenium-webdriver lên 2.5.0. Các bài kiểm tra chạy tốt sau khi cập nhật.
Srini K

vừa xong. xin lỗi về sự chậm trễ.
Srini K

1
phải làm - đá quý 'selen-webdriver', '> = 2.5.0' - cho firefox 11. này đã cho tôi viên ngọc phiên bản 2.10 ...
ZX12R

7
Và selenium-webdriver 2.31.0 là cần thiết cho Firefox 19. Có vẻ như câu trả lời luôn là, "tải selenium-webdriver mới nhất."
jwadsack

Tôi luôn chỉ để lại số phiên bản selenium-webdrivervà làm bundle update selenium-webdriverkhi phiên bản cần cập nhật.
Jason Swett

17

Tôi không thể làm cho nó hoạt động với Firefox 10 trên Ubuntu. Chuyển sang Chrome đã hữu ích.

Cài đặt trình điều khiển Chrome .

spec_helper.rb:

Capybara.register_driver :selenium_chrome do |app|   
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

Trong thông số của bạn:

Capybara.current_driver = :selenium_chrome
... tests ...
Capybara.use_default_driver

5
nếu bạn đang sử dụng máy Mac, bạn có thể đơn giảnbrew install chromedriver
Sẽ có

Làm việc cho tôi, ngoại trừ đã làm như vậy: Capybara.javascript_driver = :selenium_chrome(thay vì thiết lập current_driver.)
Tim Scott

Chuyển sang Chrome đã giúp bạn thiết lập kết nối Firefox ổn định? Hấp dẫn. :)
D. Patrick

12

Đối với bất kỳ ai gặp phải vấn đề này với Firefox 12, trình duyệt web selen hiện tại (2.21) không hỗ trợ FF12. Giải pháp duy nhất tôi tìm thấy là tiếp tục sử dụng Firefox là hạ cấp Firefox, cho đến khi selenium-webdriver được cập nhật với hỗ trợ FF12.

Điều này có thể được thực hiện bằng trình quản lý gói tiếp hợp bằng cách chọn gói Firefox và nhấp vào Trình đơn gói> Buộc phiên bản> chọn phiên bản cũ hơn. Sau đó, áp dụng các thay đổi.

Nếu bạn không có synap, bạn có thể cài đặt nó bằng apt-get install synap.

Cập nhật: Hỗ trợ Firefox 12 được thêm vào 2.22 và hỗ trợ FF13 được thêm vào 2.23


Cảm ơn rất nhiều, đã tiết kiệm cho tôi khá nhiều thời gian.
Slotos

1
selenium-webdriver Làm việc với FF12 cho tôi với 2.22.0.rc1
Gazler

10

Tôi gặp lỗi này vì các thông số kỹ thuật đang được chạy trên máy chủ không có đầu. Điều này có nghĩa là không có màn hình để trình duyệt hiển thị.

Bài viết này đề xuất sử dụng máy chủ X ảo ( X Virtual Framebuffer ). Điều này cho phép trình duyệt hiển thị trong một màn hình ảo.

Cài đặt như vậy:

sudo apt-get install xvfb
sudo apt-get install x11-xkb-utils
sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

Sau đó chạy các thông số kỹ thuật bằng lệnh xvfb-runở phía trước.

xvfb-run bundle exec rake spec:features

Đây là câu trả lời SO dẫn tôi đến bài viết trên. Nó cũng cung cấp một phương tiện thay thế để sử dụng Xvfb.


1
"xfonts-cyrillic" của nó, chữ c cuối cùng bị thiếu
Federico Gaule Palombarani

3

* / var / lib / gems / 1.9.1 / gems / selenium-webdriver-2.35.1 / lib / selenium / webdriver / firefox / launcher.rb: 79: trong `connect_until_stable ': không thể có được kết nối firefox ổn định trong 60 giây (127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError)*

Tôi đã gặp vấn đề tương tự, việc cập nhật selenium-webdriverkhông giúp được gì (đây là phiên bản mới nhất hiện có).

Hóa ra là tôi đã cố gắng chạy tập lệnh của mình từ phiên SSH và $DISPLAYkhông được thiết lập.

Sự cố đã được khắc phục với:

export DISPLAY=:0

trước khi bắt đầu tập lệnh Ruby của tôi từ phiên SSH (sử dụng echo $DISPLAYtrong một thiết bị đầu cuối trên phiên X để tìm hiểu những gì bạn cần đưa vào biến này).


2
bundle update selenium-webdriver

Thêm 1, vào năm 2015, đây là cách sửa chữa dễ dàng nhất đối với tôi. Không gây rối với số phiên bản mã hóa cứng.
Michael Durrant

1

Việc thêm đá quý 'khởi động' vào Gemfile của ứng dụng của tôi đã hoạt động với FF13.0, Capybara & Selenium v1.8.24.


1
Tôi nghi ngờ rằng nếu điều này đã khắc phục sự cố, thì đó chỉ là do việc thêm khởi chạy khiến phiên bản capybara mới hơn bị kéo vào (ví dụ như một phụ thuộc).
Stefan Magnuson

0

Đây chỉ là sự nhắc lại những gì mọi người đã nói ở trên. Tôi đã kiểm tra tệp gem của mình và đảm bảo rằng 'selenium-webdriver' không có bất kỳ giới hạn nào đối với nó, sau đó chạy 'cập nhật gói' và nó hoạt động.

Tôi đang sử dụng ubuntux64 và windows 8 x64

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.