当前位置:
首页 > temp > python入门教程 >
-
史上最简单的 Jmeter 跨线程组取参数值的两种办法 (不写代码)
如果你工作中已经在用 jmeter 做接口测试,或性能测试了,你可能会遇到一个麻烦,哪就是 jmeter 的变量值不能跨线程组传递。
看,官方就已经给出了解释。这个不是 jmeter 的缺陷,这是 jmeter 的设计使然的。如果变量在开始测试之前已经确定了,我们可以用参数化关联就可以实现。但是如果值时动态生成,每循环一次,值就变化一次,那么怎么弄呢?
此时,你可能就会去百度了,对吗?你会发现,很奇怪,机会所有的百度结果都千遍一律的告诉你用 Beanshell***,写上一些不知所云的代码。如果你不懂 Java,你看这着这开始写代码了,而且还写着一些晦涩难懂的东西,你是不是已经开始头痛了。
如果是这样,那你就继续往下看,我来教你两手。两种方法,轻轻松松搞定,你都不用写些哪啥都不懂的代码。《测试面试宝典》
方法一:定义属性法
**思路:**jmeter 中,属性是全局的,是可以动态设置的;而变量是独属于每个线程的
- 第一步:我们在 jmeter 中,添加两个线程组
- 第二步:在第一个线程组中,调用一个接口,提取你想要的值存储到一个变量中
- 第三步:在第一个线程组中,添加一个 Beanshell 后置处理器,然后再打开菜单栏中的 Tools -> 函数助手对话框(Function Helper Dialog),在弹窗中,选择__setProperty()函数,表达式第一个值输入将要存放的属性名称(英文),第二个值输入你在第二步中定义的变量名称,生成函数。复制函数、关闭弹窗,把函数粘贴到 BeanShell 后置处理器的 Script 窗口中。
- 第四步:在第二个线程组中,添加一个‘用户参数’,添加变量(Add variable),设置变量名称,再次打开函数助手,选择__P 函数,在函数的第一个 value 值文本框中输入 ${第三步设置属性名称},生成函数,复制函数,关闭弹窗,把它粘贴到添加的变量的值文本框中
- 第五步:在第二个线程组中,接口参数使用定义的变量 ${变量名称}
这样,就实现了跨线程组之间传递参数。是不是,很简单。It's so easy!
**注意:**如果想要设置多个属性,可以在第三步的时候,粘贴多个函数,修改函数中属性名称和变量名称,每个函数之间用英文';'分开。
如果这你都觉得难了,不要灰心,继续往下看,我再教你一个更容易理解的方法。
方法二:文件转接法
**思路:**一个线程组运行结果,存储到文件,另一个线程组,通过 CSV 读取文件,然后再提取文件中需要的值,作为变量输入
- 第一步:在 jmeter 中,添加两个线程组
- 第二步:在第一个线程组中,调用接口,然后添加监视器-> 保存响应到文件,设置保存文件的路径和文件名前缀
- 第三步:在第二个线程组中,添加一个 CSV 数据文件设置(csv set data config),文件名设置为第二步中,设置的保存文件路;变量名称自行定义;分隔符设置为'\t'(为什么这个地方要用\t,留个作业,请大家思考吧)
-
第四步:添加正则表达式提取器(或 JSON 提取器),apply to 选择'Jmeter variable Name to use',然后输入 CSV 读取文件设置的变量名;再编写正则提取式
《测试面试宝典》
- 第五步:在第二个线程组中,添加接口,使用正则提取器中的变量名称
至此,文件转接法完成。
是不是两种方法都相当简单,都没有去写晦涩难懂的代码!而且都实现了跨线程组传参取值。
出处:https://www.cnblogs.com/bnny/p/15200616.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数