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
⑥调试脚本
最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。