60 초 내에 안정적인 파이어 폭스 연결을 얻을 수 없음 (127.0.0.1:7055)


80

rspec 테스트를 실행할 때 다음 오류가 발생합니다.

레일에서 60 초 (127.0.0.1:7055) 내에 안정적인 파이어 폭스 연결을 얻을 수 없음

최신 루비 (1.9.2) 및 파이어 폭스 (6.0) 사용

rspec-rails, capybara 및 기타 여러 보석을 사용하지만 문제가되지 않는 것 같습니다. 이 테스트는 다른 환경 (리눅스)에서 잘 실행됩니다.

답변:


99

[업데이트 -2015 에도이 문제를 해결할 수 있습니다. | mdurrant |]

나는 최근에이 문제를 발견했다 .

올바른 셀레늄 웹 드라이버를 사용하려면 capybara v1.0.1로 업그레이드해야합니다.

내가 추가했는지 확인하려면 :

gem 'selenium-webdriver', '2.25.0'

내 Gemfile에서.

중요 사항 : 보석 업데이트하고, 새로운 버전의 파이어 폭스 이후의 모든 버전에 대해 발표했다. 현재 Firefox 15 를 지원하려면 버전 이 필요합니다 .
selenium-webdriver2.25.0


11
나는 실제로 'bundle update selenium-webdriver'를 수행했지만 어느 쪽이든 목표는 selenium-webdriver gem을 2.5.0으로 업데이트하는 것입니다. 업데이트 후 테스트가 정상적으로 실행되었습니다.
Srini K

그냥 했어. 지연 돼서 죄송합니다.
Srini K 2011 년

1
해야 할 일-gem 'selenium-webdriver', '> = 2.5.0'-파이어 폭스 11의 경우 이것은 저에게 gem 버전 2.10을 얻었습니다 ...
ZX12R

7
그리고 Firefox 19에는 selenium-webdriver 2.31.0이 필요합니다. 대답은 항상 "최신 selenium-webdriver 가져 오기"인 것 같습니다.
jwadsack

나는 항상 버전 번호를 끄고 버전을 업데이트해야 selenium-webdriverbundle update selenium-webdriver때 수행 합니다.
Jason Swett 2015 년

17

Ubuntu에서 Firefox 10과 함께 작동하지 못했습니다. Chrome으로 전환하는 것이 도움이되었습니다.

Chrome 드라이버를 설치합니다 .

spec_helper.rb :

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

사양 :

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

5
Mac을 사용하는 경우 간단하게 할 수 있습니다.brew install chromedriver
Will

좋아했다를 제외하고, 나를 위해 일한 그래서 : Capybara.javascript_driver = :selenium_chrome(대신 설정 current_driver.)
팀 스콧

Chrome으로 전환하면 안정적인 Firefox 연결을 설정하는 데 도움이 되었나요? 매혹적인. :)
D. Patrick

12

Firefox 12에서이 문제를 경험 한 사람에게는 현재 셀레늄 웹 드라이버 (2.21)가 FF12를 지원하지 않습니다. 내가 찾은 유일한 해결책은 selenium-webdriver가 FF12 지원으로 업데이트 될 때까지 Firefox를 계속 사용하는 것입니다.

Firefox 패키지를 선택하고 패키지 메뉴> 강제 버전을 클릭하고 이전 버전을 선택하여 시냅스 패키지 관리자를 사용하여 수행 할 수 있습니다. 그런 다음 변경 사항을 적용하십시오.

synaptic이없는 경우 apt-get install synaptic으로 설치할 수 있습니다.

업데이트 : Firefox 12 지원은 2.22에서 추가되었고 FF13 지원은 2.23에서 추가되었습니다.


정말 고마워요.
Slotos

1
selenium-webdriver 2.22.0.rc1과 함께 나를 위해 FF12와 함께 작동
Gazler

10

사양이 헤드리스 서버에서 실행되고 있었기 때문에이 오류가 발생했습니다. 이것은 브라우저가 렌더링 할 디스플레이가 없음을 의미합니다.

이 기사 에서는 가상 X 서버 ( X Virtual Framebuffer ) 사용을 제안합니다 . 이를 통해 브라우저가 가상 디스플레이에서 렌더링 할 수 있습니다.

다음과 같이 설치하십시오.

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

그런 다음 xvfb-run앞에 명령 을 사용 하여 사양을 실행합니다 .

xvfb-run bundle exec rake spec:features

이것은 위의 기사로 이끄는 SO 대답이었습니다 . 또한 Xvfb를 사용하는 대체 수단을 제공합니다.


1
그 "xfonts-키릴은"마지막 C는 실종됐다
페데리코 Gaule Palombarani

3

* / var / lib / gems / 1.9.1 / gems / selenium-webdriver-2.35.1 / lib / selenium / webdriver / firefox / launcher.rb : 79 : in`connect_until_stable ': 60 초 내에 안정적인 firefox 연결을 얻을 수 없습니다. (127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError)*

나는 똑같은 문제가 있었는데, 업데이트가 selenium-webdriver도움이되지 않았습니다 (이미 사용 가능한 최신 버전이었습니다).

SSH 세션에서 스크립트를 실행하려고했지만 $DISPLAY설정되지 않은 것으로 나타났습니다.

문제는 다음과 같이 수정되었습니다.

export DISPLAY=:0

SSH 세션에서 Ruby 스크립트를 시작하기 전에 ( echo $DISPLAYX 세션의 터미널에서이 변수에 무엇을 입력해야하는지 확인하십시오).


2
bundle update selenium-webdriver

플러스 1, 2015 년에 이것은 나에게 가장 쉬운 해결책이었습니다. 하드 코딩 버전 번호를 망칠 필요가 없습니다.
Michael Durrant

1

내 애플리케이션의 Gemfile에 'launchy'gem을 추가하면 FF13.0, Capybara & Selenium v1.8.24에서 작동했습니다.


1
나는 이것이 문제를 해결했다면 그것은 launchy를 추가하면 나중에 버전의 카피 바라가 (예 : 의존성) 끌어 오기 때문일 것이라고 생각합니다.
Stefan Magnuson 2014 년

0

이것은 모두가 위에서 말한 것을 반복하는 것입니다. 내 gemfile을 확인하고 'selenium-webdriver'에 제한이 없는지 확인한 다음 '번들 업데이트'를 실행했으며 작동했습니다.

나는 ubuntux64 및 Windows 8 x64에 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.