throttleNetwork
Limita as capacidades de rede do navegador. Isso pode ajudar a emular certos cenários onde um usuário perde sua conexão com a internet e seu aplicativo precisa lidar com isso.
Existem muitos presets disponíveis com configurações padrão para facilitar o uso.
Eles são offline
, GPRS
, Regular2G
, Good2G
, Regular3G
, Good3G
,
Regular4G
, DSL
, WiFi
, online
.
Você pode ver os valores para estes presets no código fonte.
informação
Observe que usar o comando throttleNetwork
requer suporte para o protocolo Chrome DevTools e, por exemplo,
não pode ser usado ao executar testes automatizados na nuvem. O protocolo Chrome DevTools não é instalado por padrão,
use npm install puppeteer-core
para instalá-lo.
Saiba mais na seção Protocolos de Automação.
Uso
browser.throttleNetwork({ offline, latency, downloadThroughput, uploadThroughput })
Parâmetros
Nome | Tipo | Detalhes |
---|---|---|
params | ThrottleOptions | parâmetros para limitação |
params.offline | boolean | True para emular desconexão da internet. |
params.latency | number | Latência mínima desde o envio da solicitação até o recebimento dos cabeçalhos de resposta (ms). |
params.downloadThroughput | number | Throughput máximo agregado de download (bytes/seg). -1 desativa a limitação de download. |
params.uploadThroughput | number | Throughput máximo agregado de upload (bytes/seg). -1 desativa a limitação de upload. |
Exemplo
throttleNetwork.js
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
})
});