json - Jmeter:重用和更改 Json 响应作为下一个请求的正文
问题描述
我想用 JMeter 测试一个 Rest Webservice。我执行了一个 GET 请求,它返回 JSON 数据。我想更改一个属性,然后在 PUT 请求中再次发送它。有没有办法在 Jmeter 中做到这一点?
我已经使用后处理器提取了 JSON 响应,并且可以将此响应用作下一个请求的输入。但是我怎么能操纵它呢?有任何想法吗?
解决方案
您可以使用 JSR223 POSTProcessor 并使用 groovy 脚本对其进行修改:
将其添加到您要编辑的 Request whos Response 中,并使用以下内容进行编辑:
import groovy.json.JsonSlurper
import groovy.json.JsonOutput
def json = new JsonSlurper().parseText(prev.getResponseDataAsString())
// add the code to edit the JSON Struckture
使用该部分,您可以将 JSON 存储在变量中,然后只需在更新请求中使用它
def jsonOut = JsonOutput.toJson(json)
vars.put("jsonBody", JsonOutput.prettyPrint(jsonOut))
推荐阅读
- rxjs - 如何调度确定的商店状态?
- android - 无法使用 NestedScrollView 为 WebView 创建图层
- mysql - 包含 order by 和 random 的 Mysql union 2 查询
- filemaker - 修复 Filemaker 18 计算 While 循环错误
- java - 在休眠状态下,当有 EAGER JOIN 时,StatelessSession 是否会阻止过滤掉重复项
- python - 计数视图有时有效,有时不计数
- single-sign-on - ADFS 问题 - 自动登录不起作用
- git - RPC 失败;HTTP 502 curl 22 The requested URL returned error: 502 Bad Gateway?
- javascript - Firebase OnCreate() 触发器有时只会触发
- angular - Mat-option select 从 Map 中设置默认选择的选项