JMeter 4.0 GUI模式下HTTP返回404,结果树未变红求助
我来帮你排查下这个问题,大概率是下面几个原因之一,你可以逐一验证:
检查结果树的颜色自定义配置
JMeter默认会把4xx这类客户端错误响应标记为红色,但如果有人修改过监听器的配置,这个规则可能被改了。你右键点击结果树,选择「Configure」,切换到「Colors」标签页,找到「Response Code」对应的设置项,确认4xx状态码对应的颜色是不是红色。要是之前被改成了其他颜色,改回来就行。确认JMeter是否正确识别了响应码
有时候可能存在响应头解析异常,导致JMeter没正确识别404状态。你可以在结果树里切换到「Response Headers」标签,仔细确认返回的头信息确实是HTTP/1.1 404 Not Found;也可以加一个「View Results in Table」监听器,看看表格里的「Response Code」列是不是显示404。如果表格里也没正确显示,那可能是响应头格式不符合HTTP标准,导致JMeter解析失败。排查自定义脚本是否修改了样本状态
如果你测试计划里加了BeanShell、JSR223这类前置/后置处理器,要检查脚本里有没有修改SampleResult的状态。比如要是脚本里写了sampleResult.setSuccessful(true);,哪怕实际是404,JMeter也会把这个样本标记为成功,结果树就会显示绿色。你可以先暂时禁用这些脚本,重新跑一遍测试,看看颜色是不是正常了。考虑JMeter 4.0版本的兼容性问题
JMeter 4.0是比较老的版本了,存在一些已修复的小bug,比如某些特殊响应场景下的颜色渲染异常。如果上面的方法都没用,建议你升级到5.x系列的稳定版本,新版本修复了很多旧版的问题,应该能解决这个显示异常。
内容的提问来源于stack exchange,提问作者Ghost

