当前位置: 首页 > 知识库问答 >
问题:

JSR223脚本中的问题,JSR223后处理程序:javax.script.ScriptException

咸正平
2023-03-14

我使用的是JMeter5.0,在JSR223后处理程序中编写了一段java代码。代码如下--

import java.util.Map;
import java.util.HashMap;


Map gamePlayHistoryMap = new HashMap();
gamePlayHistoryMap.put(${playerId}, ${GameplayHistoryId});
props.put("GamePlayHistoryMap", gamePlayHistoryMap);

Map payLevelDetailsMap = new HashMap();
payLevelDetailsMap.put(${playerId}, ${PayLevelDetails});
props.put("PayLevelDetailsMap", payLevelDetailsMap);

然而,当我执行测试计划时,在控制台中我会得到以下错误-

ScriptException:在文件中:内联计算:导入java.util.map;导入java.util.HashMap;Map gamePlayHistoryMap=新H。..“在第6行第23栏遇到”(107,)“。在:的内联求值中,导入java.util.Map;导入java.util.HashMap;Map gamePlayHistoryMap=新H。..“在第6行

有人能帮我指出我可能错在哪里吗?

共有1个答案

苏季同
2023-03-14

不要在JSR223脚本中使用${},而是使用vars.get(“”)来获取变量

gamePlayHistoryMap.put(vars.get("playerId"), vars.get("GameplayHistoryId"));

似乎gameplayhistoryid为空,在这种情况下,在jsonextractor或fail test中添加默认值

请参见JMeter的JSR223脚本编写最佳实践:

 类似资料:
  • 我试图通过从Azure门户公开的rest API将JMeter结果推送到Azure Cosmos DB。 为此,我使用JSR223采样器(作为预处理器)获取auth令牌以连接到cosmos db,还使用stand脚本生成(参见:https://github.com/microsoftcsa/documentdb-postman-collection/issutions)。 但是我在JSR223脚本

  • 我是Jmeter的新手,正在积极学习。 我想知道JSR223采样器和JSR223预处理器有什么不同,采样器可以和预处理器一样使用吗?

  • 我使用groovy JSR223 Post processor处理响应并保存到文件中。 下面是我的配置

  • 我在JSR223采样器中有以下代码,我得到SSL证书错误。有什么办法可以做到禁用吗? JSR223脚本中的问题JSR223采样器,消息:javax.script.scriptException:javax.net.ssl.sslhandShakeException:sun.security.validator.validatoreXception:PKIX路径构建失败

  • 我对使用JMeter的groovy是新手。我试图从groovy脚本中获取格林威治时间上午12:00的时间戳,并将其转换为Epoc计时器

  • > 下面有一个json响应数组,我正在将它放入Jmeter正则表达式提取器变量中。 在这里,我有JSON对象。 在JSON对象中,我们有不同的SKU和相应的数量。 我正在使用一个hashmap从CSV文件中读取值,并更新每个SKU的数量细节,但我的脚本无法将响应取到JMeter中的数组中。 最后,我将分享解析JSON数组时遇到的Jmeter代码和错误 我看到很多帖子建议groovy,我不知道如何使