jmeter提取多个变量的多个值_jmeter用一个正则提取器提取多个值的两种方法

本文介绍如何在JMeter中利用正则表达式提取器同时提取多个值,并提供了两种实现方法。一种是通过变量_g1、_g2等方式分别获取不同组的值;另一种则是通过定义分隔符将提取的值分开,再用函数拆分成多个变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

496dd7786a162c7d5dc86d210d9e9d07.png

jmeter中,用json提取器,一次提取多个值,这个很多人都会。但是,用正则提取器一次提取多个,是否可以呢?

肯定,很多人都自信满满的说,可以!形如:token":"(.*?)","identity":"(.*?)" 写一个这样的正则表达式,不就是可以提取两个了吗!

是的,这种做法没有错,但是,你发现一个问题吗?

你的“ Name of created variable 引用名称” 应该怎么填呢?

你是填一个,还是多个,多个你又用什么符号来分隔呢?

然后,然后你就楞住了,因为你不能用正则提取器,同时把提取的多个值写到对应的变量中,虽然你理想的写了多个变量名称,也用符号分隔了。

结果,你用调试取样器查看的时候,你发现,你取的多个值,都在一个变量里面了,而且这个变量带有符号。

5d27b5c92a32bfab1631baeeee152126.png

38d6a894bf0369d8864ed480caf60413.png

what?不能一次提取多个?那我要用多个,怎么用?

这里,给大家讲两种方法:

方法一

如果你眼睛比较尖,你可能从上面一张图,已经看到了曙光。

在上一张图中,我们有retoken,iden_g1 和retoken,iden_g2 ,看到了吗?他们的值是不是就是你想要的呢?

所以,我们可以在一个正则提取器中,同时提取多个值,多个值时,模板之间不用分隔符号,用一个变量接收,然后在关联使用时,使用变量名称_g1、变量名称_g2...... 依次类推,就可以了。

cfc0daa13bf32dbc05e5a7f880f844ff.png

0a9c437ebcf0c3811bac9b70cff0114b.png

d6b41dc3ad4f7e13a566f4ff60fbfe43.png

4ecec9048118c36946e8373015a0c283.png

方法二

既然用一个变量接收,他会接收全部的提取值,那我就把值拆开。用一个定义的标点符号,拆开成多个值。
写多个正则表达式,用1个变量接收,模板之间用 逗号 分隔

ba92eb014818c575e0ef134f4ff69201.png

用一个 split函数,进行拆分,放入新的变量中

8a650a5890a81759c3447d09cf52f288.png

从调试取样器中,可以看到拆分之后的结果

f2fc2c0158132b13ed161aaef7c52a0a.png

使用新的变量名称,注意,使用第一个变量,则用 新变量名称_1

e00749c5cffbc74ecbc80543e3083883.png

最后,请求,在查看结果树中,看到请求的结果,已经使用拆分后的值了。

ed4ded7167ad20c7bdf45b1376f7859d.png

好了,两种方法都get到了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值