ネットワークスロットリング
ブラウザのネットワーク機能を制限します。これは、ユーザーがインターネット接続を 失った場合やアプリケーションがそのような状況に対応する必要がある場合などの シナリオをエミュレートするのに役立ちます。
簡単に使用できるデフォルト設定が含まれた多くのプリセットが利用可能です。
これらには offline
、GPRS
、Regular2G
、Good2G
、Regular3G
、Good3G
、
Regular4G
、DSL
、WiFi
、online
があります。
これらのプリセットの値はソースコードで確認できます。
情報
throttleNetwork
コマンドを使用するにはChrome DevToolsプロトコルのサポートが必要であり、
クラウドで自動テストを実行する場合などには使用できません。Chrome DevToolsプロトコルはデフォルトでインストールされていないため、
npm install puppeteer-core
を使用してインストールしてください。
詳細は自動化プロトコルセクションをご覧ください。
使用方法
browser.throttleNetwork({ offline, latency, downloadThroughput, uploadThroughput })
パラメータ
名前 | 型 | 詳細 |
---|---|---|
params | ThrottleOptions | スロットリングのパラメータ |
params.offline | boolean | インターネット切断をエミュレートする場合はtrue。 |
params.latency | number | リクエスト送信からレスポンスヘッダー受信までの最小遅延(ミリ秒)。 |
params.downloadThroughput | number | 最大集約ダウンロードスループット(バイト/秒)。-1はダウンロードスロットリングを無効にします。 |
params.uploadThroughput | number | 最大集約アップロードスループット(バイト/秒)。-1はアップロードスロットリングを無効にします。 |
例
throttleNetwork.js
it('should throttle the network', async () => {
// 静的文字列プリセットを使用
await browser.throttleNetwork('Regular3G')
// カスタム値を使用
await browser.throttleNetwork({
offline: false,
downloadThroughput: 200 * 1024 / 8,
uploadThroughput: 200 * 1024 / 8,
latency: 20
})
});