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

Как управлять пропускной способностью сети

Обзор

warning

Данный рецепт работает только при использовании Chrome DevTools Protocol (CDP).

Читайте подробности в разделе «Как использовать CDP в Testplane».

Огромное количество пользователей пользуются сервисами с мобильных устройств, на которых скорость интернета бывает довольно медленной или совсем пропадает на время. В webdriverio мы можем ограничить пропускную способность сети с помощью метода throttle и таким образом протестировать поведение сайта в сетях с разной пропускной способностью.

Помимо индивидуальных настроек метод throttle поддерживает следующие готовые пресеты:

  • offline | online
  • GPRS
  • Regular2G | Good2G
  • Regular3G | Good3G
  • Regular4G
  • DSL
  • WiFi

Пример 1: эмуляция 2G-соединения

Сэмулируем 2G-соединение и откроем yandex.ru в Хроме с эмуляцией телефона:

it("should open yandex.ru with emulation of 2G-connection", async function () {
// Имитируем 2G-соединение
await this.browser.throttle("Good2G");

await this.browser.url("https://yandex.ru");
});

Пример 2: эмуляция сети с заданными характеристиками

Также мы можем сэмулировать соединение с конкретными характеристиками:

it("should open yandex.ru with emulation of custom connection", async function () {
// Имитируем соединение в сети с заданными характеристиками
await this.browser.throttle({
offline: false, // имитация отключения от интернета
downloadThroughput: (10 * 1024) / 8, // максимальная пропускная способность загрузки (byte/sec)
uploadThroughput: (10 * 1024) / 8, // максимальная пропускная способность отправки (byte/sec)
latency: 10, // минимальная задержка от отправки запроса до получения заголовков ответа
});

await this.browser.url("https://yandex.ru");
});