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