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使用的主要内容,如果未能解决你的问题,请参考以下文章

beanshell使用

Jmeter的BeanShell断言

jmeter-BeanShell PreProcessor的使用

JMeter基础 — JMeter中BeanShell断言详解

JMeter使用BeanShell断言

JMeter BeanShell示例