JMeter断言

2023-12-26 11:29:59

1. 断言简介

??在性能测试或接口自动化测试中,断言是非常重要的一部分,因为它可以帮助我们确认测试的结果是否正确,从而判断整个测试是否通过。
??在Jmeter中有个组件叫做断言(Assertion),它的作用和LR中的检查点类似;用来检查测试过程中的响应是否符合预期结果,用来保证性能测试过程中数据交互和预期保持一致。
??断言用于对采样器执行其他检查,并在同一范围内的每个采样器之后进行处理。 若要确保断言仅应用于特定采样器,请将其添加为采样器的子级。
??断言可以应用于主样本和/或子样本。 默认设置是仅将断言应用于主示例。 如果断言支持此选项,则 GUI 上将有一个条目,如下所示:
在这里插入图片描述

1.1 使用断言的目的

??使用断言的目的: 在请求的返回层面增加一层判断;因为请求成功了,不一定结果就是你想要的结果(ex:请求状态码是200,但是没有响应结果)。

1.2 添加断言

??怎么去添加和使用断言: 已经成功新建相关取样器,在对应的取样器上添加断言;再添加一个监听器(ex:查看结果树);如果成功,那么结果树里边只有一条记录;如果失败,点开断言可以看到相应的错误;一个取样器可以添加多个断言;

??博主使用的Jmeter版本为5.1.1,断言种类有13个,具体如下所示;
在这里插入图片描述

2 响应断言

功能: 判断返回内容是否符合预期;对响应中所有东西都可以进行判断,具体面板样式如下所示。
在这里插入图片描述

2.1 添加响应断言

??已经成功新建相关取样器,右键点击对应的取样器上添加断言;
在这里插入图片描述

面板参数解释

序号参数解释备注
1APPly to适用范围Main sample and sub-samples:作用于父节点取样器及对应子节点取样器 ;?
Main sample only:仅作用于父节点取样器;
Sub-samples only:仅作用于子节点取样器;
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称
2测试字段响应文本、 响应代码、 响应信息、 响应头、请求头、URL样本、文档(文本)、忽略状态、请求数据
3模式匹配规则包括、匹配、相等、字符串、否、或者
4测试模式可以添加多个
5自定义失败消息可以特定断言失败返回的信息

3 JSON断言

??针对响应内容为json,可以使用响应断言,但有时候使用json断言会更加准确,使用json断言,需要掌握jsonpath语法,掌握jsonpath语法后才能准确编写json提取表达式。

在这里插入图片描述

3.1 添加JSON断言

??已经成功新建相关取样器,右键点击对应的取样器上添加断言;
在这里插入图片描述

3.2 JSON断言语法要点

JsonPath语法要点:

  • $ 表示文档的根元素

  • @ 表示文档的当前元素

  • .node_name['node_name'] 匹配下级节点

  • [index] 检索数组中的元素

  • [start:end:step] 支持数组切片语法

  • * 作为通配符,匹配所有成员

  • .. 子递归通配符,匹配成员的所有子元素

  • (<expr>) 使用表达式

  • ?(<boolean expr>)进行数据筛选

文章来源:https://blog.csdn.net/qq_28203181/article/details/135213280
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。