プロキシの設定
2種類の異なるリクエストをプロキシ経由でトンネ リングすることができます:
- テストスクリプトとブラウザドライバー(またはWebDriverエンドポイント)間の接続
- ブラウザとインターネット間の接続
ドライバーとテスト間のプロキシ
企業が全ての送信リクエストに対して企業プロキシ(例:http://my.corp.proxy.com:9090
)を使用している場合は、以下の手順に従ってundiciをインストールして設定してください。
undiciのインストール
- npm
- Yarn
- pnpm
npm install undici --save-dev
yarn add undici --dev
pnpm add undici --save-dev
undici setGlobalDispatcherをコンフィグファイルに追加
以下のrequire文をコンフィグファイルの先頭に追加してください。
wdio.conf.js
import { setGlobalDispatcher, ProxyAgent } from 'undici';
const dispatcher = new ProxyAgent({ uri: new URL(process.env.https_proxy).toString() });
setGlobalDispatcher(dispatcher);
export const config = {
// ...
}
プロキシの設定に関する追加情報はこちらで確認できます。
Sauce Connect Proxyを使用する場合は、以下のように起動してください:
sc -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY --no-autodetect -p http://my.corp.proxy.com:9090
ブラウザとインターネット間のプロキシ
ブラウザとインターネット間の接続をトンネリングするために、プロキシを設定することができます。これは(例えば)BrowserMob Proxyのようなツールでネットワーク情報やその他のデータをキャプチャするのに役立ちます。
proxy
パラメータは、標準のケイパビリティを通じて次のように適用できます:
wdio.conf.js
export const config = {
// ...
capabilities: [{
browserName: 'chrome',
// ...
proxy: {
proxyType: "manual",
httpProxy: "corporate.proxy:8080",
socksUsername: "codeceptjs",
socksPassword: "secret",
noProxy: "127.0.0.1,localhost"
},
// ...
}],
// ...
}
詳細については、WebDriver仕様を参照してください。