1)响应断言 --可以作用于线程组或者请求jmeter响应断言接入java jmeter响应断言匹配规则_mob6454cc7c698b的技术博客_51CTO博客
【响应文本】指返回的【响应数据】的文本信息response body。
【响应代码】指Http响应码,如200、500等。
【响应信息】指的是http的【取样器结果】中的response message。
【响应头】指http【响应数据】的响应头信息response hearders。
【请求头】指http【请求数据】的请求头信息request hearders。
【请求数据】指http【请求数据】的请求头信息request body。
【URL样本】指断言的当前请求的URL地址,与http【请求数据】的请求头信息request body中的值做对比是否一致。注意:如果有重定向包含重定向url。
【文档(文本)】通过Apache Tika从各种的文档中提取的文本进行验证,包括响应文本,pdf、word等等各种格式。
【忽略状态(Ignore Status)】 一个请求多项响应断言时,忽略某一项断言的响应结果,而继续下一项断言。
模式匹配规则
分为【包括】【匹配】【相等】【字符串】【否】【或者】
【包括】响应的结果中包含指定的文本或者字段值,支持正则表达式。
【匹配】完全匹配,期望值与实际结果必须完全一致,一般结合正则表达式使用。
【相等】完全匹配,响应结果与指定的内容完全一致,不支持正则表达式。
【字符串】返回结果,包含指定的字符串,不支持正则表达式。
【否】合并选择之后,断言结果true为false,false为true。
【或者】当有多个断言时,只要有一个断言成功,那么最终结果就是成功的。
2)json断言 --可以作用于线程组或者请求
JSON断言也是测试工作中经常用到的一种断言方法,它只能针对响应结果是applicaton/json格式的请求进行断言
常量的断言
3)beanshell 断言 --可以作用于线程组或者请求
BeanShell断言支持各种开发语言,本文介绍使用java编写断言,使用BeanShell断言的好处是可以自由发挥,比如当断言失败,提示预期结果、实际结果,或者失败时把结果输出到日志
Beanshell断言器添加了几个主要的内置对象的使用:
1、Failure:如果Failure=true;则声明断言失败
2、FailureMessage:可以自定义指定断言器的断言输出报告
String response = "";
String Str = "001000"; //预期结果,需要校验的字段
response = prev.getResponseDataAsString(); //获取当前请求响应结果
if(response == ""){
Failure = true;
FailureMessage = "系统无响应,获取不到响应数据!";
//对比数据库内容和响应内容,私用euqals方法判断是否一致
}
else if(response.contains(Str) == false){
//把断言失败置为真
Failure = true;
String Msg = "\n系统返回响应结果与期望结果不一致!请排查是性能问题,还是程序代码问题"; FailureMessage = Msg + "\n" + "期望结果:\n" + Str + "\n" + "响应内容: \n" + response +"\n";
}
注意:json、beanshell 断言成功出现无断言记录的情况,显示绿色应该就可以了
断言结果也可以在监听器,断言结果查看