在 JMeter 的 BeanShell Sampler 中将字符串解析为整数 [英] Parsing string to integer in BeanShell Sampler in JMeter
问题描述
我试图在 JMeter 中将字符串解析为整数,但由于以下错误而失败.如果我尝试打印 vars.get 返回的字符串,它们看起来不错.
I'm trying to parse a string into integer in JMeter but failed due to following error. If I try to print the strings returned by vars.get, they look good.
2014/06/28 00:08:52 WARN - jmeter.assertions.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``if (ResponseCode != null && ResponseCode.equals ("200") == false ) { int i = In . . . '' : Typed variable declaration : Method Invocation Integer.parseInt
以下是我的代码
if (ResponseCode != null && ResponseCode.equals ("200") == false )
{
int i = Integer.parseInt(vars.get("currentPMCount"));
int j = Integer.parseInt(vars.get("pmViolationMaxCount"));
if( i > j ){
log.warn("PM count on server is greater than max allowed count.");
}
log.warn( "The return code is " + ResponseCode); // this goes to the JMeter log file
}
else
{
Failure=true ;
FailureMessage = "The response data size was not as expected" ;
}
推荐答案
您的代码看起来不错,但是 currentPMCount
和/或 pmViolationMaxCount
变量可能存在问题.
Your code looks good however it can be a problem with currentPMCount
and/or pmViolationMaxCount
variables.
如果它们真的很好看并且看起来像整数并且不超过整数的最大值/最小值,您可以尝试以下操作:
If they really look good and look like Integers and don't exceed maximum/minimum values of Integer you can try the following:
确保数字值周围没有空格"字符,因为前导或尾随空格会导致转换失败.也许在变量上调用
trim()
方法会有所帮助:
int i = Integer.parseInt(vars.get("currentPMCount").trim());
我最喜欢的:将您的代码包围在 try/catch 块中,如下所示:
My favourite: surround your code into try/catch block as follows:
try{
//your code here
}
catch (Exception ex){
log.warn("Error in my script", ex);
throw ex; // elsewise JMeter will "swallow" the above exception
}
通过这种方式,您将获得更多信息丰富的堆栈跟踪,而不是糟糕的Error invoking bsh method
消息,它什么也不说.
This way you'll get more informative stacktrace instead of lousy Error invoking bsh method
message which tells nothing.
参见如何使用BeanShell:JMeter 最喜欢的内置组件 有关更多提示和技巧的指南.
See How to use BeanShell: JMeter's favorite built-in component guide for more tips and tricks.
这篇关于在 JMeter 的 BeanShell Sampler 中将字符串解析为整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!