1

Webdriver + Ruby のテストで 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)

2 番目の亜種は機能しませんでした。各リモート コンピュータのデフォルトのダウンロード場所へのブラウザ ダウンロード ファイル

これを修正するのを手伝ってください

4

1 に答える 1

2

残念ながら、これはあまり直感的ではありません。将来のバージョンのために改善しようと思います。現時点での回避策は次のとおりです。

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
于 2012-05-23T21:06:02.803 に答える