gpt4 book ai didi

java - 在 jmeter 中使用 Beanshell 验证 JSON 响应

转载 作者:行者123 更新时间:2023-11-30 02:38:17 26 4
gpt4 key购买 nike

我正在尝试使用 Beanshell 断言在我的 jmeter 中断言 Json 响应。下面是我的代码。

import org.json.JSONObject;
import org.json.JSONArray;
import java.lang.String;
import org.apache.log.Logger;

try{
String jsonString = prev.getResponseDataAsString();
JsonObject jsonobj = JsonObject.readFrom(jsonString);
JsonArray jsonarr = jsonobj.get("items").asArray();
String pickup = jsonarr.get(2).asObject().get("CM_NAME").asString();
log.info(pickup);
}
catch(Exception e)
{
log.info("beanshell Exception "+e.getMessage());
}

这是我必须验证的 Json 路径

$.items[2].CM_NAME

运行脚本后,我得到以下脚本。

Assertion failure message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.JSONObject; import org.json.JSONArray; import java.lang.String; . . . '' : Typed variable declaration : Class: JsonObject not found in namespace

我使用的是jmeter版本2.11。任何人都可以帮助我让我的脚本正常工作并且我的代码正确吗?

最佳答案

我建议您使用JsonPath相反,这正是您想做的事情。

另外,升级到 JMeter 3.1,它已经将该库嵌入到其类路径中,或者下载 JAR 文件并将其放入/lib/ext 中。

完整代码示例:

import com.jayway.jsonpath.JsonPath;

String author0 = JsonPath.read(document, "$.store.book[0].author");
Failure = !"John Smith".equals(author0);
if (Failure) {
FailureMessage = "Expected John Smith as author";
}

关于java - 在 jmeter 中使用 Beanshell 验证 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42504713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com