Firefox の自動化では、個人のブラウザープロファイルをテストにコピーせずにプロキシの自動検出を要求できます。WebDriver セッションを作成するときに、意図するプロキシモードを指定します。

Selenium の Java API では、自動検出の構成を次のように表せます。

Proxy proxy = new Proxy().setAutodetect(true);
FirefoxOptions options = new FirefoxOptions().setProxy(proxy);
WebDriver driver = new FirefoxDriver(options);

これらのクラスは Selenium のものです。検出は依然としてブラウザーを動かすマシンのネットワークと適用されるブラウザーポリシーに依存します。そこに WPAD サービスがあることを約束するものではありません。

PAC URL がすでに分かっている場合は、代わりにその URL で別の構成を作成します。

Proxy proxy = new Proxy()
    .setProxyAutoconfigUrl("https://config.example/proxy.pac");
FirefoxOptions options = new FirefoxOptions().setProxy(proxy);

一貫した 1 つのモードを使ってください。手動の HTTP と SSL のプロキシフィールド、自動検出、指定した PAC URL は、経路を取得する異なる方法を表します。これらを 1 つのオブジェクトにまとめて偶然の優先順位に頼るのは避けてください。

PAC スクリプトは宛先に応じて複数のエンドポイントと直接の例外を選択できます。その最後のプロキシ アドレスを手動設定にコピーすると、そのポリシーは固定の経路に置き換わります。明示的な PAC モードでは、スクリプトが構成の入力として保たれます。

リモート Grid では、ブラウザーノードがスクリプトを取得して選択したプロキシに接続します。テストランナーから到達できる URL が、そのノードからは到達できないことがあります。設定を確認するときは、実際に効いている機能、スクリプトの配信、プロキシ接続の証拠をまとめて保持してください。

関連記事