Jmeter跨线程组传递token失败

Jmeter跨线程组传递token失败,第1张

在用Jmeter进行业务流程接口测试的时候,因为有多个线程组,但是所有的接口都依赖于登录接口。原先处理方式是每一个线程组里都添加一个登录接口,但是后面发现这样不是很友好,每次执行一个线程组都要调一次登录接口。所以想把登录接口提出来,单独放在一个线程组里。

实现流程大概这样:

一、建一个线程组,将登录接口添加进来

二、添加一个BeanShell Sample

里面写上提取cookie值的脚本,大致如下图

(因为测试的登录接口,响应头中返回的数据中有两个值所以分别提取两次)

三、完后,添加一个后置处理器,将提取到的值设置为全局变量

四、然后在其它线程组中添加cookie管理器,并添加引用上面设置的全部变量

问题开始出现:

所有配置完成后,开始执行,结果查看发现除登录外的其他线程组中的接口全部请求失败,原因“”用户未登录“”。

然后一通检查,添加日志,将过程都打印了出来,发现没什么问题。

然后又又又检查了一遍,发现在测试计划最外层添加了一个cookie管理器(如果最外层添加了cookie管理器,优先级要比线程组内的高,导致最终没有走线程组内设置的值)。将这个cookie管理器禁用后,成功调通。

使用beanshell处理器

进行token长度的对比,首先使用正则提取器获得token,变量${token_gys}

//在beanshell处理器中把回去到的token转成字符串

String data="${token_gys}";

//获取这个token的长度

int len = datalength();

String newlen = lentoString();

varsput("chang",newlen);

设置好新的变量后,在断言中进行判断

1,需求:需要提取系统登录状态下的id_token

2,打开jmeter51,添加线程组→>

以上就是关于Jmeter跨线程组传递token失败全部的内容,包括:Jmeter跨线程组传递token失败、jmeter中获得数据的长度、JMeter之边界值提取器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9352708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存