如何对一个变量数据进行正则判定_Jmeter用正则提取器做数据关联

上一篇中提到过用cookie manager功能来管理cookie,再通过Bean Shell来传递。那本篇用其他后置处理器-如正则表达式提取器来演示下如何做数据关联。

还以提取cookie并传递为例:

1. 在要提取的请求后添加正则表达式提取器,要提取的内容是登录后的响应信息头的内容。

4f72a57099163fde3438abf0a01afbfc.png

2. 在提取前先在查询结果树中进行测试,确保正则表达式是正确的,注意只提取值的部分。

de5a62589a7aad38724d37c6a5b2bd63.png

3. 配置正则表达式提取器

APPLY TO:指匹配的范围是父及其子取样器、只父取样器、只子取样器还是Jmeter变量匹配。根据需要进行选择,我这里就默认值了,因为我匹配的只有一个取样器(登录请求)。

要检查的响应字段:这里指匹配响应字段的哪个部分,一共八个部分,不再一一列举了,我这里是响应的头信息,所以选择“信息头”。不过,从这里可以看出,正则表达式提取器是针对响应数据做提取的。

引用名称:就是变量名,使用时用${引用名称}。

正则表达式:刚才测试过的正则。

模板:这个模板感觉有点抽象,我理解的是如果有多组值,要取哪一组值,会涉及到$1$,$2$...来取引用名称下的不同的数组;这里只有一个值,用$0$指全文匹配,如果不填也可以。

匹配数字:这个应该是个多模板配合使用的,对于匹配到多组值的情况,用匹配数字来确定取哪个值,其中0表示随机,负数取所有值。这里是全文匹配,就不填了(这个使用场景适合用于遍历)

默认值:没有匹配到的时候指定一个值,这里指定了error。

3cecc3d7aa2989fdb5508244174f2fb6.png

4. 设置好后,依然先用调试取样器来进行测试,值获取到了,可以看到变量是TOKEN_g0。

81a985ceb727bb9eba498b599531dbfa.png

5. 现在就可以使用这个值了,使用的时候不能直接放到请求参数中,还要通过BeanShell后置处理器拿到参数给后续的请求使用,提取器只是负责提取值。

6. 添加BeanShell后置处理器(这个步骤在公众号第一篇已经详细介绍过了,此处略写)。

但要注意一点:这里取的变量是TOKEN_g0而不是TOKEN,按调试结果值填写。

856739f97b95ed6a9cc280527087ccec.png

7. 剩下的就是使用了,本例是跨线程组使用。

f7ae480f7c133eca069603bf562c9dfa.png

8. 通过查看结果树,查看下是否传值成功,此处请求时带的token就是登录后获取的。

d50985587c9ea981c3b7c92e45b0eaa8.png

5fd2c71741b4283082a608d3e494e996.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值