JSR223 PostProcessor和BeanShell PostProcessor

本文介绍如何使用JSR223PostProcessor和BeanShellPostProcessor在JMeter中进行线程组间参数传递,包括从接口响应中提取字符串并作为全局变量使用的方法。

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

 一、使用JSR223 PostProcessor在一个线程组中的参数传递       

接口的响应直接返回一个字符串,并且别的接口需要依赖这个字符串。试了好几种方法都不行,正则表达式的提取全部试了一遍没有将响应值提取出来,最后终于通过使用JSR223 PostProcessor处理好了,记录一下过程。

getuuid接口的返回信息直接返回了uuid的字符串信息;正则表达式的提取不知道怎么提取(我遇到正则会比较抓狂);网上大多数都是json、html格式的提取,各种尝试之后没能成功;

使用JSR223 PostProcessor的方式的过程如下

1.右击getuuid接口选择post processors里面的JSR223 PostProcessor

2.点击右上角的黄色三角号可以打开日志信息;脚本也比较简单,设置myuuid为全局变量;

3.在下面用到uuid的地方直接获取myuuid变量

4.之后接口请求;请求参数就可以正常获取到uuid的值啦。

更多的方法可以参考:https://blog.youkuaiyun.com/u010693492/article/details/83620231

二、使用BeanShell PostProcessor 在线程组之间的参数传递

1.在进程压测的时候;发现一个线程组内的接口被访问相同的次数;但是getuuid接口我只想访问一次,返回的uuid信息一直作为后面接口的参数信息;于是将getuuid接口放到单独的线程组中,这样就可以方便的控制各个线程组的执行信息

这样设置之后在执行整个测试计划的时候;第一个线程组先运行且只运行一次;

2.添加一个BeanShell PostProcessor;将uuid信息放入到jmeter的属性中;后面的线程组就可以方便的获取到uuid信息了。

3.在第二个线程组中就可以通过${__P(myuuid,)}函数获取到myuuid信息了

总结:通过参数获取同一个线程组内的变量信息,使用${myuuid};通过jmeter属性获取不同的线程组内的属性信息,通过函数${__P(myuuid,)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值