Как управлять пропускной способностью сети
Обзор
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");
});