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

2023-09-22 15:53:57

【软件测试行业现状】2023年了你还敢学软件测试?未来已寄..测试人该何去何从?【自动化测试、测试开发、性能测试】

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

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

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

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

下面谈谈具体的思路

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

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

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

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

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

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

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

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

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

 

思考几个问题:

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

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

 

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

更多推荐

AG35学习笔记(一):debug串口抓取模组log、debug串口测试AT指令、echo命令通过串口发送16进制数据

目录一、概述二、抓取模组log2.1硬件接口2.2用户登录2.3相关指令三、测试AT指令3.1查看端口3.2进入模式四、串口发16进制echo使用一、概述二、抓取模组log在之前记录了通过USB,使用移远工具Qwinlog来抓取log(3.3抓取模组log)。现在记录下使用debug串口抓取模组log。2.1硬件接口根

MES管理系统在生产中的应用及智能工厂的构建思路

在当今制造业中,随着信息化技术和智能化的不断发展,MES生产管理系统已成为工厂生产的核心组成部分。MES管理系统不仅能够提高生产效率,还可以优化生产流程,提升产品质量。本文将详细介绍MES管理系统在工厂生产中的应用以及构建智能工厂的思路。一、MES系统在工厂生产中的应用1、生产计划管理MES系统在生产计划管理中起到了关

chat-gpt笔记:参数temperature与top_p

temperature官方文档temperaturenumberornullOptionalDefaultsto1Whatsamplingtemperaturetouse,between0and2.Highervalueslike0.8willmaketheoutputmorerandom,whilelowervalu

python中的NaN在质量控制中怎么处理?

一、数据中的缺省值气象数据中经常存在缺省值,比如未入库的站点数据、比如海温格点实况数据中的陆地区域。这些缺省值往往被赋予NaN(NotaNumber,非数)。NaN是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。这些NaN值一般需要在计算时被去除掉,以免影响计算结果。那么,该怎么去除呢?二、NaN的定义和

27 WEB漏洞-XSS跨站之代码及httponly绕过

目录HttpOnly安全过滤测试HttpOnly安全过滤绕过思路演示案例:Xsslabs关卡代码过滤绕过测试HttpOnly安全过滤测试防止xss攻击,指的是攻击手法,并不是能防止XSS漏洞,httponly阻止的仅仅只是cookiehttponly在相关的脚本都是支持的,我们根据自己网站的脚本环境,有相当的开启方法h

【错误记录】Python 中使用 PySpark 数据计算报错 ( SparkException: Python worker failed to connect back. )

文章目录一、报错信息二、问题分析三、解决方案错误原因:没有为PySpark配置Python解释器,将下面的代码卸载Python数据分析代码的最前面即可;#为PySpark配置Python解释器importosos.environ['PYSPARK_PYTHON']="Y:/002_WorkSpace/PycharmPr

【跟小嘉学 Rust 编程】三十一、Rust的日志与追踪

系列文章目录【跟小嘉学Rust编程】一、Rust编程基础【跟小嘉学Rust编程】二、Rust包管理工具使用【跟小嘉学Rust编程】三、Rust的基本程序概念【跟小嘉学Rust编程】四、理解Rust的所有权概念【跟小嘉学Rust编程】五、使用结构体关联结构化数据【跟小嘉学Rust编程】六、枚举和模式匹配【跟小嘉学Rust

肖sir__mysql之存储__012

mysql之存储一、存储1、什么是存储过程定义:存储过程就是实现某个特定功能的sql语句的集合,编译后的存储过程会保存在数据库中,通过存储过程的名称可以反复的调用执行。2、存储过程的优点?(1)存储创建后,可以反复的调用,和使用,不需要重新写复杂的sal语句(2)创建、修改存储过程不会对数据有任何影响(3)存储过程可以

CFCA证书 申请 流程(二)

关于CFCA证书的介绍,可参考上一篇文章:CFCA证书申请流程(一)_身价五毛的博客-CSDN博客CFCA测试证书申请流程测试证书主要用于在测试环境对所需功能进行验证,例如HTTPS访问等。首先,向CFCA的支持邮箱(support@cfca.com.cn)发送邮件,描述申请证书的类型和参数,具体包括:此邮件是自动回复

轻量云服务器租用好在哪

从技术上讲,轻量级云服务器是特化了某一配置的高性价比云服务器的结合。下面,我们将了解轻量级云服务器有什么优势,使用物理服务器搭建网站,您需要租用整个服务器,这成本会变得非常昂贵。这对于一些比较简单的使用需求而言,例如搭建一个单页网站或者一个做个代理的话其实用整台服务器不仅性能溢出而且价格很贵对于初学者来说,使用轻量级云

灾备系统中虚拟机的有代理备份与无代理备份之间的差异

虚拟机的有代理备份是在虚拟机内部安装备份代理程序,然后把虚拟机当作物理机一样来进行备份任务。借助虚拟机系统中内置的程序来进行备份的,就像在正常系统中备份那样,借助备份和还原(Windows7)功能对系统进行备份。但是这种方法操作起来比较麻烦,而且也没有办法进行批量化操作,比如有大量的虚拟机,都需要备份它们的数据,那么就

热文推荐