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.