복붙노트

[RUBY-ON-RAILS] 60 초 안정 파이어 접속을 얻을 수없는 (127.0.0.1:7055)

RUBY-ON-RAILS

60 초 안정 파이어 접속을 얻을 수없는 (127.0.0.1:7055)

오이에 의해 시나리오를 테스트하는 동안 RSpec에 테스트를 실행할 때 다음과 같은 오류를 받고 있어요

루비를 사용 (1.9.2) 셀레늄 webdriver (2.27.2)와 파이어 폭스 (19.0)

사용 RSpec에 레일 (2.12.1), 카피 바라 (2.0.2)와 여러 가지 다른 보석, 또한 내가 Launchy에 보석을 추가 한하지만 문제가 될 것 같지 않습니다. 그리고 난 윈도우 7을 사용하고 있습니다.

해결법

  1. ==============================

    1.나는 (리눅스) 같은 문제가 있었다. 고정 :

    나는 (리눅스) 같은 문제가 있었다. 고정 :

    gem update selenium-webdriver
    

    지금은 루비 1.9.3-p286, 셀레늄 webdriver 2.29.0, 파이어 폭스 18.0을 사용하고 있습니다 물론 2.9.0, 1.1.2 삐, 및 RSpec에 레일 같이 삐 - 웹킷 0.12.1

    나는 안전을 위해 내 Gemfile에 셀레늄 webdriver 2.29.0을 추가했다.

  2. ==============================

    2.셀레늄 Webdriver 파이어 폭스로 유지하기 위해 자주 업데이트를 얻을 것 같다. 그러나 당신은 어떻게 당신이 필요로하는 버전을 알 수 있습니까? 희망이 절차는 심지어 버전의 변화로 작동합니다 :

    셀레늄 Webdriver 파이어 폭스로 유지하기 위해 자주 업데이트를 얻을 것 같다. 그러나 당신은 어떻게 당신이 필요로하는 버전을 알 수 있습니까? 희망이 절차는 심지어 버전의 변화로 작동합니다 :

    당신이 Bundler 프로그램을 사용하는 경우, 당신이 가지고있는 버전을 확인하는 번들 쇼 셀레늄 webdriver를 실행합니다. 2.35.0에 예를 들어, 업데이트하려면 Gemfile에이 줄을 추가합니다 :

    gem 'selenium-webdriver', '2.35.0'
    

    다음 설치 번들 업데이 트를 실행합니다. 당신이 Spork를 사용하는 경우, 테스트를 재 실행하기 전에 다시 시작해야합니다.

    최신 정보 하나 StackOverflow의 대답은 변경 로그가 빨리 소스 코드 저장소에 seleniumhq.org보다 업데이트 할 수 있음을 나타냅니다. 루비의 저장소 변경 로그는 여기에 있습니다 : https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES.

    우분투 12.04 파이어 폭스를 다운 그레이드해야하는 경우,이 대답은 여기에 주어진 파이어 폭스의 모든 버전의 파이어 폭스 (20)로 전환 할 수있는 방법의 일반적인 설명을 다시 이동하는 방법에 대해 설명합니다. 그리고 셀레늄은 파이어 폭스의 최신 버전과 함께 작동하는 업데이트를 릴리스 할 때까지 파이어 폭스 업데이트를 넣어이 답변을 사용합니다.

    내 경우, 나는 단지 그렇게 처음 셀레늄 업데이트를 확인, 셀레늄 Webdriver 최근 최신 버전을 처리하기 위해 업데이트되었다는 것을 발견 Firefox를 다운 그레이드!

  3. ==============================

    3.

    bundle update selenium-webdriver
    
  4. ==============================

    4.그냥 CI 서버에이에 달려 파이어 폭스 사용에 아무런 표시가 없었다 때문에 그것이 것을 발견했다. 나는 셀레늄 webdriver 그것은 더 이상의 개입와 함께 작동 할 것이라고 생각했지만 이것은 사실이 아니었다.

    그냥 CI 서버에이에 달려 파이어 폭스 사용에 아무런 표시가 없었다 때문에 그것이 것을 발견했다. 나는 셀레늄 webdriver 그것은 더 이상의 개입와 함께 작동 할 것이라고 생각했지만 이것은 사실이 아니었다.

    혼합으로 Xvfb가 추가가 작동했다.

    레일은 오이를 실행하기위한 기능 :

    gem 'headless'
    

    다음 기능 / 지원 / env.rb에서

    Before do
      if Capybara.current_driver == :selenium
        require 'headless'
    
        headless = Headless.new
        headless.start
      end
    end
    
  5. ==============================

    5.셀레늄과 파이어 폭스 버전이 호환되지 않는 경우이 오류가 발생합니다.

    셀레늄과 파이어 폭스 버전이 호환되지 않는 경우이 오류가 발생합니다.

    두 가지 옵션이 있습니다.

  6. ==============================

    6.나를 위해 일한 마법 조합은 파이어 폭스 19.0 셀레늄 웹 드라이버 2.32.1 (글을 쓰는 시점에서 최신)이었다. 파이어 폭스 20.x 및 21.x는 작동하지 않았다. 나는 파이어 폭스를 다운 그레이드해야했다. > 파이어 폭스에 대해서는, 자동으로 최신 버전으로 업그레이드됩니다 - 또한 파이어 폭스 메뉴에 가면 (맥 OS에 적어도) 있음을 유의하십시오. 그렇게하지 마십시오.

    나를 위해 일한 마법 조합은 파이어 폭스 19.0 셀레늄 웹 드라이버 2.32.1 (글을 쓰는 시점에서 최신)이었다. 파이어 폭스 20.x 및 21.x는 작동하지 않았다. 나는 파이어 폭스를 다운 그레이드해야했다. > 파이어 폭스에 대해서는, 자동으로 최신 버전으로 업그레이드됩니다 - 또한 파이어 폭스 메뉴에 가면 (맥 OS에 적어도) 있음을 유의하십시오. 그렇게하지 마십시오.

  7. ==============================

    7.위에서 내 경우에는 지금과 같은 작업을 수행한다면, 총이를 제공합니다.

    위에서 내 경우에는 지금과 같은 작업을 수행한다면, 총이를 제공합니다.

    나는 하나 개의 시스템이 아닌 다른에 오류가 밖으로 시간을 얻고 있었다. 두 시스템은 모두의 동일한 버전을 실행하는 씬 클라이언트이다. 즉, 호환되지 않는 파이어 폭스 버전을 배제 그래서 (오류가 하나의 시스템에서 발생하고 다른되지 않음)

    헤드리스 (headless)가 사용되었다 포트에 문제가 있다고 밝혀졌다. 해당 포트를 사용하여 다른 프로세스가 있었다.

    아래는 나를 위해 문제를 해결 : .zshenv 파일에 다음 줄을 추가 수출 XVFB_DISPLAY = '새로운 포트 번호' 다음 설정 변경으로 터미널에 명령 zsh을 실행

  8. ==============================

    8.내가 스와 다른 사용자에게 내 자신 에드했다 터미널에서 IRB를 시작했다 때 나는이 문제를 가지고 있었다. 내가 해당 사용자로 IRB를 실행할 때이 오류를 얻을 것입니다. 하지만 루트로 실행하지 않는 경우. 그리고 로그인 한 사용자가 다시 소유 한 쉘 밖으로 종료하지 않을 경우.

    내가 스와 다른 사용자에게 내 자신 에드했다 터미널에서 IRB를 시작했다 때 나는이 문제를 가지고 있었다. 내가 해당 사용자로 IRB를 실행할 때이 오류를 얻을 것입니다. 하지만 루트로 실행하지 않는 경우. 그리고 로그인 한 사용자가 다시 소유 한 쉘 밖으로 종료하지 않을 경우.

  9. ==============================

    9.나를 위해, 난 이미 보석을 업데이트하지만 내 번들을 업데이트해야했다.

    나를 위해, 난 이미 보석을 업데이트하지만 내 번들을 업데이트해야했다.

    PowerShell에서, 디렉토리로 이동 한 후 번들을 업데이트 :

    cd D:\Projects\LazyAutomation
    bundle update
    
  10. ==============================

    10.방랑을 사용하는 모든 사용자를 위해, 당신은 X 서버 파이어 폭스 나를 위해 그것을 해결하는 제대로 시작할 수 있도록 로그인합니다. 방랑 SSH - -X

    방랑을 사용하는 모든 사용자를 위해, 당신은 X 서버 파이어 폭스 나를 위해 그것을 해결하는 제대로 시작할 수 있도록 로그인합니다. 방랑 SSH - -X

  11. ==============================

    11.다운 그레이드 파이어 폭스.

    다운 그레이드 파이어 폭스.

    이미 보석 '헤드리스'를 사용하고 보석을 업데이트하는 바로 지금과 같은 바람직하지 않은 경우에, 당신은 파이어 폭스를 다운 그레이드해야합니다.

    우분투 (그러나 다른 리눅스 배포판은 꽤 유사하다)의 경우 다음을 수행해야합니다

    우분투 최신 버전과 함께 제공 파이어 폭스를 제거

    sudo apt-get purge firefox
    

    당신은 여기에서 설명하는 일부 관련 데이터를 제거하여 보완 할 수

    이제 파이어 폭스의 이전 버전을 설치합니다. 나를 위해, 버전 42.0  일 (우리 Travis.ci이 그것을 사용하기 때문에)

    $ export FIREFOX_SOURCE_URL='https://download.mozilla.org/?product=firefox-42.0&lang=en-US&os=linux64'
    $ wget --no-verbose -O /tmp/firefox-42.0.tar.bz2 $FIREFOX_SOURCE_URL
    $ tar xvC ~/. -f /tmp/firefox-42.0.tar.bz2
    ln -s ~/firefox/firefox ~/bin/firefox
    

    새 터미널 탭을 열고 오이 사양 / 셀레늄 사양을 실행합니다.

    이제 파이어 폭스의 최신 버전을 다운로드하고 도크에서 액세스 할 수 /는 / usr / share / 응용 프로그램에서의 .desktop 파일을 만들 수 있습니다. 그리고 셀레늄은 기본적으로 이전 버전을 찾을 수 있습니다. 참조를 위해이 걸릴

  12. ==============================

    12.ballPointPenguin의 제안을 따른 후, 지금은 웹에서의 htdocs에 디렉토리 또는 파일을 설치 내 로컬 아파치에서 로컬 파일 또는 파일을 검색 할 수-webdriver을 Watir과 사용할 수 있습니다 :

    ballPointPenguin의 제안을 따른 후, 지금은 웹에서의 htdocs에 디렉토리 또는 파일을 설치 내 로컬 아파치에서 로컬 파일 또는 파일을 검색 할 수-webdriver을 Watir과 사용할 수 있습니다 :

    1) file:///Users/me/jquery_programs/1.htm
    2) 'http://localhost:8080/my.html'
    3) 'http://www.google.com'
    
    require 'watir-webdriver'
    
    browser = Watir::Browser.new :firefox
    browser.goto 'http://localhost:8080/my.html'
    

    업데이트하기 전에, 나는 오류가 발생했습니다 :

  13. from https://stackoverflow.com/questions/14303161/unable-to-obtain-stable-firefox-connection-in-60-seconds-127-0-0-17055 by cc-by-sa and MIT license