我需要在beanshell采样器中比较json响应,并打印条件是否通过或失败。有人能帮忙吗,我们怎么比较呢?我已经有了一个JSON格式的响应,当测试执行时,我会得到另一个响应,我需要比较这两个字。
I tried using if/else but then its not working properly.
JSONObject JsonResponseinput = new JSONObject();
JsonResponseinput.toString();
print(JsonResponseinput + " = PASS");
f.close();
String s=JsonResponseinput.toString();
if (s == JsonResponse)
{
f = new FileOutputStream("output/path/API_OUTPUT.csv", true);
p = new PrintStream(f);
this.interpreter.setOut(p);
print(s + " = PASS");
f.close();
}
Else
{
print(JsonResponseinput + " = FAIL")
}
3条答案
按热度按时间tf7tbtn21#
至少有四种方法可以做到这一点:
1.使用Jackson,如:
1.使用GSON,如:
1.使用JsonSlurper,如:
1.使用JSONAssert
更多信息:The Easiest Way To Compare REST API Responses Using JMeter
P.S.忘记Beanshell吧,从JMeter 3.1开始,你应该使用JSR223测试元素和Groovy语言来编写任何形式的脚本
c90pui9n2#
您可以使用以下方法比较2个JSON响应:
1.使用JSON提取器提取两个JSON响应[提取完整响应]
1.使用JSR223 Sampler处理脚本区的代码
ycggw6v23#
我使用DeltaXML中一个名为DeltaJSON的工具进行JSON比较,它有一个整洁的GUI和REST界面。您可以使用REST API并解析响应。