我正在使用 Jmeter 5.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);
但是当我执行测试计划时,在控制台中出现以下错误 -
javax.script.ScriptException: In file: inline evaluation of:
import java.util.Map; import java.util.HashMap; Map gamePlayHistoryMap = new H . . . '' Encountered "( 107 , )" at line 6, column 23. in inline evaluation of:
import java.util.Map; import java.util.HashMap; Map gamePlayHistoryMap = new H . . . '' at line number 6
有人可以帮我指出我可能出错的地方吗?
最佳答案
不要在 JSR223 脚本中使用 ${}
,而是使用 vars.get("")
来获取变量
gamePlayHistoryMap.put(vars.get("playerId"), vars.get("GameplayHistoryId"));
似乎 GameplayHistoryId
是空的,在这种情况下在 JSONExtractor
中添加默认值或测试失败
请参阅 JMeter 的最佳实践 JSR223脚本:
In this case, ensure the script does not use any variable using
${varName}
as caching would take only first value of${varName}
. Instead use :vars.get("varName")
关于jmeter - JSR223 脚本中的问题,JSR223 PostProcessor : javax. script.ScriptException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54977919/