加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Jmeter Beanshell 脚本的调试方法

(2017-12-14 13:50:44)
分类: 软件测试技术
  Jmeter 是很方便普及的接口及性能测试工具,其中的Beanshell 脚本可以直接使用java 代码进行编程,对发送自定义的报文有很大帮助,但是相关调试方法介绍得很少,例如编写一个脚本可能会出现如下错误:

ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: `` import com.***cfs.common.util.***EncryptUtil; import java.lang.String;      / . . . '' : Typed variable declaration : Method Invocation rst.encrypt
WARN o.a.j.m.BeanShellPreProcessor: Problem in BeanShell script. org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: `` import com.***cfs.common.util.***EncryptUtil; import java.lang.String;      / . . . '' : Typed variable declaration : Method Invocation rst.encrypt

具体原因却未指出,让人不知从何下手调试

解决方案:

1、有80%问题是};if else 不对称引起的,请到专业IDE中检查所有语句是否对称

2、在相关语句中用try catch 包含 例如:

try {
    JsonClientUtil jcu=new JsonClientUtil();
    ObjectNode node = JsonUtil.createObjectNode();
}
catch (Throwable ex) {
    log.error("Beanshell failure: ", ex);
    throw ex;
}
相关的exception信息会更详细的显示在控制台上,可以帮助找到问题原因

3、在相关语句前后添加log.info()函数
如:
String dir= System.getProperty("user.dir");
log.info("--------------------------------dir:"+dir);
可以将变量信息显示在前台。

4、添加debug()语句在脚本开头

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有