当前位置: 首页 > news >正文

自动化测试实战篇(9),jmeter常用断言方法,一文搞懂9种测试字段与JSON断言

在这里插入图片描述
Jmeter常用的断言主要有,JSON断言和响应断言这两种方式。
断言主要就是帮助帮助人工进行快速接口信息验证避免繁杂的重复的人工去验证数据

  • 第一种响应断言
    • Apply to:表示应用范围
    • 测试字段:针对响应数据进行不同的匹配
      • 响应文本
      • 响应代码
      • 响应信息
      • 响应头
      • 请求头
      • URL样本
      • 文本
      • 忽略状态
      • 请求数据
    • 模式匹配规则
    • 生成断言结果
  • 第二种JSON断言

下面我们就来添加断言

第一种响应断言

添加一个线程组、再添加一个HTTP请求

在这里插入图片描述
在这里插入图片描述
本次测试数据来自航空时刻表的接口需要可以自行使用
航空城市

通过断言就可以判断事务是否匹配成功,以及是否响应成功,如果是不成功就是回报红色错误,出现红色错误就代表失败,这样我们就能够去通过csv去批量验证接口是否能够正常的使用。
在这里插入图片描述

响应断言的名称和注释,这两个都可以随意写

Apply to:表示应用范围

Main sample and sub-samples 表示匹配范围包括父取样器及子取样器
Main sample only 仅匹配父取样器
Sub-samples only 仅匹配子取样器
在这里插入图片描述

测试字段:针对响应数据进行不同的匹配

需要根据察看结果树里面有的信息进行相应的断言才能够成功响应
在这里插入图片描述

响应文本

响应服务器返回的文本内容

在这里插入图片描述

响应代码

匹配响应的状态码,比如100、200、300、400、500这些

在这里插入图片描述

响应信息

匹配响应信息,如果匹配成功就返回成功、或者通过这些

在这里插入图片描述

响应头

匹配响应头中的头信息

常用的响应头如下:

Accept-Patch
指定服务器所支持的文档补丁格式
Accept-Ranges
服务器所支持的内容范围
Content-Disposition
对已知MIME类型资源的描述,浏览器可以根据这个响应头决定是对返回资源的动作,如:将其下载或是打开。
Content-Encoding
响应资源所使用的编码类型。
Content-Language
响就内容所使用的语言
Content-Length
响应消息体的长度,用8进制字节表示
Content-Type
当前内容的MIME类型
Date
此条消息被发送时的日期和时间(以RFC 7231中定义的"HTTP日期"格式来表示)
Expires
指定一个日期/时间,超过该时间则认为此回应已经过期
Server
服务器的名称
在这里插入图片描述

请求头

匹配请求中的头信息
服务器要使用的附加信息,比较重要的信息有 Cookie 、Referer、User-Agent
Accept
​​​​​​​Accept-Language
​​​​​​​Accept-Encoding
​​​​​​​Host
​​​​​​​Cookie
​​​​​​​Referer
​​​​​​​User-Agent
​​​​​​​Content-Type

在这里插入图片描述

URL样本

匹配URL链接

在这里插入图片描述

文本

对文档内容进行匹配

忽略状态

表示一个请求中拥有多个响应,第一个响应成功就进行下一个判定,最后一个判定成功则表示通过

在这里插入图片描述

请求数据

匹配请求数据的信息
在这里插入图片描述

在这里插入图片描述
具体含义可参考这篇文章:
请求头和响应头

模式匹配规则

包括:相应内容匹配成功就代表响应成功,支持正则表达式

匹配:与响应内容完全匹配则代表成功,支持正则表达式

相等:与响应内容相等才代表成功,支持字符串不支持正则

字符串:字符串与相应内容匹配,支持字符串

否:降低匹配敏感度,只要其中有一个即可表示匹配成功

或者:存在多个内容,只要一种一个成功即表示通过

生成断言结果

在这里插入图片描述

第二种JSON断言

JSON断言可以针对返回值为JSON格式进行一个判断
像这种数据类型就是JSON格式
在这里插入图片描述

在这里插入图片描述

Assert Json path exists提取断言内容这里就用简单的正则提取即可,也可以用正则提取之后加一个全局变量赋予给json断言中也可以使用
Match as regular expression勾选后表示支持正则表达式
Expected Value断言内容
Except null断言内容为空
Invert assertion(wiil fail if above condition met)断言内容取反,如果结果为真就显示假,假就显示为真

比如我针对外层的拿code就用$.code这里提取即可,在这里插入图片描述在这里插入图片描述
如果我要获取data中的数据,可以 $.data.
在这里插入图片描述

如果察看结果树出现中文乱码可以看这篇文章:
Jmeter运行后,查看结果树中的响应数据出现中文乱码

在这里插入图片描述

http://www.lryc.cn/news/36419.html

相关文章:

  • vue-virtual-scroll-list虚拟列表
  • C++学习笔记(以供复习查阅)
  • 备份时间缩短为原来 1/4,西安交大云数据中心的软件定义存储实践
  • 我国近视眼的人数已经超过了六亿,国老花眼人数超过三亿人
  • 设计模式(十八)----行为型模式之策略模式
  • VUE3入门基础:input元素的type属性值说明
  • 关于供应链,一文教你全面了解什么是供应链
  • Scope作用域简单记录分析
  • ChatGPT创作恋爱甜文
  • 贝叶斯优化及其python实现
  • Lombok使用@Builder无法build父类属性
  • Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk
  • 后端开发过程中的安全问题
  • 基于Hyperledger Fabric的学位学历认证管理系统
  • jq条件判断验证,正则表达式
  • 23.3.9打卡 AtCoder Beginner Contest 259
  • JS - this指向
  • 低代码有哪些典型应用场景?
  • Substrate 基础教程(Tutorials) -- 监控节点指标
  • lua table 详解
  • Element表单嵌套树形表格的校验问题
  • 1.webpack的基本使用
  • 面试必看:谈谈你所了解的JVM调优,JVM性能调优总结
  • Pytorch优化器Optimizer
  • 如何在MySQL 8中实现数据迁移?这里有一个简单易用的方案
  • java多线程(二三)并发编程:Callable、Future和FutureTask
  • day4分支和循环作业
  • 轮毂要怎么选?选大还是选小?
  • RabbitMq 使用说明
  • Vue(10-20)