Selenide の PROXY ダウンロードはブラウザ起動前のプロキシ設定を必要とする
PROXY ファイルダウンロードモードは、ブラウザ作成時に組み込まれるリスナーとフィルターに依存し、ダウンロードフォルダだけでは決まらない。
最初のブラウザが起動する前に設定を適用する。共有テスト設定での暗黙の生成も含む:
Configuration.proxyEnabled = true;
Configuration.fileDownload = FileDownloadMode.PROXY;
Configuration.downloadsFolder = "build/downloads";
open(applicationUrl);
File report = $("#download-report").download();proxyEnabled は、そのブラウザセッションで Selenide の組み込みリスナーを有効にする。後から静的設定を変更しても、既存のセッションにそのリスナー/ダウンロードフィルターを追加することはできない。downloadsFolder はファイルの保存場所を選ぶだけである。
Configuration.proxyHost/proxyPort はその組み込みエンドポイントを指し、任意の企業向け上流プロキシではない。ポート 0 を指定すると Selenide が空きポートを選ぶ。
Grid では、リモートブラウザがテストマシンのリスナーに到達できる必要がある。そのブラウザ自身の localhost は別の場所を指す。検出が不適切な場合は、ブラウザから到達可能な公開ホストを使う。
通常の href リンクでは、既定の HTTPGET は別のダウンロード経路を使う。PROXY は、直接リンクのないフォーム送信など、操作によって発生するダウンロードに有用である。