首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSR223脚本中的问题,JSR223 PostProcessor : javax.script.ScriptException

JSR223脚本中的问题,JSR223 PostProcessor : javax.script.ScriptException
EN

Stack Overflow用户
提问于 2019-03-04 06:47:54
回答 3查看 6.4K关注 0票数 3

我使用的是JMet5.0,其中我在JSR223 PostProcessor中编写了一段java代码。守则如下-

代码语言:javascript
复制
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:在文件中:内联计算: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。。。'‘在6号线

有人能帮我指出我可能出错的地方吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-04 06:55:42

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

代码语言:javascript
复制
gamePlayHistoryMap.put(vars.get("playerId"), vars.get("GameplayHistoryId"));

GameplayHistoryId似乎是空的,在这种情况下,在JSONExtractor中添加默认值或失败测试

请参阅JMeter关于JSR223脚本的最佳实践:

在这种情况下,确保脚本不使用任何使用${varName}的变量,因为缓存只需要使用${varName}的第一个值。相反,使用:vars.get("varName")

票数 3
EN

Stack Overflow用户

发布于 2019-03-04 08:08:47

  1. 因为JMeter 3.1您应该使用groovy语言来编写脚本,查看您的异常细节--看起来您使用的是java --这不是真正的Java,而是有与Groovy相比性能更差Beanshell解释器,您必须坚持Java 5的语法。
  2. 不要将JMeter函数和/或变量内联到脚本中,因为它们可能会被解析为导致脚本失败的东西,如果使用Groovy,它们会与GString模板和编译缓存功能发生冲突。使用vars缩写JMeterVariables类读取现有变量值并创建新变量值,即替换以下一行: gamePlayHistoryMap.put(${playerId},${GameplayHistoryId}); 有了这个: GamePlayHistoryMap.put(‘playerId’),vars.get(‘GameplayHistoryId’);
票数 1
EN

Stack Overflow用户

发布于 2019-09-05 08:26:05

您缺少了Map键/值定义。

代码语言:javascript
复制
Map <String, String> gamePlayHistoryMap = new HashMap<>();
gamePlayHistoryMap.put(${playerId}, ${GameplayHistoryId});

不确定以下问题的答案:

不要在JSR223脚本中使用${},而是使用vars.get("")

不确定这和这事有什么关系。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54977919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档