Перейти к основному содержимому

throttle

Обзор​

Устаревшее имя throttleNetwork. Ограничивает пропускную способность сети через CDP/Puppeteer; не эквивалентно emulate("onLine"). Для нового кода используйте throttleNetwork.

Использование​

await browser.throttle(profile)

Параметры команды​

Параметры совпадают с throttleNetwork. Можно передать имя профиля: offline, online, GPRS, Regular2G, Good2G, Regular3G, Good3G, Regular4G, DSL, WiFi. Пробелов в именах нет.

Или объект с полями offline (boolean), latency (миллисекунды), downloadThroughput и uploadThroughput (байты в секунду, -1 отключает ограничение скорости). Результат — Promise<void>.

Ограничения​

Нужен браузер с доступным CDP/Puppeteer. Реализация выбирает первую страницу Puppeteer: для примера используйте одну вкладку и isolation: false, сначала откройте страницу.

В Testplane 9.3.2 / WDIO 9.6.2 / Chrome 150 профиль online не восстановил сеть после offline. Настройте testsPerSession: 1, чтобы ограничение не перешло в следующий тест. Подробнее — throttleNetwork.

Пример​

Укажите в baseUrl адрес тестового HTTP-сервера, который отвечает 200 на корневой путь. Пример использует новую сессию на каждый тест.

const assert = require("node:assert/strict");

it("throttle: use the deprecated alias in an isolated session", async ({ browser }) => {
await browser.url("/");
await browser.throttle("Good3G");
const status = await browser.execute(
async () => (await fetch("/?throttled", { cache: "no-store" })).status,
);
assert.equal(status, 200);
});

Источники​

Материал учитывает исходную статью WebdriverIO.