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

如何使用JMeter的Webdriver Sampler获取Latency和Rendering Time

使用JMeter Webdriver Sampler获取Latency与Rendering Time

获取方法说明

  • Latency:指浏览器发送请求到开始接收服务器响应的时间差,可通过浏览器window.performance.timing API计算,公式为 responseStart - requestStart。
  • Rendering Time:通常以First Contentful Paint (FCP) 作为核心指标,表示页面首次绘制内容的时间,可通过window.performance.getEntriesByType('paint')提取对应数据;若需更精准的核心渲染指标,也可监听Largest Contentful Paint (LCP) 事件。

注意:需确保JMeter中配置的浏览器驱动(如ChromeDriver)开启性能日志,在Chrome Driver的配置参数中添加:--enable-logging --log-level=0 --enable-performance-logging。

Webdriver Sampler示例代码

1. 获取Latency

// 提取浏览器性能计时数据
def performanceTiming = WDS.browser.executeScript("return window.performance.timing;")

// 计算Latency(请求发送到响应开始的时间差)
def latency = performanceTiming.responseStart - performanceTiming.requestStart

// 将结果存入JMeter变量,支持后续断言或报告展示
WDS.vars.put("webLatency", String.valueOf(latency))
WDS.log.info("页面Latency: " + latency + "毫秒")

2. 获取Rendering Time(以FCP为例)

// 提取Paint类型的性能条目
def paintEntries = WDS.browser.executeScript("return window.performance.getEntriesByType('paint');")

// 遍历条目找到First Contentful Paint的时间
def renderingTime = 0
paintEntries.each { entry ->
    if (entry.name == "first-contentful-paint") {
        renderingTime = entry.startTime
    }
}

// 将结果存入JMeter变量
WDS.vars.put("renderingTime", String.valueOf(renderingTime))
WDS.log.info("页面Rendering Time (FCP): " + renderingTime + "毫秒")

如果需要获取Largest Contentful Paint (LCP) 作为Rendering Time,可改用以下代码:

// 使用PerformanceObserver监听LCP事件
def lcpScript = """
let lcpTime = 0;
new PerformanceObserver((list) => {
    const entries = list.getEntries();
    const lastEntry = entries[entries.length - 1];
    lcpTime = lastEntry.startTime;
}).observe({type: 'largest-contentful-paint', buffered: true});
return lcpTime;
"""
def lcpRenderingTime = WDS.browser.executeScript(lcpScript)

WDS.vars.put("lcpRenderingTime", String.valueOf(lcpRenderingTime))
WDS.log.info("页面Rendering Time (LCP): " + lcpRenderingTime + "毫秒")

内容的提问来源于stack exchange,提问作者zenitsu Agastuma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:35:12