这是我试图在beanshell sampler中执行的代码:
import java.lang.*;
import java.util.*;
String name_lead = vars.get("Name_lead");
String[] lead = name_lead.split("\\s+");
//vars.put("myname",lead[0]);
//vars.put("myname1",lead[1]);
//vars.put("myname2",lead[2]);
for(int i=1; i<=Integer.parseInt(vars.get("title_pass_matchNr")); i++)
{
String title = vars.get("title_pass_"+i);
String fname = vars.get("firstname_"+i);
String lname = vars.get("lastname_"+i);
String[] fn = fname.split("");
//vars.put("title",title);
//vars.put("fname",fn[1]);
//vars.put("lname",lname);
if(lead[i-1].equals(title) && lead[i].equals(fn[1]) && lead[i+1].equals(lname))
{
vars.put("namep",lead[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
响应消息:org.apache.jorphan.util.JMeterException:调用bsh方法时出错:eval源文件:内联评估:``import java.lang.; import java.util.; String name_lead = vars.get("Name_lead"); ...""
我无法理解它.sombody可以帮帮我吗?我该如何解决?
name_lead 有像P先生那样的东西......并使用正则表达式提取器
Dmi*_*i T 16
有一种很好的方法可以将此Error invoking bsh method错误转换为更易于理解的堆栈跟踪:将代码放入try块中,如:
try {
//your code here
}
catch (Throwable ex) {
log.error("Error in Beanshell", ex);
throw ex;
}
Run Code Online (Sandbox Code Playgroud)
这样您就可以在jmeter.log文件中看到异常详细信息
另一种在Beanshell脚本的最开始添加debug()指令的方法.这样你就可以在stdout中获得大量的调试输出.
有关在JMeter测试和脚本开发和故障排除中使用Beanshell的更多信息,请参见如何使用BeanShell:JMeter最喜欢的内置组件指南
| 归档时间: |
|
| 查看次数: |
19340 次 |
| 最近记录: |