当前位置: 首页 > 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运行后,查看结果树中的响应数据出现中文乱码

在这里插入图片描述

相关文章:

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

Jmeter常用的断言主要有,JSON断言和响应断言这两种方式。 断言主要就是帮助帮助人工进行快速接口信息验证避免繁杂的重复的人工去验证数据 第一种响应断言Apply to:表示应用范围测试字段:针对响应数据进行不同的匹配响应文本响应代码响应信息…...

vue-virtual-scroll-list虚拟列表

当DOM中渲染的列表数据过多时,页面会非常卡顿,非常占用浏览器内存。可以使用虚拟列表来解决这个问题,即使有成百上千条数据,页面DOM元素始终控制在指定数量。 一、参考文档 https://www.npmjs.com/package/vue-virtual-scroll-li…...

C++学习笔记(以供复习查阅)

视频链接 代码讲义 提取密码: 62bb 文章目录1、C基础1.1 C初识(1) 第一个C程序(2)注释(3)变量(4)常量(5)关键字(6)标识符命名规则1.2 …...

备份时间缩短为原来 1/4,西安交大云数据中心的软件定义存储实践

XEDP 统一数据平台为西安交通大学云平台业务提供可靠的备份空间和强大的容灾能力,同时确保数据安全。西安交通大学(简称“西安交大”)是我国最早兴办、享誉海内外的著名高等学府,是教育部直属重点大学。学校现有兴庆、雁塔、曲江和…...

我国近视眼的人数已经超过了六亿,国老花眼人数超过三亿人

眼镜是一种用于矫正视力问题、改善视力、减轻眼睛疲劳的光学器件,在我们的生活中不可忽略的一部分,那么我国眼镜市场发展情况是怎样了?下面小编通过可视化互动平台对我国眼镜市场的状况进行分析。我国是一个近视眼高发的国家,据统…...

设计模式(十八)----行为型模式之策略模式

1、概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发&a…...

VUE3入门基础:input元素的type属性值说明

说明 在Vue 3中&#xff0c;<input>元素的type属性可以设置不同的类型&#xff0c;以适应不同的输入需求。 常见的type属性取值如下&#xff1a; text&#xff1a;默认值&#xff0c;用于输入文本。password&#xff1a;用于输入密码&#xff0c;输入内容会被隐藏。em…...

关于供应链,一文教你全面了解什么是供应链

什么是供应链&#xff1f;供应链是指产品生产和流通过程中所涉及的原材料供应商、生产商、分销商、零售商以及最终消费者等成员通过与上游、下游成员的连接 (linkage) 组成的网络结构。也即是由物料获取、物料加工、并将成品送到用户手中这一过程所涉及的企业和企业部门组成的一…...

Scope作用域简单记录分析

类型 singleton 单例作用域 prototype 原型作用域 request web作用域,请求作用域,生命周期跟request相同,请求开始bean被创建,请求结束bean被销毁 session web作用域,会话作用域,会话开始bean被创建,会话结束bean被销毁 application web作用域,应用程序作用域,应用程序创建…...

ChatGPT创作恋爱甜文

林欣是一个长相可爱、性格呆萌的小姑娘&#xff0c;她年纪轻轻就失去了父母&#xff0c;独自一人面对世界的冷漠和残酷。 虽然经历了这样的打击&#xff0c;但她并没有沉沦&#xff0c;反而更加努力地去生活。 她找到了一份服务员的工作&#xff0c;每天在餐厅里穿梭&#xf…...

贝叶斯优化及其python实现

贝叶斯优化是机器学习中一种常用的优化技术&#xff0c;其目的是在有限步数内寻找函数的最大值或最小值。它可以被视为在探索不同参数配置与观察这些配置结果之间寻求平衡点的过程。基本思想是将我们在过去的观察和体验&#xff0c;传递到下一个尝试中&#xff0c;从而在等待数…...

Lombok使用@Builder无法build父类属性

文章目录问题描述解决方案使用示例lombok Builder注解和build父类属性问题1、简介2.使用3、Builder注解对类做了什么&#xff1f;问题描述 实体类使用Lombok的Builder来实现Builder模式&#xff0c;但是如果使用了extend继承&#xff0c;则子类无法通过Builder来Build父类属性…...

Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk

文章目录硬件安装Ubuntu Server20.04下载rpiboot工具下载imager刷写系统配置USB配置WIFI开机安装桌面配置wifi配置串口安装ROS安装mavros安装MAVSDK-PythonInternet设置最后参考&#xff1a; https://docs.holybro.com/autopilot/pixhawk-baseboards/pixhawk-rpi-cm4-baseboard…...

后端开发过程中的安全问题

安全问题是木桶效应&#xff0c;整个系统的安全等级取决于安全性最薄弱的那个模块。在写业务代码的时候&#xff0c;要从我做起&#xff0c;建立最基本的安全意识&#xff0c;从源头杜绝低级安全问题。 1、数据源头的安全处理 对于 HTTP 请求&#xff0c;我们要在脑子里有一个…...

基于Hyperledger Fabric的学位学历认证管理系统

基于Hyperledger Fabric的学位学历认证管理系统 项目源码&#xff1a;https://github.com/Pistachiout/Academic-Degree-BlockChain 一、选题背景 学历造假、认证造假等是一个全球日益普遍的现象&#xff0c;不仅对社会产生了巨大的负面影响&#xff0c;同时也极大增加了企业…...

jq条件判断验证,正则表达式

// 判断是否包含为至少8位及以上字符,大小写字母及特殊字符 jQuery.validator.addMethod("isPwd", function (value, element) { var pwdRegex new RegExp((?.*[0-9])(?.*[A-Z])(?.*[a-z])(?.*[^a-zA-Z0-9]).{8,30}); return this.optional(elemen…...

23.3.9打卡 AtCoder Beginner Contest 259

A题 题解 对于x特判一下就好 代码 void solve() {ll x,d;cin>>n>>m>>x>>t>>d;if(n>m){nmin(n,x);if(n<m){cout<<t;return;}cout<<(m-n)*dt;}else{mmin(m,x);cout<<(m-n)*dt;}return; }B 三角函数全还给高中老师了 题…...

JS - this指向

一 this 指向有哪几种 详细可见&#xff1a;https://juejin.cn/post/6844903805587619854 &#xff08;文章归类this指向为四大类&#xff09; https://www.jianshu.com/p/66eb9b21105d this是什么&#xff1f;this 就是一个指针&#xff0c;指向调用函数的对象。 1.默认绑定…...

低代码有哪些典型应用场景?

低代码有哪些典型应用场景&#xff1f; 低代码是一种全新的应用开发方式&#xff0c;它通过可视化的拖拽式界面&#xff0c;将传统的繁琐代码编写转化为简单的拖拽操作&#xff0c;让非技术人员也能够快速地开发出应用程序。 随着数字化转型的不断加速&#xff0c;低代码平台…...

Substrate 基础教程(Tutorials) -- 监控节点指标

Substrate 公开有关网络操作的度量。例如&#xff0c;您可以收集有关您的节点连接了多少个对等节点、您的节点使用了多少内存以及正在生成的块数量的信息。为了捕获和可视化Substrate节点公开的度量&#xff0c;您可以配置和使用Prometheus和Grafana等工具。本教程演示如何使用…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...