我是beanshell脚本的新手。所以我的查询可能有基本的语法问题。 我正在接受" DocConnectionId"来自正则表达式提取器,它是应用程序屏幕中元素的数量。我有GetNewReferralId,我想要与DocConnectionId匹配变量值。
我写了以下代码:
int DocConnectionId = Integer.parseInt(vars.get("connectionIDWithDoc_matchNr"));
int GetNewReferralId = Integer.parseInt(vars.get("GetNewReferral"));
for(int i = 1;i<=DocConnectionId;i++)
{
if(GetNewReferralId.equals(vars.get("connectionIDWithDoc_"+i))){
Integer.parseInt(vars.put("ConnectionWithDoc"));
break;
}
}
但我在错误日志中收到以下错误。
jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``int DocConnectionId = Integer.parseInt(vars.get("connectionIDWithDoc_matchNr")); . . . '' : Typed variable declaration : Method Invocation Integer.parseInt
答案 0 :(得分:0)
很可能connectionIDWithDoc_matchNr未定义,或者你的情况出错了。
你能否告诉你完整的测试计划。
答案 1 :(得分:0)
您的代码没有多大意义,请尝试详细说明需要完成的工作,以便我们在解释中提出更优雅的解决方案。
直到这段时间是一条建议:
debug();
行 - 您将获得额外的调试输出到STDOUT(控制台,您从中启动JMeter)如果您将代码包含在try/catch块中,例如:
try {
//your code here
}
catch (Throwable ex) {
log.error("Error in script", ex);
}
您将能够在 jmeter.log 文件中看到更易读和易懂的堆栈跟踪(通常在文件夹中生成,您启动JMeter表单)
请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章,了解更详细的解释以及在JMeter测试脚本中使用Beanshell的几个实际示例。