beanshell使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了beanshell使用相关的知识,希望对你有一定的参考价值。
参考技术A 1.在jmeter中如果通过正则表达式关联到的信息包含特殊字符(如\ “”),在后续的引用中不能$,需要进行进一步的处理,处理方法:var.get例一:通过正则表达式关联到的值为:43433434\x42\x4234544545,需要判断第8到16位是否为\x42\x42
String b="";
String c="";
String d="\\x42\\x42";
b=vars.get("g_id");
c=b.substring(8,16);
log.info("+++++++++++++++++++++c="+c);
if(c.equals(d))
failure=false;
log.info("成功");
log.info("===================d="+d);
else
failure=true;
log.info("失败");
log.info("===================d="+d);
6.beanshell 断言的使用
当遇到复杂的业务场景时,简单的断言已不足以应对,此时需要Beanshell 断言组件
示例:
例如,判断接口响应结果字段responseCode为650,69,659,999,990开头时时,那么认为它就是异常的
创建beanshell 断言组件
String res_msg = SampleResult.getResponseDataAsString();
if (res_msg.indexOf("responseCode":"650") ! = -1 ||res_msg.indexOf("responseCode":"69") ! = -1|| res_msg.indexOf("responseCode":"659") ! = -1 || res_msg.indexOf("responseCode":"999") ! = -1 || res_msg.indexOf("responseCode":"990") ! = -1 )
{
SampleResult.setSuccessful(false);
Failure = true;
FailureMessage = res_msg;
}
else
{
SampleResult.setSuccessful(true);
Failure = false;
FailureMessage = res_msg;
}
vars.put("FailureMessage",FailureMessage );
以上是关于beanshell使用的主要内容,如果未能解决你的问题,请参考以下文章
jmeter-BeanShell PreProcessor的使用