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

如何在JMeter test plan中自动获取特定API耗时及指定接口间耗时?

获取JMeter中特定API及API间耗时的自动方法

一、提取单个特定API的耗时

  • 监听器自动统计:
    添加Summary Report或View Results Tree监听器,它们会自动记录每个请求的Elapsed Time(耗时)。若需筛选目标API,可在监听器的Filter Results中设置请求名称/URL的匹配规则,运行后直接查看对应行的耗时数据。也可使用Backend Listener将数据同步至数据库或监控系统,后续通过查询语句提取统计结果,无需手动整理。
  • 变量存储耗时数据:
    在目标API的PostProcessor中添加JSR223 PostProcessor(推荐用Groovy,性能优于BeanShell),写入代码:
    long apiElapsed = prev.getTime()
    vars.put("target_api_elapsed", String.valueOf(apiElapsed))
    
    运行后,变量${target_api_elapsed}将存储该API的耗时,可直接在后续逻辑或报告中调用。

二、计算Login与Ride Booking API的间隔耗时

要自动获取两个API之间的时间差,可通过时间戳记录实现:

  1. 在Login API的PostProcessor中添加JSR223 PostProcessor,记录请求完成时间:
    long loginEndTime = System.currentTimeMillis()
    vars.put("login_end_time", String.valueOf(loginEndTime))
    
  2. 在Ride Booking API的PreProcessor中添加JSR223 PreProcessor,记录请求发起时间并计算间隔:
    long bookingStartTime = System.currentTimeMillis()
    long loginEnd = Long.parseLong(vars.get("login_end_time"))
    long interval = bookingStartTime - loginEnd
    vars.put("login_to_booking_interval", String.valueOf(interval))
    
    运行后,${login_to_booking_interval}即为Login完成到Ride Booking发起的间隔耗时,可通过Simple Data Writer监听器将数据输出至文件,无需手动查看。

三、自动化汇总与输出

  • 使用Simple Data Writer监听器,设置输出文件路径,勾选需保存的时间字段,运行后可直接从文件中提取所需数据。
  • 结合JMeter命令行模式执行测试:
    jmeter -n -t your_testplan.jmx -l results.jtl
    
    之后用Python/Shell脚本解析.jtl结果文件,批量提取特定API耗时及间隔数据,生成自定义报告。

内容的提问来源于stack exchange,提问作者Snehal Matharu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:20:35