JMeter断言

JMeter断言

  • 1. 断言简介
    • 1.1 使用断言的目的
    • 1.2 添加断言
  • 2 响应断言
    • 2.1 添加响应断言
  • 3 JSON断言
    • 3.1 添加JSON断言
    • 3.2 JSON断言语法要点

1. 断言简介

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

1.1 使用断言的目的

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

1.2 添加断言

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

  博主使用的Jmeter版本为5.1.1,断言种类有13个,具体如下所示;
JMeter断言_第1张图片

2 响应断言

功能: 判断返回内容是否符合预期;对响应中所有东西都可以进行判断,具体面板样式如下所示。
JMeter断言_第2张图片

2.1 添加响应断言

  已经成功新建相关取样器,右键点击对应的取样器上添加断言;
JMeter断言_第3张图片

面板参数解释

序号 参数 解释 备注
1 APPly 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提取表达式。

JMeter断言_第4张图片

3.1 添加JSON断言

  已经成功新建相关取样器,右键点击对应的取样器上添加断言;
JMeter断言_第5张图片

3.2 JSON断言语法要点

JsonPath语法要点:

  • $ 表示文档的根元素

  • @ 表示文档的当前元素

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

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

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

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

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

  • () 使用表达式

  • ?()进行数据筛选

你可能感兴趣的:(jmeter)