美文网首页
jmeter(七) - 断言

jmeter(七) - 断言

作者: 足__迹 | 来源:发表于2021-05-27 17:26 被阅读0次

定义: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。
使用断言的目的:在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。
使用断言的方法:

  • 添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言;对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;如果失败,则除了请求的名称外,还会有一行失败的原因(不同类型的断言,结果不同)。

断言类型

1,Beanshell断言
BeanShell断言可以使用beanshell脚本来执行断言检查,可以用于更复杂的个性化需求,使用更灵活,功能更强大,但是要能够熟练使用beanshell脚本

名称: 断言名称(可以用一个比较容易理解和分辨的名称)
注释:用于备注说明
参数:String参数(String []bsh.args是主类main函数的形式参数,是一个String 对象数组,可以用来获取命令行用户输入进去的参数)
脚本:脚本文件

2,比较断言
这是一种比较特殊的断言元件,针对断言进行字符串替换时使用


image.png

比较的内容: 可以选择比较的内容类型(true/false或者自定义,编辑)
比较的时间:(可以设定比较的时间,单位为秒,默认为-1)
正则表达式: 要替换的字符串(可从断言结果中选择)

3,HTML断言:
对响应类为XML类型的文件进行断言;
作用对象:针对取样器中的SOAP/XML-RPC Request而使用的断言


HTML断言.png

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

4,size断言:
用于判断返回内容的大小;
作用对象:返回信息,响应报文


image.png

APPly to:应用范围(返回内容的断言范围)
- Main sample and sub-samples:作用于父节点取样器及对应子节点取样器
- Main sample only:仅作用于父节点取样器
- Sub-samples only:仅作用于子节点取样器
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)

  • Full Response:全部响应
  • Response Headers:响应头部
  • Response Body:响应主体
  • 响应代码:响应报文相关的代码
  • 响应信息:响应报文的信息
  • Size to Assert:断言字节范围
  • 字节大小单位为:字节;比较顺序是①返回内容的大小②比较类型③指定字节大小

5,响应断言
响应断言:可选择断言验证的范围(URL,响应头,响应码,响应体,响应附件),匹配的模式(纯文本还是正则表达式匹配)
操作响应断言:添加-断言-响应断言

响应断言.png
Apply to (响应断言的应用范围)
Main sample and sub-samples:作用于父节点取样器及对应子节点取样器
  Main sample only:只作用于父节点取样器(一般的断言都选这个)
  Sub-samples only:只作用于子节点取样器
  JMeter Variable:只作用于jmeter变量(可写入正则提取的响应值)
测试字段:
响应文本:请求的响应文本信息,不包含响应头信息。最常用的断言字段
响应代码: 对应http返回的响应码
响应信息: 匹配响应信息
响应头 : 响应头信息
URL样本: 请求url,如果有重定向包含重定向url
文档(文本): 通过Apache Tika从各种的文档中提取的文本进行验证,包括响应文本,pdf、word等等各种格式
忽略状态(Ignore Status): 一个请求多项响应断言时,忽略某一项断言的响应结果,而继续下一项断言
模式匹配规则:
  包括:响应的结果中包含指定的文本或者字段值,支持正则表达式
  匹配:完全匹配,期望值与实际结果必须完全一致,一般结合正则表达式使用
  相等:响应结果与指定的内容完全一致,不支持正则表达式
  字符串:返回结果,包含指定的字符串,不支持正则表达式
  否:不进行匹配
6,json断言:
JSON断言可以对服务器返回的JSON文档进行验证。
JSON断言有两种使用模式:
image.png
配置项:
Assert JSON Path exists:用于断言的JSON元素的路径(JSONPath)
Additionally assert value:是否额外验证根据JSONPath提取的值。
  • 不勾选,验证JSONPath能否在JSON文档中找到路径;
  • 勾选,验证根据JSONPath提取值是否预期。

Match as regular expression:预期值是否可以使用正则表达式。

  • 勾选,预期值可以使用正则表达式表示。
  • 不勾选,预期值不能使用正则表达式表示;

Expected Value(预期值):

  • Expect null:若验证提取的值为null,则勾选此项

这里有两个地方需要额外注意:
1.验证null值,还是需要勾选“Additionally assert value”,否则验证的是JSONPath能否找到路径;
2.预期值不填表示空字符,与null不等价。
3.除了null外,还有一种特殊的值,就是空数组,预期值不能不填,需要设置为:[],表示空数组

  • Invert assertion(will fail if above conditions met) 若勾选,表示对断言结果取反。

相关文章

  • jmeter(七) - 断言

    定义: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。使用断言的目的:在...

  • JMeter基础系列(七) JMeter断言之响应断言

    7.1 断言的定义 断言用于验证取样器请求或对应的响应数据是否返回了期望的结果。可以是看成验证测试是否预期的方法。...

  • JMeter断言07

    前言 在jmeter中断言用于验证服务器返回的数据是否满足我们的要求。 jmeter提供了以下断言类型: 下面我们...

  • Jmeter断言

    响应断言 apply to:适用范围与提取器一致,从左至右分别为:匹配当前父取样器及其子取样器、匹配当前父取样器(...

  • jmeter | 断言

    jmeter | 断言 之前我们讲了参数化和集合点,这些都是取样器并发之前执行的操作,接下来我们一起看一下并发开始...

  • 【Jmeter断言】:Json断言

    Additionally assert value:按匹配值Match as regular expression...

  • 【JMeter】JSON断言中的JSON Path

    【JSON Assertion】就是JMeter断言中的JSON断言。此组件允许对JSON文档执行验证。它在使用过...

  • 12. Jmeter-断言

    jmeter-断言介绍与使用 性能测试中较少用到断言。断言会增加脚本执行时间,但是接口测试中断言是必备的。什么是断...

  • Jmeter断言设置

    Jmeter可以针对每一个请求响应进行断言,设置步骤:选中一个请求右击->添加->断言->响应断言 模式匹配规则含...

  • jmeter-断言-响应断言

    响应断言 Apply to 有四个应用范围: main sample and sub sample | main ...

网友评论

      本文标题:jmeter(七) - 断言

      本文链接:https://www.haomeiwen.com/subject/xdzksltx.html