全网最详细,Jmeter接口测试场景-万条测试数据校验结果,循环断言(案例)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

在工作中,或者在面试中,都会遇到一个问题。

CSV文档做了一大笔测试数据后,怎么去校验这个结果呢?

大部分可能都是通过人工的方法去查看结果,十几个还好,那要很多很多呢?

JMeter接口测试:https://www.bilibili.com/video/BV19b4y1t79V/

此时,肯定想到,断言呗,响应断言,beanshell断言,都可以啊。
但是beanshell里要写java代码,对于没有代码基础的怎么办?求开发?

那响应断言呢?
对于很多测试工程师而言,响应断言好像只能断言一次,无法循环去断言不同的内容。

实现循环断言,要怎么去做呢?
先对csv文档进行参数化;
循环取出csv里的数据;
编写需要的断言内容;
对每一条数据都要进行一次断言;

补充知识:
jmeter元件之计数器
概念:
允许用户在线程组中任何位置创建引用的计数器。
计数器配置允许用户配置起始点,最大值和增量。
计数器将从开始循环到最大,然后从开始重新开始,继续进行,直到测试结束。
所以:用大白话来讲,计数器就是帮你去计数的,从几开始到几结束,每次循环迭代后加几。

请添加图片描述

说明:
Starting Value:给定计数器的初始值递增:每次循环迭代后,给计数器增加的值

Maximum Value:计数器的最大值,如果超过最大值,会重新设置为初始值,非必填项

数字格式:可选格式,比如填写000,格式化为001,002;比如填写0,格式化为1,2;

引用名称:引用变量,可以在其他元素中引用该值,形式:${引用名称}与每用户独立的跟踪计数器:不勾选,即全局计数器的,比如用户#1 获取值为1,用户#2获取值还是为1;勾选,即独立的,则每个用户有自己的值:比如用户#1 获取值为1,用户#2获取值为2。

每次迭代复原计数器:只有当勾选了,与每用户独立的跟踪计数器时才可用;勾选此选项后,则每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用。

拼接函数,嵌套变量

请添加图片描述

这个是jmeter自带的函数,可以用用这个函数进行字符串的拼接,或者是变量中再嵌套变量。
Name of variable:引用的变量名
默认值:非必填参数,填写了之后,当你引用变量失败后,就会填充该默认值

实战:
1、先参数化接口
请一定要注意,csv文档参数化,里面有多少条数据,就要在线程组里循环多少次,不然只会执行一次哟。

请添加图片描述

请添加图片描述

2、添加计数器

请添加图片描述

3、设置断言内容
这里有一个非常重要的点就是我们要把需要断言的内容给设置成变量
因为只有这样,我们才能循环取值,做循环断言

请添加图片描述

4、取出需要进行结果判断的数据
此处,我们将以返回结果的msg进行断言

请添加图片描述

5、添加响应断言,进行结果判断

请添加图片描述

6、添加察看结果树,进行循环断言

请添加图片描述

通过结果树可以看到,这里会有两条用例失败了。
那是因为,我们在第三步的时候,设置了需要断言的内容,到此,我们就完全可以用响应断言,实现循环断言了。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要害怕失败,不要放弃追求。只要你坚持不懈地努力,就一定能够实现你的梦想。相信自己,勇往直前,你一定会取得成功!

坚定信念,不怕艰辛。披荆斩棘,不言放弃。梦想努力,奋斗到底。相信自己,成功就在不远处。

人生短暂,机会稍纵即逝。珍惜当下,迎接挑战。只要坚持追求,即使路途坎坷,也能砥砺前行,最终收获自己的辉煌!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6377.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

这个ChatGPT插件可以远程运行代码,还生成图表

ChatGPT的插件使数据科学成为一种简单、愉快的体验 我们做数据分析时一般都是使用这样的流程来进行:运行jupyter notebook、安装库、解决依赖关系和版本控制,数据分析,生成图表。ChatGPT的“Code Interpreter”插件可以帮助我们进行数据分析…

【Redis】五大数据结构及其常用指令

文章目录说明String类型List类型Set类型Hash类型Sorted Set 排序集合总结说明 Redis里面的数据类型有String、List、Set、Hash、Zset。这篇文章会介绍这5种数据类型并介绍操作它们的指令. String类型 字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的&#xff0…

5.1.1 Ext JS之Grid actioncolumn动作列的动态显示

在Ext JS 的 Grid中添加动作列的方式是配置一个 actioncolumn类型的动作列,这个动作列可以包含多个图表的按钮。 添加的方式如下: {xtype: actioncolumn,items:[{iconCls: x-fa fa-trash,}]}在有的时候场景中, 会根据不同行的数据来决定是否显示动作按钮, 也就是最后的效果…

关于OpenAI的DALL的一点使用心得

文章目录注册DALL使用根据描述来generate上传图片来generate也可以根据描述信息或者相似的图片来进行设计注册DALL https://openai.com/product/dall-e-2 使用 根据描述来generate surprise me 自动生成描述(因为每个月只有15个免费credits,节省起见…

java面试题(持续更新)

