jmeter学习指南之响应断言和beanshell断言
一、响应断言
1、什么是响应断言?
在jmeter中最常用的断言方法是"响应断言",它是通过检查sampler的请求内容和响应结果中是否匹配指定的字符串来判断结果是否正确。
响应断言简单实用,能够解决工作中的大部分问题。
尤其是在jmeter4.0版本中在响应断言中加入了Request Headers、Request Data,使得能够对请求头和请求体进行断言,满足了多样性的断言需求,非常方便。
2、使用响应断言
响应断言的使用非常简单,通常需要关注如下三点:
"要测试的响应字段"
指我们要进行断言的内容所在的位置,分为request和response两大块,根据实际情况选择即可(最常用的是响应文本)
"模式匹配规则" (此处提到的1和3对应上图中的数字)
控制上图中的"1"如何匹配"3"
"包括"--1包括3,支持正则; "匹配"--1完全匹配3,支持正则;
"Equals"--1完全匹配3中的文本内容,不支持正则,且大小写敏感;"Substring"--1包括3中的文本内容,不支持正则,且大小写敏感;
"否"、"或者"--跟前面四个选项结合使用,分别用于逻辑取反、取或。
"要测试的模式"
这里填写我们要进行断言的内容,可以添加多个模式,可以使用变量、文本、正则表达式(在"包括"和"匹配"模式下)。
jmeter视频:https://edu.51cto.com/course/14305.html
二、BeanShell断言
1、什么是BeanShell断言?
BeanShell断言可以使用beanshell脚本来执行断言检查,可以用于更复杂的个性化需求,使用更灵活,功能更强大,但是要能够熟练使用beanshell脚本。
在这里除了可以使用beanshell的内置变量外,主要通过Failure和FailureMessage来设置断言结果。
Failure = false;-----表示断言成功,
FailureMessage = "……"; ----自定义的成功信息
Failure = true;-----表示断言失败,
FailureMessage = "……";-----自定义的失败信息。
下面看一个简单的示例:
其中脚本内容如下:
if ("200".equals(""+ResponseCode) == false )
{
// 响应码不等于200时,设置断言失败,并输出失败信息
Failure=true ;
FailureMessage ="Response code was not a 200 response code it was " + ResponseCode + "." ;
print ( "the return code is " + ResponseCode); // this goes to stdout
log.warn( "the return code is " + ResponseCode); // this goes to the JMeter log file
} else {
// 响应码等于200时,设置断言成功,并输出成功信息
Failure=false;
FailureMessage = "Return true, and the response code was " + ResponseCode;
}
}