【JMeter】threadNum:将接口查询结果列表按顺序赋值给各线程

news2024/11/26 1:28:18

使用JMeter做性能测试会遇到这么一个场景:后面的请求需要根据前面的查询列表结果通过正则表达式提取器取值后赋值,而后面用户的赋值必须是唯一的,此时该如何做?

如果按编程思维来说,这个问题并不难。只需要把前面的结果保存到一个数组变量中,后面的用户(即线程组中的单个线程)逐一从该数组变量中取值即可。

小酋开始的思路也是如此,但最后发现要实现这个功能,非常复杂。如果大家不信,可以试试看,如果有简单的实现方式,可以留言告诉小酋。

最后,小酋最后通过__threadNum该函数很容易解决了上述的问题。

下面谈谈具体的思路

1、假如我们前一请求的查询列表结果如下

2、此时要用3个用户(线程)执行测试,迭代一轮

3、我们在JMeter中新建一【http请求】,实现请求查询列表

4、通过正则表达式提取器对查询结果取值(该提取器的具体用法参见之前文章)

5、新建一【JAVA请求】,名字直接为 ${ID} (即上面取值的变量)方便我们后续查看结果。

6、最后添加一监听器【查询结果树】,运行后(如下)我们看到三个用户(线程)的取值一样。

这里可能大家第一时间想到的是对前面查询列表结果的取值做处理,但前面提到小酋尝试过要实现很复杂。仔细看上面截图中线程组的每个线程都有编号(如 线程组 1-3),那我们是不是可以在这上面想办法?

7、在正则表达式提取器中,使用${__threadNum}作为匹配数字的值。

8、最后我们再来运行下,看看取值结果(如下),即完美解决了将接口查询结果列表按顺序赋值给各用户,保证各用户赋值唯一的问题。

思考几个问题:

  • 现实中我们的查询列表请求还会带上page(页数),PageSize(分页条数),此时我们的用户(线程)要保证取值唯一,PageSize与线程数该如何赋值?
  • 如果我们要保证每轮每个用户(线程)取值都是唯一的,page该如何利用起来?
  • 性能测试场景中,碰到查询列表结果数据不够,该如何处理? .

正在做测试的朋友可以进来交流,群里给大家整理了大量学习资料和面试题项目简历等等....

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

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

相关文章

他们都开始偷偷学习高性能计算了 | 学习高性能计算需要哪些前置知识?

随着大模型的越演越烈,高性能计算这一领域被越来越多的人所熟知。未来的超算互联网时代,不懂高性能计算更是难以适应未来时代的发展与变化。很多同学都想学习高性能计算,今天作为国内首家专注高性能计算人才培养的专业机构就帮大家梳理一下&a…

接连三预测成真,75%的参与率,华为、阿里、腾讯纷纷介入

Cartner预测:75%参与率 去年,Cartner预测,75%的大型企业将使用至少四种低代码/无代码开发工具,用于IT应用开发! 可以感受的到,这几年低代码以突飞猛进的速度在各领域中得到应用。可以预见的是,…

如何 Java 中的大量的 if else 判断?

目录 问题出现: 如何 Java 中的大量的 if else 判断? 解决方案: 1.策略模式 2.工厂模式 3.映射表 4.反射配置文件------极力推荐使用!!!!! 问题出现: 如何 Java 中的…

STM32F407ZGT6 LQFP144 uart 打印输出

STM32F407ZGT6 AX58100 ETHERCAT芯片软件,需要查看SSC 协议栈运行情况,UART输出状态信息。 STM32F407ZGT6 驱动库使用标准库,虽然老,但是够用。 1.STM32F407ZGT6 芯片情况 STM32F407ZGT6 作为AX58100 的主控 2.板子硬件 STM3…

mysql双主不一致数据修复

参考: pt-table-checksum — Percona Toolkit Documentation pt-table-sync — Percona Toolkit Documentation #对比host1 test库与备库差别 pt-table-checksum hhost1,proot,P3306,uroot -d test --recursion-method processlist --no-check-binlog-format -…

Spring Boot进阶(52):Spring Boot 如何集成Flyway并初始化执行 SQL 脚本?| 超级详细,建议收藏

1. 前言🔥 在我们的认知中,我们会使用 SVN 或 Git 进行代码的版本管理。但是,我们是否好奇过,数据库也是需要进行版本管理的呢? 在每次发版的时候,我们可能都会对数据库的表结构进行新增和变更,…

微机保护的数据采集系统(1)

一、模拟五输入电路概述 模拟量输入电路是微机保护装置中很重要的电路。保护装置的动作速度和测量精确度等性能都与该电路密切相关。模拟量输入电路的主要作用是隔离、规范输入电压及完成模数变换,以便与CPU接口,完成数据采集任务。因此这部分电路又称数…