java面试题(持续更新) java 基础 java面向对象有哪些特征 面向对象的三大特征:封装、继承、多态 封装:隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据,…

Microsoft Dynamics 365 Business Central Planning Worksheet中Action Message状态变化

学习目标: 掌握Planning Worksheet中Action Message状态变化 学习内容: 掌握 创建物料,工作中心,工艺路线,BOM,物料和工艺路线,BOM的关联掌握 按订单的生产的物料卡片设置掌握 创建销售订单并…

二叉树的5个性质【要点:完全二叉树的性质】

只讲不会的 普通二叉树就要讲排列顺序了!!! 预备:满二叉树:1.前提是它必须是二叉树 2.每个结点(除了终端结点外)都是2个子女。 要点1:关于普通的树的结点的计算&#xff0…

【CocosCreator入门】CocosCreator组件 | Label(文本)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中Label组件是最常用的之一。Label 组件是一个用于显示文本的 UI 组件。在本文中,我们将探讨 Label 组件的一些技术方面,包括如何创建、配置和使用它。 目录 一、…

java的集合体系结构(以及集合的遍历方式)

文章目录java集合的体系结构遍历方式通用(三种):迭代器,增强for,lambda表达式遍历迭代器(不依赖索引,适合set集合遍历)java集合的体系结构 注意点: Col1 ection是一个接口,我们不能直接创建他的对象。 所以,现在我们学习他的方法时&#xff0…

【数据库管理】①实例与数据库

1.Oracle RDBMS 架构图 2. Oracle 体系结构 由此区分database和instance的区别 No.1.oracle serverdatabase instance2.databasedata file、control file、redo log file3.instancean instance accesses a database4.oracle memorySGA PGA(oracle的内存结构)5.instanceSGA …

用C语言写一个函数,把字符串转换成整数

这是一个很有意思的问题。请不要把这个问题想的太简单了,考虑问题时应该尽可能的全面一些。请先思考并且实现这个函数,再来看讲解。 分析一下:函数名是StrToInt,那么可以这么调用: int ret StrToInt("1234&quo…

前端后端交互系列之Jquery下的Ajax

目录前言Jquery发送Ajax请求1. 引入jquery文件2. 页面结构3. 发送get请求4. 发送post请求5. 通用方法总结前言 本篇文章讲解的是Jquery下的Ajax。Jquery到现今用的不是很多,但是会有老的项目依旧使用Jquery,所以了解用Jquery实现利用ajax进行交互是有必…

SpringCloud微服务技术栈.黑马跟学(十二)

SpringCloud微服务技术栈.黑马跟学 十二今日目标服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化1.3.消费者消息确认1.3.1.演示none模式1.3…

蓝桥杯刷题冲刺 | 倒计时6天

作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.凑数2.砝码称重1.凑数 题目 链接: 4941. 凑数 - AcWing题库 初始时,n0…

CesiumForUnreal实现贴地面(SurfacePolygon)效果

文章目录 1.实现目标2.实现过程2.1 材质实例2.2 Cartographic Polygon2.3 Runtime环境使用2.4 效果测试2.5 遇到的UE崩溃问题与解决3.参考资料1.实现目标 基于UE5的Cesium-Unreal插件添加在线世界地形Cesium World Terrain,在地形表面绘制Polygon面,并使其紧贴地形,实现贴地…

实验四 配置OSPF协议

目录 一、实验内容 二、实验环境 三、实验步骤 一、实验内容 在配置NAT实验的基础上,增加R0到R1的GRE VPN隧道,并将10.0.0.0/24网络和192.168.0.0/24网络通过GRE隧道192.168.2.0/24网络连通,使用OSPF协议路由,使得PC2能访问PC0…

MongoDB - 索引知识

索引简介 什么是索引 索引最常用的比喻就是书籍的目录,查询索引就像查询一本书的目录。 索引支持 MongoDB 查询的高效执行。如果没有索引,MongoDB 必须扫描集合中每一个文档,以选择与查询语句相匹配的文档。如果查询存在适当的索引&#x…

深入学习JavaScript系列(七)——Promise async/await generator

本篇属于本系列第七篇 第一篇:#深入学习JavaScript系列(一)—— ES6中的JS执行上下文 第二篇:# 深入学习JavaScript系列(二)——作用域和作用域链 第三篇:# 深入学习JavaScript系列&#xff…

ChatGPT探索系列之二:学习GPT模型系列的发展历程和原理

文章目录前言一、GPT的起源GPT系列二、GPT的原理1. GPT原理:自注意2. GPT原理:位置编码3. GPT原理:Masked Language Modeling4. GPT原理:预训练5. GPT原理:微调6. GPT原理:多任务学习三、GPT模型的风险与挑…

二叉搜索树BST的学习

文章目录二叉搜索树BST什么是BST?用BST做什么?一、BST的特性BST的特性是什么?1.[230. 二叉搜索树中第K小的元素](https://leetcode.cn/problems/kth-smallest-element-in-a-bst/)2.[538. 把二叉搜索树转换为累加树](https://leetcode.cn/prob…