diff options
Diffstat (limited to 'remote/test/puppeteer/src/common/NetworkConditions.ts')
-rw-r--r-- | remote/test/puppeteer/src/common/NetworkConditions.ts | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/remote/test/puppeteer/src/common/NetworkConditions.ts b/remote/test/puppeteer/src/common/NetworkConditions.ts new file mode 100644 index 0000000000..786a732305 --- /dev/null +++ b/remote/test/puppeteer/src/common/NetworkConditions.ts @@ -0,0 +1,57 @@ +/** + * Copyright 2021 Google Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {NetworkConditions} from './NetworkManager.js'; + +/** + * A list of network conditions to be used with + * `page.emulateNetworkConditions(networkConditions)`. Actual list of predefined + * conditions can be found in + * {@link https://github.com/puppeteer/puppeteer/blob/main/src/common/NetworkConditions.ts | src/common/NetworkConditions.ts}. + * + * @example + * + * ```ts + * const puppeteer = require('puppeteer'); + * const slow3G = puppeteer.networkConditions['Slow 3G']; + * + * (async () => { + * const browser = await puppeteer.launch(); + * const page = await browser.newPage(); + * await page.emulateNetworkConditions(slow3G); + * await page.goto('https://www.google.com'); + * // other actions... + * await browser.close(); + * })(); + * ``` + * + * @public + */ +export const networkConditions: Readonly<{ + 'Slow 3G': NetworkConditions; + 'Fast 3G': NetworkConditions; +}> = Object.freeze({ + 'Slow 3G': { + download: ((500 * 1000) / 8) * 0.8, + upload: ((500 * 1000) / 8) * 0.8, + latency: 400 * 5, + }, + 'Fast 3G': { + download: ((1.6 * 1000 * 1000) / 8) * 0.9, + upload: ((750 * 1000) / 8) * 0.9, + latency: 150 * 3.75, + }, +}); |