跳至主要內容

Proxy 設定

您可以透過 Proxy 建立兩種不同類型的請求通道

  • 您的測試腳本和瀏覽器驅動程式(或 WebDriver 端點)之間的連線
  • 瀏覽器和網際網路之間的連線

驅動程式和測試之間的 Proxy

如果您的公司有公司 Proxy(例如,在 http://my.corp.proxy.com:9090 上)用於所有外寄請求,請按照以下步驟安裝和設定 undici

安裝 undici

npm install 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 = {
// ...
}

有關設定 Proxy 的其他資訊可以在這裡找到。

如果您使用Sauce Connect Proxy,請透過以下方式啟動它

sc -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY --no-autodetect -p http://my.corp.proxy.com:9090

瀏覽器和網際網路之間的 Proxy

為了建立瀏覽器和網際網路之間連線的通道,您可以設定 Proxy,這對於使用 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 規格

歡迎!我可以幫您什麼嗎?

WebdriverIO AI Copilot