1、Jmeter中线程运行规则
①各个线程组是完全独立的,每个线程组是不同的业务,互不影响
②线程组中的每个线程也是完全独立
③线程组中的每个线程,都是从上往下执行,完成一轮循环后,继续下一轮循环
④存在业务流或者接口之前存在依赖关系的放同一个线程组
⑤setup线程组在其他线程组之前执行,teardown线程组在其他线程组之后执行
2、Jmeter中变量传递规则
①测试计划中的变量是全局变量,所有线程组都可以使用,单个线程可以临时修改,不会改变初始值,其他线程调用时,仍然是初始值
②线程组的变量是线程私有,其他线程组不能引用
3、Jmeter中使用属性跨线程调用变量
以登录线程和查询余额线程接口中的token跨线程调用为例
①Jmeter中提取登录接口返回的token
②在登录线程中,使用beanshell后置处理器,把token设置成属性
通过函数助手setproperty,生成mytoken的beanshell变量
把${token}赋值给mytoken:
${__setProperty(mytoken,${token},)};
③在查询余额线程中,使用beanshell前置处理器,定义一个新变量保存token属性
通过property获取mytoken属性
定义gettoken接收mytoken属性值
String gettoken = "${__property(mytoken,,)}";
④通过var函数,把gettoken复制给jmeter变量token88,供jmeter中调用
vars.put("token88",gettoken);
⑤查询余额接口,添加http信息头管理器
Token的值为token88
⑥调试脚本
行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!