首页 > 解决方案 > Jmeter:重用和更改 Json 响应作为下一个请求的正文

问题描述

我想用 JMeter 测试一个 Rest Webservice。我执行了一个 GET 请求,它返回 JSON 数据。我想更改一个属性,然后在 PUT 请求中再次发送它。有没有办法在 Jmeter 中做到这一点?

我已经使用后处理器提取了 JSON 响应,并且可以将此响应用作下一个请求的输入。但是我怎么能操纵它呢?有任何想法吗?

标签: jsonresttestingjmeter

解决方案


您可以使用 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))

推荐阅读