性能测试工具 零基础测开学习 21——JMeter 断言 + 关联

EternalRights · January 20, 2026 · 154 hits

前言

        不论是自动化测试脚本,亦或者是测试平台,断言是必定存在的。而在涉及到多接口依赖,上下文变量传递的情况下,JMeter 的关联也尤为重要。

        若没有 JMeter 基础,请点击前往:零基础测开学习 19——JMeter 基础

        若不了解 JMeter 经典组件与参数化,请点击前往:零基础测开学习 20——JMeter 三个重要组件 + 参数化


JMeter 断言

基本概念

断言

让程序自动判断预期结果与实际结果是否一致

提示

  • JMeter 在请求层面有个自动判断机制(响应状态码)
  • 但是请求成功了,并不代表结果一定正确,因此需要检测机制提高测试准确性

JMeter 常用断言

  • 响应断言
  • JSON 断言
  • 持续时间断言

响应断言

作用

对 HTTP 请求的任意格式的响应结果进行断言

位置

测试计划——>线程组——>HTTP 请求——>(右键添加)断言——>响应断言

参数

JSON 断言

作用

对于 HTTP 请求的 JSON 格式的响应结果进行断言

位置

测试计划——>线程组——>HTTP 请求——>(右键添加)断言——>JSON 断言

参数

  • Assert JSON path exists:用于断言的 JSON 元素的路径(实际结果)
  • Additionally assert value:如果您想要某个值生成断言,请选择复选框(即 Expected Value)
  • Match as regular expression:使用正则表达式进行断言
  • Expected Value:期望值(期望结果)
  • Expect null:如果希望为空,请选择复选框
  • Invert assertion(will fail if above conditions met):反转断言(如果满足以上条件则失败)

断言持续时间

作用

检查 HTTP 请求的响应时间是否超出要求范围

位置

测试计划——>线程组——>HTTP 请求——>(右键添加)断言——>断言持续时间

参数


JMeter 关联

基本概念

关联

当请求之间有依赖关系,比如一个请求的入参是另外一个请求返回的参数,这时候就需要用到关联处理

JMeter 中常用的关联方法

  • 正则表达式提取器
  • Xpath 提取器
  • JSON 提取器

正则表达式提取器

作用

针对任意格式的响应数据进行提取

测试计划——>线程组——>HTTP 请求——>(右键添加)后置处理器——>正则表达式处理器

参数

  • 引用名称:存放提取出来的参数名称,供下一个请求引用,如填写 title,则可用 ${titile}引用它
  • 正则表达式:左边界 (.*?) 有边界
    • ():括起来的部分就是要提取的
    • :匹配任何字符串
    • *:0 次或多次
    • ?:不要太贪婪,在找到第一个匹配项后停止
  • 模板:用 $$ 引用起来,如果在正则表达式中有多个提取值,则可用 $2$$3$ 等等,表示解析到第几个值给 title。如:$1$ 表示解析到第 1 个值
  • 匹配数字:0 代表随机取值,-1 代表全部取值,1 代表取第一个值
  • 缺省值:如果参数没有取得到值,那默认给一个值给它取

XPath 提取器

作用

针对 HTML 格式响应结果数据进行提取

位置

测试计划——>线程组——>HTTP 请求——>(右键添加)后置处理器——>XPath 处理器

参数

  • Use Tidy(tolerant parser):
    • 当需要处理的页面是 HTML 时,必须选中该项
    • 当需要处理的页面是 XML 或 XHTML 格式时,取消选中该选项
  • 引用名称:存放提取出的值的参数名称
  • XPath Query:用于提取值的 XPath 表达式
  • 匹配数字:如果 XPath 路径查询出许多结果,则可以选择提取哪一个。0:表示随机,-1:表示提取所有结果,1:表示第一个值
  • 缺省值:参数的默认值

JSON 提取器

作用

针对 JSON 格式的响应结果数据进行提取

位置

测试计划——>线程组——>HTTP 请求——>(右键添加)后置处理器——>JSON 提取器

参数

JMeter 属性

JMeter 属性的配置函数

  • setProperty 函数:将值保存成 JMeter 属性

  • property 函数;在其他线程组中使用 property 函数读取属性

JMeter 属性的函数执行

  • setProperty 函数执行(保存 JMeter 属性值):需要通过 BeanShell 取样器来执行

  • property 函数执行(读取属性):在其他线程组中使用 property 函数


后记

        作为第一次实习,我真正的感受到了互联网企业的氛围,能够充分发挥自己所长的快乐,我认为是学校无法提供的。我现在负责我司自研产品的测试平台的开发,在这个过程中也感受到了测试开发的价值,每次开发完一个测试用例自动化并跑起来的时候,那个体会绝对是最爽的。

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up