arrays - Jmeter中的Json导入错误
问题描述
我需要在 Jmeter 中做一个断言,为此我有这个代码:
import com.eclipsesource.json.*;
{
Long maxId = -1L;
JsonArray subBalances = vars.get("subBalanceArray").get("subBalances").asArray();
for (int j = 0; j < subBalances.size(); j++)
{
JsonObject subBalance = subBalances.get(j).asObject();
long subBalanceId = subBalance.get("subBalanceId").asLong();
maxId = Math.max(maxId, subBalanceId);
}
}
vars.put("latestId", String.valueOf(accountId.getLong("subBalanceId")));
log.info(vars.get("latestId");
但是我得到了这个错误,我没有得到它,因为我已经导入了所有的 json 函数,并且我在 jmeter/lib 中有 jars。有任何想法吗?谢谢!
Assertion failure message: org.apache.jorphan.util.JMeterException:
Error invoking bsh method: eval Sourced file: inline evaluation of: ``import
com.eclipsesource.json.*; import org.json.JSONObject; import org.json.JSO . .
. '' : Typed variable declaration : Class: JsonArray not found in namespace
解决方案
您需要下载mininal-json jar,将其放在JMeter Classpath下并重新启动 JMeter 以选择 .jar。之后,您的代码应该开始按预期工作。
还可以考虑从 Beanshell 迁移到 Groovy:
- Groovy 的性能比 Beanshell 好得多
- Groovy 具有内置 JSON 支持,因此您不必依赖外部库
推荐阅读
- java - 这种成对类的情况是否有设计模式?
- javascript - 为什么 j < i 在此解决方案中用于将矩阵旋转 90 度?
- nuget - 如何在 Azure Webapp (api) 中安装和实现 HtmlRenderer.PdfSharp
- checksum - md5sum - 忽略尾随空格
- amazon-web-services - 使用 Lambda 授权方的 AWS Cognito 和 API 网关
- json - Swift 4 JSON 可解码多维和多类型数组读取涌入数据
- php - 您请求了一个不存在的服务“Doctrine”。你是说这个:“教义”吗?
- python-3.x - 传递三元运算符递归返回方法不支持项赋值
- python - 需要从多个excel中追加多个Sheet,但还需要跳过没有该工作表名称的excel
- python - 气流:从新计划开始重新运行 DAG