菜单
开源

timing()

返回给定请求的资源时间信息。大多数时间值在收到响应时可用,responseEnd 在请求完成时可用。

返回值

类型描述
ResourceTiming返回 ResourceTiming 对象。

ResourceTiming

属性类型描述
startTimenumber请求开始时间,自协调世界时 1970 年 1 月 1 日 00:00:00 以来的毫秒数。
domainLookupStartnumber浏览器开始对资源进行域名查找之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。
domainLookupEndnumber浏览器结束对资源进行域名查找之后的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。
connectStartnumber用户代理开始建立连接到服务器以获取资源之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。
secureConnectionStartnumber浏览器开始握手过程以保护当前连接之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。
connectEndnumber用户代理建立连接到服务器以获取资源之后的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。
requestStartnumber浏览器开始从服务器、缓存或本地资源请求资源之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。
responseStartnumber浏览器收到来自服务器、缓存或本地资源的响应的第一个字节之后的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。
responseEndnumber浏览器收到资源的最后一个字节之后,或者传输连接关闭之前(以先发生者为准)的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。

示例

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

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

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

  try {
    const res = await page.goto('https://test.k6.io/');
    const req = res.request();

    const timing = await req.timing();
    console.log(`timing: ${JSON.stringify(timing)}`); // timing: {"startTime":534898988.85297775,...}
  } finally {
    await page.close();
  }
}