jmeter中beanshell断言的使用

简单使用beanshell的内容,进行测试内容的判断

这里通过断言内容,修改if的条件,达到发送警报邮件的功能

beanshell 代码如下:     SampleResult 等效于 prev

log.error(vars.get("ReqStatus"));

int count=Integer.parseInt(vars.get("errorcount").trim());

vars.put("result", SampleResult.getResponseDataAsString());

if (SampleResult.getResponseDataAsString().indexOf("sessionId")!= -1)
{
String code =SampleResult.getResponseCode();
String msg = SampleResult.getResponseMessage();
String data = SampleResult.getResponseDataAsString();

log.error("------return code "+ code);

vars.put("responsecode", code);
vars.put("responsedata",data);
vars.put("responsemsg",msg);

count = count + 1;
vars.put("errorcount", count.toString());

if((count%1)==0)
{
vars.put("sendmail","yes");
}
else{
vars.put("sendmail","no");
}

SampleResult.setSuccessful(true);
}

else
{
String code =SampleResult.getResponseCode();
String msg = SampleResult.getResponseMessage();
String data = SampleResult.getResponseDataAsString();

log.error("------return code "+ code);

vars.put("responsecode", code);
vars.put("responsedata",data);
vars.put("responsemsg",msg);

SampleResult.setSuccessful(true);

}

设置系统的变量如下:

附件顺便加上beanshell的用法汇总:

http://www.cnblogs.com/xxyBlogs/p/5966194.html

时间: 2024-10-12 13:33:14

jmeter中beanshell断言的使用的相关文章

JMeter使用BeanShell断言

BeanShell简介 BeanShell是使用Java语法的一套脚本语言,在JMeter的多种组件中都有BeanShell的身影,如: 定时器:BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器:BeanShell Sampler 后置处理器:BeanShell PostProcessor 断言:BeanShell Assert 监听器:BeanShell Listener 通过BeanShell可以对请求数据.响应数据或环境变量进行更加灵活的处理

JMeter中BeanShell用法总结(一)

一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k. BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法. 二.Jmeter有哪些Bean Shell 定时器: BeanSh

jmeter之beanshell断言---数据处理

在做接口测试时,对响应数据的校验是非常重要的部分:在使用Jmeter进行接口测试时,有多种respone校验方式,比如响应断言.BeanShell断言等等,BeanShell断言可以自定义断言,自由灵活的用脚本实现断言. 1.什么是BeanShell ? 小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法 运行其内部的脚本处理Java应用程序,还可以在运行过程中动态执行你java应用程序执行java代码,因为BeanShell是用java写的,运行在同一个虚拟机

Jmeter之BeanShell断言使用

1.Bean Shell常用内置变量 JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下: log:用来记录日志文件,写入到jmeber.log文件,使用方法:log.info(“This is log info!”); ctx(JmeterContext)通过它来访问context,使用方法可参考:org.apache.jmeter.threads.JMeterContext. vars - (JMeterVariabl

JMeter中BeanShell实现写入文件

1.首先F:\test.txt文件为空 2.定义JMeter参数 3.编写BeanShell代码 public static void execParam() { String getdata = vars.get("v1"); //vars.get("v1"):意思是获取JMeter的参数值,然后将获取的值赋值给getdata变量 //用以下方式也可以://String getdata = "${v1}"; //String getdata =

jmeter之beanshell断言实例

.首先储存一个接口的响应结果,比如在http请求的后面添加beanshell后置处理器(BeanShell PostProcessor)来储存http请求的响应结果: 1 import org.json.*; 2 3 //获取上一个请求的返回值 4 String response = prev.getResponseDataAsString(); 5 //将返回值转换为json 6 JSONObject responseJson = new JSONObject(response); 7 //获

Jmeter的BeanShell断言

1.什么是BeanShell断言? BeanShell断言可以使用beanshell脚本来执行断言检查,可以用于更复杂的个性化需求,使用更灵活,功能更强大,但是要能够熟练使用beanshell脚本. 在这里除了可以使用beanshell的内置变量外,主要通过Failure和FailureMessage来设置断言结果. Failure = false;-----表示断言成功, FailureMessage = "……"; ----自定义的成功信息 Failure = true;-----

JMeter中BeanShell Sampler调试分享

BeanShell脚本 String s = "s"; String y = "y"; boolean result = s.equals(y); vars.put("result2",result); 通过查看结果树,BeanShell脚本报错 通过有道在线翻译,意思是方法调用错误 那是哪个方法调用错误呢? 通过异常发现,Error in method invocation: Method put( java.lang.String, bool

jmeter中beanshell postprocessor结合fastjson库提取不确定个数的json参数

在项目实践中,遇到了这样一个问题.用jmeter作http接口测试,需要的接口参数个数是不确定的.也就是说,在每次测试中,根据情况不同,可能页面中的列表中所含的参数个数是不确定的,那么要提取的参数个数也是不确定的,可能是1个,也可能是2个或3个,甚至更多. 例如,返回的接口消息json消息可能如下 { "data": { "records": [{ "DEVICE_TYPE": 194, "DEVICE_STATUS": 0,