You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用WebDriver Sampler测试Time-to-Interactive及页面性能指标相关疑问

使用JMeter WebDriver Sampler 获取 Time-to-Interactive 和整页加载指标

关于WebDriver Sampler默认「load time」的说明

WebDriver Sampler默认的load time对应的是整页加载完成时间,即浏览器触发onload事件的时间点,此时页面所有资源(图片、样式、脚本等)均已加载完毕,对应浏览器性能指标里的load事件时间。

实现TTI与整页加载指标采集的方法

完全可以通过WebDriver Sampler结合JavaScript代码实现这两个指标的采集,具体操作如下:

1. 采集整页加载时间

除了默认的load time,也可通过JavaScript主动获取更精准的整页加载时间,在WebDriver Sampler中添加以下代码:

var performance = WDS.browser.executeScript("return window.performance.timing");
var pageLoadTime = performance.loadEventEnd - performance.navigationStart;
WDS.sampleResult.setResponseData("整页加载时间: " + pageLoadTime + "ms");
WDS.sampleResult.addKeyValue("整页加载时间(ms)", pageLoadTime);

这段代码通过浏览器performance.timing API计算从导航开始到load事件结束的时间差,逻辑和默认load time一致,但可自定义存储到采样结果中。

2. 采集Time-to-Interactive(TTI)

TTI指页面达到完全可交互状态的时间,需借助浏览器PerformanceObserver监听相关指标,在WebDriver Sampler中添加以下代码:

var tti = WDS.browser.executeScript(function() {
  return new Promise(resolve => {
    if ('PerformanceObserver' in window) {
      const observer = new PerformanceObserver((list) => {
        for (const entry of list.getEntries()) {
          if (entry.name === 'interactive') {
            resolve(entry.startTime);
            observer.disconnect();
          }
        }
      });
      observer.observe({ entryTypes: ['measure'] });
      performance.measure('interactive');
    } else {
      // 兼容旧浏览器,用domInteractive时间近似TTI
      resolve(window.performance.timing.domInteractive - window.performance.timing.navigationStart);
    }
  });
});
WDS.sampleResult.setResponseData("Time-to-Interactive: " + tti + "ms");
WDS.sampleResult.addKeyValue("Time-to-Interactive(ms)", tti);

代码通过PerformanceObserver监听interactive类型性能条目获取精准TTI值;对不支持该API的浏览器,用domInteractive时间近似替代。

3. 查看采集到的指标

上述代码通过WDS.sampleResult.addKeyValue()将指标添加到采样结果的自定义字段中,你可在JMeter的「查看结果树」「聚合报告」中查看数据,也可将其写入CSV文件用于后续分析。

内容的提问来源于stack exchange,提问作者Roman Chovgun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:52:42