那些没人教你的Jmeter 循环断言,百度不到的,收藏一下吧

前言

对于使用jmeter工具完成接口测试的测试工程师而言。在工作中,或者在面试中,都会遇到一个问题。 CSV文档做了一大笔测试数据后,怎么去校验这个结果呢? 现在大部分测试工程师可能都是通过人工的方法去查看结果,十几个还好,那要很多很多呢? OK,此时,肯定会有同学想到,断言呗,响应断言,beanshell断言,都可以阿。 但是beanshell里要写java代码,对于没有代码基础的怎么办?求开发?开发小哥没时间怎么办? 那响应断言呢?对于很多测试工程师而言,响应断言好像只能断言一次,无法循环去断言不同的内容。 其实不然,今天我们就一起来学学,不写代码,就用响应断言,怎么实现循环断言不同的内容

思路

我们要去做一件事,肯定是要谋而后定,那么去实现循环断言,要怎么去做呢?

  1. 先对csv文档进行参数化

  2. 循环取出csv里的数据

  3. 编写需要的断言内容

  4. 对每一条数据都要进行一次断言

先导知识

  • 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、添加察看结果树,进行循环断言

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

至此,我们就完全可以用响应断言,实现循环断言了,这也是以后要用工具做自动化的一个必不可少的步骤哟。

是不是非常棒,欢迎大家留言点赞哟。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中javamail发送带附件的邮件实现方法

java中javamail发送带附件的邮件实现方法 本文实例讲述了java中javamail发送带附件的邮件实现方法。分享给大家供大家参考。具体分析如下: JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它…

网络安全 Day27-运维安全项目-堡垒机部署

运维安全项目-堡垒机部署 1. 运维安全项目-架构概述2. 运维安全项目之堡垒机2.1 堡垒机概述2.2 堡垒机选型2.3 环境准备2.4 部署Teleport堡垒机2.4.1 下载与部署2.4.2 启动2.4.3 浏览器访问teleport2.4.4 进行配置2.4.5 安装teleport客户端 2.5 teleport连接服务器 1. 运维安全…

Elasticsearch官方测试数据导入

一、数据准备 百度网盘链接 链接:https://pan.baidu.com/s/1rPZBvH-J0367yQDg9qHiwQ?pwd7n5n 提取码:7n5n文档格式 {"index":{"_id":"1"}} {"account_number":1,"balance":39225,"firstnam…

【音视频】vms布署说明

目录 外场布署场景(99%) 研发实验场景(1%) 高级玩法 证书安装方法 外场布署场景(99%) 下面两种场景,为本产品主要应用场景,2023-08-08日后(统一所有证书)…

C++ 函数模板与类模板

C最重要的特性之一就是代码重用,为了实现代码重用,代码必须具有通用性。通用代码应不受数据类型的影响,并且可以自动适应数据类型的变化。这种程序设计类型称为参数化程序设计。模板是C支持参数化程序设计的工具,通过它可以实现参…

前端进阶js02----null和undefined的区别

1.相同点 1)都是原始类型的值且保存在栈中。 2) 在布尔运算中都会被认为是false 2.不同点 1)null是js的关键字,表示空值;undefined不是关键字,是一个全局变量。 2)值相同,但类型不一样 值相同&#xff1a…

考研算法第40天:众数 【模拟,简单题】

题目 本题收获 又是一道比较简单的模拟题,就不说解题思路了,说一下中间遇到的问题吧,就是说cin输入它是碰到空格就停止输入的,详细的看下面这篇博客对于cin提取输入流遇到空格的问题_while(cin) 空格_就是那个党伟的博客-CSDN博…

为什么都劝年轻人不要频繁跳槽?

"为什么都劝年轻人不要频繁跳槽?"这句话绝对正确,没有任何漏洞,无论如何解释都是正确的,因为“频繁”这个词是非常主观的,有很大的弹性。 不同的人对于跳多少次才算频繁有不同的看法,有人认为一…

大数据培训课程-《机器学习从入门到精通》上新啦

