菜单
文档breadcrumb arrow Grafana k6breadcrumb arrow JavaScript APIbreadcrumb arrow k6/browserbreadcrumb arrow Pagebreadcrumb arrow throttleNetwork(networkProfile)
开源

throttleNetwork(networkProfile)

根据 networkProfile 对象中指定的字段,限制 Chrome/Chromium 的网络以减慢速度。

参数类型默认值描述
networkProfileNetworkProfilenull这是必选参数。
networkProfile.latencynumber0从请求发送到接收响应头的最小延迟(毫秒)。
networkProfile.downloadnumber-1最大总下载吞吐量(字节/秒)。-1 禁用下载限制。
networkProfile.uploadnumber-1最大总上传吞吐量(字节/秒)。-1 禁用上传限制。

要使用最常见的网络配置文件,请从 browser 模块导入 networkProfiles。有三种可用的配置文件:

名称说明
'无限制'无限制,这是应用任何网络限制之前的默认设置。可用于移除网络限制。
'快速 3G'模拟典型的快速 3G 连接
'慢速 3G'模拟典型的慢速 3G 连接

返回值

类型描述
Promise<void>当网络已限制到指定速率时履行的 Promise。

示例

JavaScript
import { browser, networkProfiles } from 'k6/browser';

export const options = {
  scenarios: {
    browser: {
      executor: 'shared-iterations',
      options: {
        browser: {
          type: 'chromium',
        },
      },
    },
  },
};

export default async function () {
  const context = await browser.newContext();
  const page = await context.newPage();

  try {
    await page.throttleNetwork(networkProfiles['Slow 3G']);

    await page.goto('https://test.k6.io/', { waitUntil: 'networkidle' });
  } finally {
    await page.close();
  }
}