timing()
返回给定请求的资源时间信息。大多数时间值在收到响应时可用,responseEnd
在请求完成时可用。
返回值
类型 | 描述 |
---|---|
ResourceTiming | 返回 ResourceTiming 对象。 |
ResourceTiming
属性 | 类型 | 描述 |
---|---|---|
startTime | number | 请求开始时间,自协调世界时 1970 年 1 月 1 日 00:00:00 以来的毫秒数。 |
domainLookupStart | number | 浏览器开始对资源进行域名查找之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
domainLookupEnd | number | 浏览器结束对资源进行域名查找之后的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
connectStart | number | 用户代理开始建立连接到服务器以获取资源之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
secureConnectionStart | number | 浏览器开始握手过程以保护当前连接之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
connectEnd | number | 用户代理建立连接到服务器以获取资源之后的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
requestStart | number | 浏览器开始从服务器、缓存或本地资源请求资源之前的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
responseStart | number | 浏览器收到来自服务器、缓存或本地资源的响应的第一个字节之后的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
responseEnd | number | 浏览器收到资源的最后一个字节之后,或者传输连接关闭之前(以先发生者为准)的时间点。该值以相对于 startTime 的毫秒数给出,如果不可用则为 -1。 |
示例
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();
}
}