iOS —— xcode14兼容 iOS9~iOS10系统

xcode14兼容 iOS9~iOS10系统 在Xcode升级到Xcode14以后,系统的支持版本升级到了iOS11.0。但是我们项目需要支持iOS9,脚本打包错误提示: The iOS deployment target IPHONEOS_DEPLOYMENT_TARGET is set to 9.0, but the range of …

鼠标的移入、移出事件

目录 一、mouseover和mouseenter 二、mouseout和mouseleave 三、重点总结 在原生JS中鼠标移入移出事件有四个,分别为mouseover ,mouseout ,mouseenter,mouseleave,其中mouseover和mouseenter为移入事件,mouseout和mouseleave为移出事件&…

IDEA提交过滤target、idea、iml、vscode、build、iws、imlz、ipr、xls、rebel.xml

一、问题截图(IDEA提交过滤target、idea、iml、vscode、build、iws、imlz、ipr、xls、rebel.xml) 二、解决 添加.gitignore提交到仓库,就可以了 HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** #!**/src/test/**### STS …

交换机中光口是如何配置的

在往期的文章中我们有介绍到电口和光口的概念,以及两者之间的区别。本期文章我们来了解一下交换机光口的是如何配置的。 一、交换机光口是如何配置的 1、确认光口类型:首先,确定光口插槽使用的光模块类型(如SFP、SFP、QSFP等&am…

掌握5个关键点,搞定语音识别测试!

现在市面上的智能电子产品千千万,为了达到人们使用更加方便的目的,很多智能产品都开发了语音识别功能,用来语音唤醒进行交互; 另外,各大公司也开发出来了各种智能语音机器人,比如小米公司的“小爱”&#…

Redis实战案例2-基于Redis实现共享session短信登录

1. 实现Redis替代session的业务流程 保存用户登录信息采用Hash结构; key要保证唯一,用随机生成的token(随机字符串)作为key; 并且要保证客户端可以携带key去redis取出value,之前采用session方式是Tomcat自动…

实在智能RPA亮相2023全球人工智能技术博览会,“能对话的数字员工”引领智能自动化新篇章

随着ChatGPT火爆全网,人工智能再次成为学术界和科技领域“新宠”,一场“智能革命”的序幕悄然掀开。 6月13日,“智能驱动 砥砺前行”为主题的2023全球人工智能技术博览会在杭州未来科技城学术交流中心圆满落下帷幕。此次博览会以展示智能科技…

Java开发 - 带你了解集群间的相互调用,你还在等什么?

目录 前言 导读 项目准备 集群准备 父工程引入子项目 服务调用方HelloService准备 pom文件 yml文件 Controller文件 服务提供方HelloWorld准备 pom文件 yml文件 Controller文件 运行此两个工程 hello_world组集群 集群调用测试 RestTemplate换成Dubbo行不行…

web基础与HTTP

文章目录 一.web基础1.域名概述2.DNS解析3.阿里云域名申请流程 二.网页1.网页(HTTP/HTTPS)1.1 网页1.2 网站1.3 域名1.4 HTTP/HTTPS1.5 URL1.6HTML1.7超链接1.8发布 2. HTML2.1HTML超文本标记语言&#xff…

人机交互学习-3 交互设计目标与原则

交互设计目标与原则 交互设计目标可用性目标易用性(learnability)高效率(efficiency)易记性(memorability)少出错(errors)主观满意度(satisfaction) 用户体验…

C++ 11(2)右值引用 | 移动构造、移动赋值

前文中我们讲解了C11中的部分知识点,下面我们来介绍一下C11中的一个比较重要的知识点右值引用。 右值引用和移动语义 左值引用和右值引用 左值引用 左值就是一个数据的表达式(如变量名和解引用指针),我们可以获取它的地址可以…

JD 某工业平台详情API接口PHP接口数据API接口

随着电商市场的蓬勃发展,越来越多的企业正在寻找一种高效、便捷的方式来推销和销售自己的产品。在这个过程中,API接口的使用变得越来越普遍。而京东工业平台商品详情API接口正是一种在推销和销售方面迅速占据市场的技术。 京东工业平台商品详情API接口是…

百度富文本框对接

第一步:引入富文本插件 第二步:修改配置文件 1:ueditor.config.js中,var URL = window.UEDITOR_HOME_URL || getUEBasePath();改为window.UEDITOR_HOME_URL = "http://ip+端口/项目名"; var URL = "http://ip+端口/项目名/.../ueditor/1.4.3/"; …