如何验证的豆壳JSON响应并执行一些动作的情况下,并不如预期中的JMeter的反应如何?

问题描述 投票:0回答:1

我想提取JMeter的JSON响应,如果反应未如预期,我需要把它打印到CSV文件。

我尝试使用了含有方法来检查响应包含预期的关键字,但它似乎并没有工作。有没有任何其它办法,我可以做到这一点?

示例代码在这里:

log.info(ctx.getPreviousResult().getResponseDataAsString());

r = ctx.getPreviousResult().getResponseCode();

d = ctx.getPreviousResult().getResponseDataAsString();

if(!d.contains("valid")){

p.println(r +","+ vars.get("email") +",");

}

这是我的JSON响应

{
     "isBlueLinkServicePinValid": "valid"
}

我检查关键字“有效”

if(!d.contains("valid"))

但它似乎没有工作?

TIA

jmeter beanshell
1个回答
1
投票
  1. Since JMeter 3.1 it is not recommended to use Beanshell for scripting,你应该去JSR223测试元素和Groovy语言来代替。主要的原因是,Groovy has much better performance than Beanshell做。
  2. Groovy has built-in JSON support因此,你可以提取isBlueLinkServicePinValid在一个简单的方法属性值: String response = prev.getResponseDataAsString(); log.info("Response: " + response) String valid = new groovy.json.JsonSlurper().parseText(response).isBlueLinkServicePinValid log.info("Valid: " + valid); if (valid.equals("valid")) { log.info("Do something"); } else { log.info("Do something else"); } 演示: enter image description here
© www.soinside.com 2019 - 2024. All rights reserved.