我将Json作为回应。 我想在单个beanshell中检查它,而不是使用多个jsonPath_assertion。 每次我得到不同值的响应。
答案 0 :(得分:2)
我建议改用JSR223 Assertion和Groovy language。
Groovy内置了JSON support,因此您可以使用JsonSlurper类来解析响应,如:
def json = new groovy.json.JsonSlurper.parseText(prev.getResponseDataAsString())
// do what you need here
除了Groovy比Beanshell表现更好,并且recommended使用它来在JMeter中编写脚本。有关详细信息,请参阅Groovy Is the New Black。
答案 1 :(得分:1)
你可以使用beanshell断言。它会帮助你很多。
prev.getResponseDataAsString()
将以字符串形式返回您的json响应。 我希望您将使用Jsonpath在线评估程序来评估json响应。 假设我的json在线评估代码看起来像这样$.items[2].CM_SEQNUMBER
在beanshell断言中,我使用了
JsonObject jsonobj = JsonObject.readFrom(jsonString);
JsonArray jsonarr = jsonobj.get("items").asArray();
String pickupToCheck=jsonarr.get(2).asObject().get("CM_SEQNUMBER").asString();
同样,您可以使用单个beanshell断言验证您的JSON数据,而无需使用多个JSONPath Extractor。