throttleNetwork
Ограничение сетевых возможностей браузера. Это может помочь эмулировать определенные сценарии, когда пользователь теряет интернет-соединение, и ваше приложение должно это учитывать.
Доступно множество предустановок с конфигурациями по умолчанию для удобства использования.
Они включают offline, GPRS, Regular2G, Good2G, Regular3G, Good3G,
Regular4G, DSL, WiFi, online.
Вы можете увидеть значения для этих предустановок в исходном коде.
Обратите внимание, что использование команды throttleNetwork требует поддержки протокола Chrome DevTools и, например,
не может использоваться при запуске автоматизированных тестов в облаке. Chrome DevTools protocol не устанавливается по умолчанию,
используйте 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
})
});