jmeter中跨线程调用变量

Jmeter中跨线程调用变量

一.Jmeter中线程运行规则

1.各个线程组是完全独立的,每个线程组是不同的业务,互不影响

2.线程组中的每个线程也是完全独立

3.线程组中的每个线程,都是从上往下执行,完成一轮循环后,继续下一轮循环

4.存在业务流或者接口之前存在依赖关系的放同一个线程组

5.setup线程组在其他线程组之前执行,teardown线程组在其他线程组之后执行

二.Jmeter中变量传递规则

1.测试计划中的变量是全局变量,所有线程组都可以使用,单个线程可以临时修改,不会改变初始值,其他线程调用时,仍然是初始值

2.线程组的变量是线程私有,其他线程组不能引用

三.Jmeter中使用属性实现跨线程调用变量

以登录线程和查询余额线程接口中的token跨线程调用为例

1.jmeter中提取登录接口返回的token

2.在登录线程中,使用beanshell后置处理器,把token设置成属性

通过函数助手setproperty,生成mytoken的beanshell变量

把${token}赋值给mytoken:${__setProperty(mytoken,${token},)};

3.在查询余额线程中,使用beanshell前置处理器,定义一个新的变量保存token属性

通过property获取mytoken属性

定义gettoken接收mytoken属性值

String gettoken = "${__property(mytoken,,)}";

4.通过var函数,把gettoken复制给jmeter变量token88,供jmeter中调用

vars.put("token88",gettoken);

5.在查询余额接口,添加http 信息头管理器

Token的值为token88

6.调试脚本

posted @ 2023-06-27 10:50  常疯大虾  阅读(376)  评论(0编辑  收藏  举报