我有一个问题在JMeter其中我收到这个错误
2014/08/14 14:13:26 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String RequestUrl = vars.get("RequestUrl"); String[] params = RequestUrl.split(" . . . '' : Typed variable declaration
2014/08/14 14:13:26 WARN - jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String RequestUrl = vars.get("RequestUrl"); String[] params = RequestUrl.split(" . . . '' : Typed variable declaration
我不知道出了什么问题,而代码似乎正在运行。谁能给我一些建议吗?
下面是有问题的代码块:
String RequestUrl = vars.get("RequestUrl");
String[] params = RequestUrl.split("\\?");
String RequestTask = params[1].split("\\&")[1].split("=")[1];
System.out.println(RequestTask);
vars.put("RequestTask",RequestTask);
应该提到的是,代码位于后处理器中,后处理器与“RequestUrl”的Xpath提取器相匹配
编辑以包含整个错误
如果要将VuGen录制的JMS脚本转换为JMeter,则必须查找复制的lr
函数,该函数将抛出此错误/类似错误。
例如:int orderlinecount=Integer。parseInt(lr.eval_字符串(“strInt”)
为了让jmeter成功执行脚本,您必须确保脚本中没有所有与lr相关的函数。
你能告诉我整个错误吗?
试着在另一个语句之后添加一个语句,看看哪一个是根本原因。
我想你可能对结果(数组访问)做出假设,这可能是问题的原因。
我没有看到你的网址和XPath查询返回什么,但在任何情况下,你的网址解析逻辑看起来很脆弱,因为它强烈依赖于参数的顺序和存在,并且可能会在将来请求网址更改时咬你一口,即额外的参数或更改的参数顺序或者编码的东西,等等。
参考资料见下文:
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import java.net.URI;
import java.util.List;
String url = vars.get("RequestUrl");
List params = URLEncodedUtils.parse(new URI(url), "UTF-8");
for (NameValuePair param : params) {
if (param.getName().equals("put your actual param name here")) {
vars.put("RequestTask", param.getValue());
}
}
此外,还值得查看如何使用BeanShell:JMeter最喜欢的内置组件,以获取故障排除提示。通常,应使用以下方法来本地化错误日志记录:
log.info("something");
log.error("something else");
所以,如果您在html" target="_blank">日志中没有看到消息,那么Beanshell将无法执行该行,并在上面的某个地方失败。
此外,Beanshell错误消息的信息量不大,我在脚本中使用以下结构:
try {
//script logic here
}
catch (Throwable ex) {
log.error("Failed to do this or that", ex);
}
所以可以在jmeter中读取错误stracktrace。日志文件。
希望这能有所帮助。
下面是我的代码,它在第10行第25列抛出异常,错误是: 调用bsh方法时出错:文件中的eval:内联求值:``import java.util.List;导入java.util.ArrayList;public static void main(Strin....“)在第10行第25列遇到”var“。
而例外是: 2017/04/26 16:16:25 warn-jmeter.extractor.beanshellPostProcessor:BeanShell脚本org.apache.jorphan.util.jmeterException:调用bsh方法时出错:eval源文件:内联求值:``尝试{hash1=vars.get(“var_hash_1”);hash2=vars.get(“var_
我是jmeter的新手,我遇到了以下错误: 杰米。util。BeanShellInterpreter:调用bsh方法时出错:eval无法初始化类stpl。自由党。茶。TEALib 我已经在jmeter的lib/ext中添加了java类的jar文件。我正在尝试在beanshell预处理器中导入java类。包名为且类名为TEALib,因此使用以下语法: 此外,我还在java类中添加了一个dll文件,该
在杰米特 为什么为什么为什么!!!!! Java8默认安装。 为什么不呢?
我需要将变量(从响应中提取)从一个线程传递到另一个响应:“16540$Add373”我需要$RegEx:Ref Name:SFID RegEx:[$]模板:$1$MatchNo:1之前的数字 我已经使用beanshell断言将变量设置为jmeter属性 ${u setProperty(SFID1,${SFID})}; 在执行任务时,我得到了 断言失败消息:org。阿帕奇。乔芬。util。JMete