2012-05-23 2 views
1

Webdriver + Ruby 테스트에서 Chrome을 사용하여 원격 컴퓨터에 파일을 다운로드하고 싶습니다. 내 개발자 컴퓨터 모두에 이 코드와 함께 잘 작동 :Ruby + Webdriver에서 원격 Chrome의 기본 다운로드 디렉토리를 변경할 수 없습니다.

profile = Selenium::WebDriver::Chrome::Profile.new 
profile['download.prompt_for_download'] = false 
profile['download.default_directory'] = Settings::DEFAULT_DOWNLOAD_DIRECTORY 
@@driver = Selenium::WebDriver.for :chrome, :profile => profile 

하지만이 작동하지 않았다 여러 원격 시스템에서 실행되는 코드를 사용하여이 코드를

profile = Selenium::WebDriver::Chrome::Profile.new 
profile['download.prompt_for_download'] = false 
profile['download.default_directory'] = "/mnt/samba/share_location/" 
caps = Selenium::WebDriver::Remote::Capabilities.chrome(:profile => profile) 
@@driver = Selenium::WebDriver.for(:remote, :url => "http://" +remote_server + ":4444/wd/hub", :desired_capabilities => caps) 

두 번째 변종를 사용하려면 브라우저 다운로드 각 원격 컴퓨터에 다운로드 loaction을 기본 파일은

,이

답변

2

그래,이 unfortu입니다 저를 해결하기 위해 도와주세요 보통 아주 직관적이지는 않습니다. 나는 미래 버전을 위해 그것을 개선하려고 노력할 것이다. 지금 해결 방법은 다음과 같습니다.

profile = Selenium::WebDriver::Chrome::Profile.new 
profile['download.prompt_for_download'] = false 
profile['download.default_directory'] = "/mnt/samba/share_location/" 

data = profile.as_json 

caps = Selenium::WebDriver::Remote::Capabilities.chrome 
caps['chromeOptions'] = { 
    'profile' => data['zip'], 
    'extensions' => data['extensions'] 
} 

driver = Selenium::WebDriver.for :remote, :desired_capabilities => caps 
+0

감사합니다. WebDriver의 개발자입니까? 당신은 그것을 향상하려고 할거야 – ShockwaveNN

+0

이봐, 내가 어떻게 자바에서 동일한 작업을 수행 할 수 있습니까? – Johnydep

+1

이것은 WebDriver의 최신 버전에서는 작동하지 않습니다. –

관련 문제