如何在JMeter中发起请求并接收自定义Mock JSON响应?
当然可以!在JMeter里生成自定义的Mock JSON响应简直是小菜一碟,完全能帮你好好练习采样器、后置处理器这些功能。下面给你分享几种实用的方法,从简单到贴近真实场景都有:
方法1:用Dummy Sampler(最省心的选择)
Dummy Sampler是JMeter插件库的实用工具,能直接返回你想要的响应内容,不用额外搭服务器。
第一步:安装插件
打开JMeter,点击顶部菜单的「Options」→「Plugins Manager」,在「Available Plugins」标签里搜索「Dummy Sampler」,勾选后点击「Apply Changes and Restart JMeter」重启JMeter。第二步:配置自定义JSON响应
- 在测试计划里加一个「Thread Group」,右键它→「Add」→「Sampler」→「Dummy Sampler」。
- 在Dummy Sampler的配置界面:
- 清空「Response Data」框,粘贴你的JSON内容:
[ { "Car": "BMW", "Model": "520D", "Color": "Black" }, { "Car": "Audi", "Model": "A3", "Color": "Red" }, { "Car": "Ford", "Model": "Focus", "Color": "Blue" } ] - 把「Response Code」设为
200(模拟成功请求),「Response Message」填OK。 - 在「Response Headers」里添加
Content-Type: application/json,让JMeter识别这是JSON格式的响应。
- 清空「Response Data」框,粘贴你的JSON内容:
第三步:查看结果
给Thread Group加一个「View Results Tree」监听器,运行测试后,在监听器的「Response Data」标签里就能看到你自定义的JSON了,用来练JSON Extractor这些工具刚刚好。
方法2:用JSR223 Sampler(无需插件,纯内置)
要是不想装插件,用JMeter自带的JSR223 Sampler也能搞定:
- 右键Thread Group→「Add」→「Sampler」→「JSR223 Sampler」。
- 在「Script Language」里选
groovy(性能比BeanShell好很多,优先选这个)。 - 在脚本框里粘贴这段代码:
// 定义你的Mock JSON响应 def jsonContent = '''[ { "Car": "BMW", "Model": "520D", "Color": "Black" }, { "Car": "Audi", "Model": "A3", "Color": "Red" }, { "Car": "Ford", "Model": "Focus", "Color": "Blue" } ]''' // 设置响应状态码和消息 SampleResult.setResponseCode("200") SampleResult.setResponseMessage("OK") // 设置响应头,标明是JSON格式 SampleResult.setResponseHeaders("Content-Type: application/json\n") // 把JSON内容设为响应数据 SampleResult.setResponseData(jsonContent, "UTF-8") // 标记这个采样是成功的 SampleResult.setSuccessful(true) - 同样加个「View Results Tree」监听器,运行后就能看到你的Mock响应了。
方法3:本地搭简单Mock服务器(贴近真实请求场景)
要是想模拟真实的HTTP请求流程(比如用HTTP Request采样器发请求拿响应),可以用Python快速搭个本地Mock服务器:
- 新建一个文件叫
mock_cars.json,把你的JSON内容复制进去保存。 - 打开命令行,进入这个文件所在的文件夹,运行:
python -m http.server 8080 - 在JMeter里加一个HTTP Request采样器,设置:
- 「Server Name or IP」填
localhost - 「Port Number」填
8080 - 「Path」填
/mock_cars.json
- 「Server Name or IP」填
- 运行测试,HTTP Request采样器就能拿到你定义的JSON响应了,完全模拟真实接口请求的场景。
这三种方法各有侧重,你可以根据自己的练习需求选~
内容的提问来源于stack exchange,提问作者Jaff
相关产品推荐
相关产品推荐

