WebDriver ベースのブラウザーのケイパビリティの設定

WebDriver ベースのブラウザー上で Web アプリケーションをテストする場合は、ケイパビリティを設定してブラウザー セッションの設定をカスタマイズできます。

Silk4J では、次のブラウザーの種類に対する接続文字列で WebDriver ケイパビリティを指定できます。
  • Google Chrome
  • Mozilla Firefox

Mozilla Firefox 48 以降で利用可能なオプションとケイパビリティについての詳細は、『https://github.com/mozilla/geckodriver』を参照してください。Google Chrome で利用可能なオプションとケイパビリティについての詳細は、『Capabilities & ChromeOptions』を参照してください。

Silk4J でケイパビリティを設定するには:

  1. ケイパビリティを変更する Web アプリケーションのプロジェクトを選択します。
  2. プロジェクトの基本状態の接続文字列を編集します。 接続文字列は、次の方法で編集できます。
    • アプリケーション構成の編集 ダイアログ(カスタマイズしたブラウザーに対する操作を記録する場合など)
    • スクリプト(カスタマイズしたブラウザーに対してテスト スクリプトを実行するだけの場合)

    詳細については、「基本状態」を参照してください。

  3. スクリプトを実行して、指定したオプションとケイパビリティでブラウザーを開始します。

Mozilla Firefox から実行可能ファイルを自動的にダウンロードするには、スクリプトの基本状態に次のコードを追加します。
baseState.setConnectionString(
  "moz:firefoxOptions="
  + "{"
  + " \"prefs\": {"
  + "        \"browser.download.folderList\": 2,"
  + "        \"browser.helperApps.neverAsk.saveToDisk\": \"application/octet-stream\"
  + "     }"
  + "};");
Mozilla Firefox のダウンロード フォルダーを指定するには、スクリプトの基本状態に次のコードを追加します。
baseState.setConnectionString("moz:firefoxOptions={\"prefs\": { \"browser.download.dir\" : \"C:/Download\"} };");
Mozilla Firefox のコマンド ライン引数を設定するには、スクリプトの基本状態に次のコードを追加します。
baseState.setConnectionString("moz:firefoxOptions={\"args\": [\"--devtools\"]};");
プロキシ サーバーを使って Mozilla Firefox 上でテストを実行するには、次のコードを追加します。
baseState.setConnectionString("moz:firefoxOptions={\"prefs\": { \"network.proxy.http\": \"" + PROXY_HOST + "\", \"network.proxy.http_port\": " + PROXY_PORT + ", \"network.proxy.type\": 1 }}");
Google Chrome から実行可能ファイルを指定したフォルダーに自動的にダウンロードするには、スクリプトの基本状態に次のコードを追加します。
baseState.setConnectionString(
  "chromeOptions="
  + "{"
  + " \"prefs\": {"
  + "              \"profile.default_content_setting_values.automatic_downloads\":1,"
  + "              \"download.default_directory\":\"c:\\\\Download\","
  + "              \"download.prompt_for_download\":false"
  + "            }"
  + "};");
Google Chrome のパスワード マネージャーにメッセージを表示させないようにするには、スクリプトの基本状態に次のコードを追加します。
baseState.setConnectionString(
  "chromeOptions="
  + "{"
  + " \"args\":[\"--disable-save-password-bubble\"],"
  + " \"prefs\":  {"
  + "               \"profile.password_manager_enabled\": false,"
  + "               \"credentials_enable_service\": false"
  + "             }"
  + "};");