zl程序教程

您现在的位置是:首页 >  其他

当前栏目

接口测试之jmeter不同线程组之间的参数共享

2023-04-18 13:16:27 时间

不同线程组之间的参数共享

思路:创建两个线程组,第一个线程组里面的 “登陆接口” 中登陆成功后获取到的token,要作为第二个线程组的http请求头中的参数信息

结构如图

在这里插入图片描述

第一步:测试计划–>>勾选第一个选项

【ps:很多时候跨线程无法获取到参数就是没有勾选这个选项导致的】

在这里插入图片描述

第二步:添加线程组–>>添加“http请求”,将接口相关信息填写完成,可以再添加一个“查看结果树”,方便查看接口请求是否成功

在这里插入图片描述

第三步:登陆接口请求成功之后,添加一个后置处理器来提取token,我这里使用的是“正则表达式提取器”

在这里插入图片描述

第四步:添加一个后置处理器BeanShell PostProcessor来将token设置为全局变量newtoken

注意:jmeter本身的内置函数中,“__setProperty()” 函数可以把某参数的值设置成jmeter本身的内置属性,而jmeter的内置属性是所有线程组都可以调用的,是全局变量。各个线程组调用时,只需使用调用 jmeter属性的函数“${__P(parameters,)}”来调用相应的属性即可。
!

第五步:添加第二个线程组,第二个接口“创建任务接口”,填写好相关的接口信息

【ps:因为这个接口需要用到设置为全局变量的token,如果只是在请求参数中需要用到token的话,可以直接调用${__P(newtoken,)},但是我这个是在请求头中用到,所以我还需要第六步】
在这里插入图片描述

第六步:添加一个配置元件“HTTP信息头管理器”,使用${__P(newtoken,)}获取token

在这里插入图片描述
因为我的接口文档说明如下:
在这里插入图片描述

最后,也可以使用前置处理器BeanShell PreProcessor来获取全局变量newtoken
在这里插入图片描述
在这里插入图片描述