节流网络
限制浏览器的网络能力。这有助于模拟用户失去互联网连接的某些场景, 以及你的应用程序需要如何应对这种情况。
有许多预设配置可供轻松使用。
这些预设包括 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表示禁用上传节流。 |
示例
throttleNetwork.js
it('should throttle the network', async () => {
// 通过静态字符串预设
await browser.throttleNetwork('Regular3G')
// 通过自定义值
await browser.throttleNetwork({
offline: false,
downloadThroughput: 200 * 1024 / 8,
uploadThroughput: 200 * 1024 / 8,
latency: 20
})
});