jmeter线程组执行顺序设置

本文详细介绍如何在JMeter中优化线程组执行顺序,确保依赖于前置请求的token值能正确传递。通过将token获取设置为setUp线程组,避免了复杂的配置,实现了高效、整洁的接口测试。

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

在做接口测试过程中,我们经常会碰到当前请求需要上一个请求响应的数据做参数的值传入到当前请求里,这种情况必须保证上一个请求先执行,才能保证当前请求可以得到参数的值。下面就一个例子:

以接口请求需要携带token为例。每个请求都需要携带token。

从图片中,我们不难看出,如果把获取token的请求放在APP线程组中,会导致获取token时会携带信息头,这样获取会失败。如果一定要添加进APP线程组中,就需要把http请求默认值和http信息头管理器放到每个请求接口下方。这样会导致整体看上去很臃肿。所以我这里把token获取单独放在一个线程组里。

这时候就有一个问题,怎么从其他线程组获取token到当前线程组使用。

第一步:先通过正则表达式提取器提取token,使用Debug PostProcessor判断是否获取成功。

备注:正则表达式是根据请求响应数据中信息来编写的。

第二步:通过BeanShell PostProcessor 把获取到的token值定义到jmeter公共变量中。

第三步  通过函数助手获取token的值放到请求头信息中。

重点:

怎么保证线程组是先执行线程组1(token获取请求),首先我们一般会把优先执行的线程组放在最上面。

通过修改测试计划执行方式:

勾选第一项后执行测试计划,APP线程组获取token成功,接口正常通过。

在此还有一个问题?不注意很难发现,改了线程组执行方式,APP线程组还是优先执行!查看日志不难看出。

之后发现是创建线程组时出现的问题。日志看不出你在测试计划创建线程组所选择的是那个。

我这个日志的是因为APP线程组创建时选择是是线程组,token获取和后台线程组选择的是tearDown线程组。如果所有线程组创建方式一样,修改执行方式后就不会出现这问题。

除了主线程组,还有两种特殊的线程组:setUp线程组和tearDown线程组,它们与主线程组区别在于,setUp线程在主线程执行前自动触发执行;而tearDown线程组在主线程结束后执行。
setUp线程组可以用于测试准备,比如用它来创建测试用户等。
Teardown线程组可以用于测试清理工作,比如删除测试用户等。
从这段话不难看出,不改变测试计划配置,想优先执行token获取线程组可以改变创建方式。只要把token获取线程组的创建为setup线程组。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值