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

如何在Jenkins pipeline运行JMeter时记录失败请求的相关信息?

JMeter仅失败请求记录配置方案

完全可以实现该需求,以下是两种适配Jenkins pipeline运行场景的配置方式:

方式一:全局配置(无需修改测试脚本)

直接调整JMeter的服务配置即可全局生效:

  • 找到JMeter安装路径下的bin/jmeter.properties配置文件,修改以下参数:
    # 配置错误日志级别
    log_level.jmeter.threads.JMeterThread=ERROR
    log_level.jmeter.protocol.http=ERROR
    # 配置结果保存格式与字段
    jmeter.save.saveservice.output_format=csv
    jmeter.save.saveservice.timestamp_format=yyyy-MM-dd HH:mm:ss.SSS
    jmeter.save.saveservice.timestamp=true
    jmeter.save.saveservice.url=true
    jmeter.save.saveservice.samplerData=true
    jmeter.save.saveservice.requestHeaders=true
    jmeter.save.saveservice.responseHeaders=true
    jmeter.save.saveservice.responseData=true
    jmeter.save.saveservice.assertion_results_failure_message=true
    # 核心配置:仅保存失败的请求结果
    jmeter.save.saveservice.only_save_errors=true
    
  • 重启JMeter后生效,后续Jenkins运行测试时,所有失败请求的相关数据都会自动写入指定的结果文件,可直接在Jenkins pipeline中配置归档该文件即可。

方式二:脚本内置后置处理器(按需自定义记录)

如果只需要针对部分采样器做失败记录,不需要全局生效,可以在对应采样器下添加JSR223后置处理器,填入以下Groovy代码:

// 判断请求是否执行失败
if (!prev.isSuccessful()) {
    // 构造自定义日志内容
    def errorLog = """
    时间戳:${new Date().format("yyyy-MM-dd HH:mm:ss.SSS")}
    请求地址:${prev.getUrl()}
    请求方法:${prev.getHTTPMethod()}
    请求载荷:${prev.getQueryString() ?: prev.getSamplerData()}
    响应状态码:${prev.getResponseCode()}
    错误信息:${prev.getResponseMessage()}
    """
    // 写入自定义错误日志文件,路径可配置为Jenkins工作目录方便归档
    new File("${System.getProperty("user.dir")}/jmeter_api_error.log") << errorLog + "\n" + "=".repeat(60) + "\n"
}

该方式灵活度更高,可自定义需要记录的字段,也可以调整代码直接将错误信息输出到控制台,方便Jenkins pipeline直接捕获触发告警。

内容的提问来源于stack exchange,提问作者Vikash Jain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:36:02