【Jmeter】Jmeter基础8-Jmeter元件介绍之断言

  • 断言主要用于对服务器响应的数据做验证。Jmeter提供了多个断言元件,其中最常用的是响应断言。

2.8.1、响应断言

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第1张图片

  • 作用:对Jmeter取样器返回值进行断言。
  • 参数说明:
    • 测试字段
      • 响应文本:从服务器返回的响应文本,Response Body 【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第2张图片
      • 响应代码:取样器结果中的Response code,如200,500等
        【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第3张图片
      • 响应信息:取样器结果中的Response message
      • 响应头:Response headers
      • 请求头:Requset Headers
      • URL样本:请求的地址,即Request Body中的地址
      • 文档(文本):通过Apache Tika从各种的文档中提取的文本进行验证,包括响应文本,pdf、word 等等各种格式。jmeter 会用Apache Tika去解析服务器响应内容,耗内存、也耗时间,解析易失败,非必要尽量不用。一般响应文本方式来进行断言验证就足够了。
      • 忽略状态:指示JMeter 设置sampler status的初始状态为 success。sample status是否成功,由已Response status和断言结果决定,当选中Ignore Status时,Response status被强制设置为success,不执行进一步的断言判断。如:当Response code为404时,不勾选该项,Response status为failure,当勾选时,Response status为success:
        【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第4张图片
      • 请求数据:Request Body
    • 模式匹配规则:
      • 包括:响应内容包括需要匹配的内容即代表响应成功,支持正则表达式
      • 匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,支持正则表达式
      • 相等:响应内容要完全匹配需要匹配的内容即代表响应成功,不支持正则表达式
      • 字符串:同包括,不支持正则表达式
      • 否:取反
    • 测试模式:输入断言条件,值或正则表达式,配合模式匹配规则使用
    • 自定义失败消息(Custom failure message): 自定义的失败消息,如:自定义消息为“出错啦~!!”,断言失败后查看:
      【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第5张图片

2.8.2、JSON断言

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第6张图片

  • 作用:针对响应结果是applicaton/json格式的请求进行断言。
  • 参数说明:
    • Assert JSON Path exists:JsonPaht表达式
    • Additionally assert value:默认不勾选,不勾选时仅判断是否包含表达式中指定的字段不判断值的内容,勾选后解锁 Expected Valuel,可以指定判断值是否相等
    • Match as regular expression:正则匹配
    • Expected Valuel:指定一个值,用于表达式取值判断,预期值不填表示空字符,与null不等价
    • Expect null:若验证提取的值为null,则勾选此项;验证null值,还是需要勾选“Additionally assert value”,否则验证的是JSONPath能否找到路径
    • Invert assertion:对断言结果取反
  • 示例:
    • 仅匹配字段:
      【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第7张图片
    • 匹配值,勾选正则:
      【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第8张图片
    • 断言值为null:
      【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第9张图片【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第10张图片

2.8.3、JSON JMESPath Assertion

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第11张图片

  • 作用:使用JMESPath语法进行断言
  • 参数说明:同JSON断言,语法不同。
  • 示例:断言成功:
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第12张图片
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第13张图片

2.8.4、大小断言

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第14张图片

  • 作用:判断响应结果是否包含正确数量的byte,使用频率较低,一般用于返回报文为固定长度的请求
  • 参数说明:
    • 响应字段大小:
      • 完整响应:全部响应
      • 响应头:响应头
      • 响应的消息体:响应体
      • 响应代码:Response Code,如200
      • 响应信息:Response Message,如OK
    • 字节大小:字节大小
  • 示例:响应代码为200(3字节),断言如下:
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第15张图片
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第16张图片

2.8.5、XPath断言

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第17张图片

  • 作用:返回是Xml格式时,用Xpath 方式进行语法检查,判断采样器在业务上是否正确
  • 示例:XPATH断言成功:
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第18张图片

2.8.6、XPath2断言

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第19张图片

  • 作用:返回是Xml格式时,用Xpath 方式进行语法检查,判断采样器在业务上是否正确;和xpath断言相比,多了命名空间列表。如果使用了额外的命名空间,使用此窗口引入,一行一个。

2.8.7、HTML断言【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第20张图片

  • 作用:判断取样器的返回是否为Html格式,仅做格式校验,使用场景很少。
  • 参数说明:
    • Tidy Settings:Tidy 环境(Tidy是一个HTML语法检查器和打印工具,可以将HTML转换为XML类型的文件)
    • Doctype:文档类型
      • omit:疏忽遗漏的
      • auto:动态的
      • strict:严格的
      • loose:宽泛的
    • Format:文件格式。可选择HTML/XHTML/XML三种不同类型的文件格式来检查返回内容
    • Errors only:误差校正(能接受的最大值),如:设置为10,解析时,10个错误以下都断言成功
    • Error threshold:误差/错误范围(可选择误差/错误数量的范围,最大值)
    • Warning threshold:警告范围(可选择误差警告的数量范围,最大值)
    • 如果勾选“Error only”这里忽略Warning,只对误差作统计检查;如果对返回内容的检查结果不超过指定结果,则断言通过,否则失败。
    • 将JTidy报告写入文件:写入JTidy报告的文件(JTidy是Tidy的一个java移植,可以将它当成一个处理HTML文件的DOM解析器)

2.8.8、MD5Hex断言

在这里插入图片描述

  • MD5是一种消息摘要算法,用以提供消息的完整性保护,适用于返回报文为固定长度,返回值不变,且报文内容比较大时的断言;使用比较简单,直接填入MD5值,执行服务器响应的MD5哈希并将其与给定的Md5哈希进行比较。
  • 参数说明:
    • MD5Hex:输入预期的响应MD5哈希值

2.8.9、XML断言

在这里插入图片描述

  • 作用:断言返回是否为xml格式,使用较少
  • 示例:第一个请求返回为json,第二个xml:
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第21张图片

2.8.10、断言持续时间

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第22张图片

  • 作用:判断响应时间
  • 参数说明:
    • 持续时间(毫米):超过该值,则断言失败。
  • 示例:
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第23张图片

2.8.11、BeanShell断言

【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第24张图片

  • 作用:通过脚本灵活进行断言,主要通过Failure标识是否失败和FailureMessage标识失败信息。
  • 示例:
    【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第25张图片
    • 断言成功
      【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第26张图片
    • 断言失败:
      【Jmeter】Jmeter基础8-Jmeter元件介绍之断言_第27张图片

你可能感兴趣的:(jmeter)