throttleNetwork
Обмежує мережеві можливості браузера. Це може допомогти емулювати певні сценарії, коли користувач втрачає з'єднання з Інтернетом, і ваш додаток повинен вирішити цю проблему.
Існує багато попередньо встановлених конфігурацій для зручного використання.
Це offline
, GPRS
, Regular2G
, Good2G
, Regular3G
, Good3G
,
Regular4G
, DSL
, WiFi
, online
.
Ви можете побачити значення для цих пресетів у вихідному коді.
Зауважте, що використання команди throttleNetwork
вимагає підтримки протоколу Chrome DevTools і, наприклад,
не може використовуватися при запуску автоматизованих тестів у хмарі. Chrome DevTools не встановлюється за замовчуванням,
використовуйте npm install puppeteer-core
для його встановлення.
Дізнайтеся більше в розділі Протоколи автоматизації.
Використання
browser.throttleNetwork({ offline, latency, downloadThroughput, uploadThroughput })
Параметри
Ім'я | Тип | Деталі |
---|---|---|
params | ThrottleOptions | параметри для обмеження |
params.offline | boolean | True для емуляції відключення від Інтернету. |
params.latency | number | Мінімальна затримка від надсилання запиту до отримання заголовків відповіді (мс). |
params.downloadThroughput | number | Максимальна сукупна пропускна здатність завантаження (байт/сек). -1 вимикає обмеження завантаження. |
params.uploadThroughput | number | Максимальна сукупна пропускна здатність вивантаження (байт/сек). -1 вимикає обмеження вивантаження. |
Приклад
it('should throttle the network', async () => {
// via static string preset
await browser.throttleNetwork('Regular3G')
// via custom values
await browser.throttleNetwork({
offline: false,
downloadThroughput: 200 * 1024 / 8,
uploadThroughput: 200 * 1024 / 8,
latency: 20
})
});