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
})
});