Jmeter beanshell 断言

Jmeter 的自带断言方式有很多种,以下就常用的两种断言方式简单介绍一下:

第一种:响应断言(Response Assertion),这种断言应该是新手比较常用的一种,毕竟操作简单。但这种断言形式,在做接口自动化时,就没有那么方便,不能打印自己想打印的内容。

具体操作如下:

1、选择取样器->Add->Assertion->Response Assertion 进入到断言设置页面。

2、在Response 面板上可以根据具体的需求进行设置

3、实际运行结果

第二种:Beanshell Assertion 断言,不管是在性能测试、单接口测试、接口自动化测试上都及利于对断言结果进行分析的。

具体操作下:

1、选择取样器->Add->Assertion->Beanshell Assertion 进入到beanshell 页面。

2、实际运行结果

//获取响应内容
String response_value = prev.getResponseDataAsString();
//获取响应码
response_code = prev.getResponseCode();
//断言内容,如果是做接口自动化时,可以直接读取csv文件的断言内容
//这里只是单接口调试而已,因此,就自定义两个断言的变量来存放断言内容。
String assert1 = "\"status\":\"false\"";
String assert2="\"message\":\"购物车添加成功!\"";

//Failure是jmeter内置的变量,为false时,表示断言成功,不会抛出错误,为true时,表示断言失败;
//FailureMessage是jmeter内置的变量,用来打印断言失败后,需要显示的内容。

if(response_value.contains(assert1) && response_value.contains(assert2)){
	Failure = false;
	return;
}else{
	Failure=true;
	String massage = "\n\t\t断言失败!" +"\n" + "断言1:"+assert1 +"\t断言2:"+ assert2 +"\n\n响应信息如下:\n";
	FailureMessage=massage+"响应码为:"+ response_code+"\n"+"响应内容为:"+response_value;
	return ;
}

当然Beanshell Assertion 断言方式还有做其他的操作,暂时不在此进行介绍!

原文地址:https://www.cnblogs.com/JcHome/p/15598592.html