2012-07-12 2 views
0

Ruby on Rails 프로젝트에서이 메소드는 환경에 따라 Selenium 드라이버를 검색하는 것을 발견했습니다. (개발, 테스트 또는 생산) 물론Selenium 드라이버를 설정하는 두 가지 방법의 차이점은 무엇입니까?

def driver 
    @driver ||= begin 
     if Rails.env.production? 
     driver = Selenium::WebDriver.for :remote, url: 'http://localhost:4444/wd/hub' 
     else 
     driver = Selenium::WebDriver.for :firefox 
     end 
     driver.manage.timeouts.implicit_wait = 1 
     driver 
    end 
    end 

, 나는 공식 문서를 읽을 수 있지만 그것은 아직도 매우 명확 나타납니다

http://code.google.com/p/selenium/wiki/RemoteWebDriver -이 두 가지 방법의 차이점은 (무엇 http://code.google.com/p/selenium/wiki/FirefoxDriver

원격 및 파이어 폭스)?

특히 제거 된 방법으로 지적한 호스트를 localhost로 설정하는 이유는 ... 실제로 localhost를 선택하면 firefox 드라이버를 선택하지 않는 이유는 무엇입니까?

답변

2

: remote는 : url에서 Selenium Server를 실행하는 원격 서버를 사용한다는 것을 의미합니다. 이 경우 selenium 서버가 localhost에서 실행 중입니다. 브라우저가 식별되지 않으므로 서버가 설정된 기본 브라우저를 사용합니다.

: firefox는 스크립트가 실행되는 동일한 상자에서 firefox를 사용하려고 시도한다는 것을 의미합니다.

이 두 예제는 rubybindings의 소개 페이지에서 볼 수 있습니다. http://code.google.com/p/selenium/wiki/RubyBindings

은 일반적인 문서 물건이 사람이이 이유에 관해서는 http://selenium.googlecode.com/svn/trunk/docs/api/rb/index.html

... 좋은 장소가 될 수 있는가? 어쩌면 찌그러진 환경에서이 코드를 개발 한 사람을 제외하고 다른 사람이 (코드에 액세스 할 수없는 자극받은 사람처럼) 크롬 (예 : ff 등)이있는 플랫폼에 따라 셀렌 서버를 제어 할 수 있습니다. 나는 여기서 추측하고있다.

관련 문제