系列文章目录
安装jmeter
jmeter常用配置元件介绍总结之断言
- 9.断言
- 9.1.响应断言
- 9.2.JSON断言
- 9.3.大小断言
- 9.4.JSON JMESPath Assertion
- 9.5.断言持续时间
- 9.6.MD5Hex断言
- 9.7.XPath断言
- 9.8.XPath2 Assertion
9.断言
检查测试中得到的响应数据结果是否符合预期
9.1.响应断言
功能:检查测试中得到的响应数据是否符合预期
参数说明
测试字段:
- 响应文本:匹配响应文本,即:Response Body去匹配内容
如图:
- 响应代码:匹配请求响应代码,即:在Response headers中,返回的响应码,如:里面返回的200
- 响应信息:匹配请求响应结果信息,即:在Response headers中,返回的结果消息,如:里面返回的ok
如图:- 响应头:匹配响应头里面的所有内容,即:在Response headers
如图:
- 请求头:匹配请求头里面的所有内容,即:在Request Headers
如图:
- URL样本:匹配请求地址和url
- 请求数据:匹配请求体的数据,即:Request Body
匹配规则:
- 包括 :只要返回结果包含填写的内容,断言就成立,可以填写正则表达式
- 匹配:返回结果整个内容和填写的内容全部匹配,断言才会成立,可以填写正则表达式
- 相等 :返回结果整个内容和填写的内容完全一致,断言才会成立,不可以填写正则表达式
- 字符串 :只要返回结果包含填写的内容,断言就成立,不可以填写正则表达式
- 否 :取反,结果匹配上了,就断言失败
- 或者:多选框,断言多个条件,满足其中一个就行了,相当于OR,多个断言内容时,不勾选就算AND
测试模式:填写断言内容,用填写的内容和返回结果作比较;支持多个断言内容
自定义失败消息:自定义输入断言失败后提示的内容
9.2.JSON断言
功能:以JOSN Path表达式断言json格式的信息
参数介绍
Assert JSON Path exists:断言的JOSNPath表达式
Additionally assert value:不勾选只会看断言的josn路径能否提取到值,勾选后可以填写期望的断言结果值,然后和取到的值做比较
Match as regular expression:匹配为正则表达式
Expected Value:期望的断言结果值
Expect null:期望的结果值为空时勾选,勾选后josn路径值为空,则成功
Invert assertion:反向断言,满足条件就算断言失败
9.3.大小断言
功能:根据完整的响应、响应头、响应消息体、响应代码、响应信息,进行字节大小断言
9.4.JSON JMESPath Assertion
功能:以JOSN JMESPath表达式断言json格式的信息
参数介绍
Assert JMESPath exists:断言的JMESPath表达式
Additionally assert value:不勾选只会看断言的josn路径能否提取到值,勾选后可以填写期望的断言结果值,然后和取到的值做比较
Match as regular expression:匹配为正则表达式
Expected Value:期望的断言结果值
Expect null:期望的结果值为空时勾选,勾选后josn路径值为空,则成功
Invert assertion:反向断言,满足条件就算断言失败
9.5.断言持续时间
功能:设置响应时间,判断请求的响应时间是否超过设置时间值,大于断言失败,小于断言成功
9.6.MD5Hex断言
功能:输入返回消息体(Response Body)的md5加密32位小写进行断言,加密串一致则断言成功
9.7.XPath断言
功能:用xpath表达式来断言内容,检查页面元素是否存在
参数介绍
XML Parsing Options:解析的XML参数配置
UseTidy:页面是HTML格式时,选中该选项;如果是XML或XHTML格式,则取消选中
Quiet:只显示需要的HTML页面
Report errors:显示响应报错
Show warnings:显示警告;
Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;
Validate XML:根据页面元素模式进行检查解析;
Ignore Whitespace:忽略空白内容
Invert assertion:反向断言,如果输入的表达式存在,则断言失败
9.8.XPath2 Assertion
功能:和XPath断言差不多,用xpath表达式来断言内容,检查页面元素是否存在
参数说明
Invert assertion:反向断言,如果输入的表达式存在,则断言失败
Namespaces aliases list:可以设置命名空间