《机器学习从入门到精通》课程是一门专业课程,面向人工智能技术服务,课程系统地介绍了Python编程库、分类、回归、无监督学习和模型使用技巧以及算法和案例充分融合。 《机器学习从入门到精通》课程亮点: 课程以任务为导向,逐步学…

Python自动化测试用例:如何优雅的完成Json格式数据断言

目录 前言 直接使用 优化 封装 小结 进阶 总结 资料获取方法 前言 记录Json断言在工作中的应用进阶。 直接使用 很早以前写过一篇博客,记录当时获取一个多级json中指定key的数据: #! /usr/bin/python # coding:utf-8 """ aut…

访问者模式(Visitor)

访问者模式是一种行为设计模式,可封装一些作用于当前数据结构的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 Visitor is a behavior design pattern that encapsulates some operations that act on the elements of t…

积累常见的有针对性的python面试题---python面试题001

1.考点列表的.remove方法的参数是传入的对应的元素的值,而不是下标 然后再看remove这里,注意这个是,删除写的那个值,比如这里写3,就是删除3, 而不是下标. remove不是下标删除,而是内容删除. 2.元组操作,元组不支持修改,某个下标的内容 可以问他如何修改元组的某个元素 3.…

Vue3 第五节 一些组合式API和其他改变

1.provide和inject 2.响应式数据判断 3.Composition API的优势 4.新的组件 5.其他改变 一.provide和inject 作用:实现祖与后代组件间通信 套路:父组件有一个provide选项来提供数据,后代组件有一个inject选项来开始使用这些数据 &…

AcWing算法提高课-1.3.17背包问题求具体方案

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 有 N N N 件物品和一个容量是 V V V 的背包。每件物品只能使用一次。 第 i i i 件物品的体积是 v i v_i vi​&#xff0c;价值…

HEIF—— 1、vs2017编译Nokia - heif源码

HEIF(高效图像文件格式) 一种图片有损压缩格式,它的后缀名通常为".heic"或".heif"。 HEIF 是由运动图像专家组 (MPEG) 标准化的视觉媒体容器格式,用于存储和共享图像和图像序列。它基于著名的 ISO 基本媒体文件格式 (ISOBMFF) 标准。HEIF读写器引擎…

【C++】位图|布隆过滤器|海量数据处理面试题

文章目录 一.位图1. 位图的概念2. 位图的使用3. 位图的实现 二.布隆过滤器1. 布隆过滤器2. 布隆过滤器的实现 三.海量数据处理面试题1.位图2.布隆过滤器3.哈希切割 一.位图 1. 位图的概念 所谓位图&#xff0c;就是用每一位来存放某种状态&#xff0c;适用于海量数据&#xf…

【LeetCode】删除并获得点数

删除并获得点数 题目描述算法分析编程代码空间优化 链接: 删除并获得点数 题目描述 算法分析 编程代码 class Solution { public:int deleteAndEarn(vector<int>& nums) {const int N 10001;int arr[N] {0};for(const auto& n : nums){arr[n]n;}vector<in…

2.安装Docker-ce

一、删除之前安装的docker(若之前未安装过&#xff0c;此步骤省略…) 进入centos根目录执行以下命令&#xff08;\ 是linux系统种命令换行符&#xff0c;如果命令过长&#xff0c;可以用\来换行&#xff09; yum remove docker \ docker-client \ docker-client-latest \ doc…

尚品汇总结十:秒杀模块(面试专用)

1、需求分析 所谓“秒杀”&#xff0c;就是商家发布一些超低价格的商品&#xff0c;所有买家在同一时间网上抢购的一种销售方式。通俗一点讲就是商家为促销等目的组织的网上限时抢购活动。由于商品价格低廉&#xff0c;往往一上架就被抢购一空&#xff0c;有时只用一秒钟。 秒…

状态模式(State)

状态模式是一种行为设计模式&#xff0c;允许一个对象在其内部状态改变时改变它的行为&#xff0c;使其看起来修改了自身所属的类。其别名为状态对象(Objects for States)。 State is a behavior design pattern that allows an object to change its behavior when its inter…