部分内容参考https://www.jianshu.com/p/e3a116f7bf6b
前提:参数传递(Token传递,接口关联等)
根据上一节提供的接口信息进行模拟测试,其中,需要将登陆之后的token传到头部信息和其他线程组的参数中
1、Jmeter传参方式
1)内置变量
//同线程组
vars :操作 jmeter 变量,它是测试用例与 BeanShell 交互的桥梁,常用方法:
vars.get(String key):从jmeter 中获得变量值
vars.put(String key,String value):数据存到 jmeter 变量
//跨线程组
props :操作 jmeter 属性,该变量引用了 JMeter 的配置信息,可以获取Jmeter
的属性,它的使用方法与 vars 类似,但是只能 put 进去 String 类型的值,而不能是一个对象。
props.get("START.HMS");START.HMS 为属性名,在jmeter.properties 中定义
props.put("PROP1","1234");
2)函数助手
声明全局变量
${__setProperty(newtoken,${token},)}
引用全局变量
${__P(newtoken,)}
2、传参形式
1)同线程组
//示例1.beanshell语句
String str =vars.get("loginName");//获取变量loginName
vars.put("key",str);//抛出做线程组内变量
//其他
默认的变量都在本线程组下使用
2)跨线程组
//示例1.beanshell语句
String str =vars.get("token");
props.put("newToken",str);
//示例2.函数助手
${__setProperty(newtoken,${token},)}
//跨线程组引用变量的方式
${__P(newtoken,)}//只需要变量名就可以
3、操作步骤
1)json提取器
2)抛出全局变量
3)引用全局变量
4)请求结果
示例脚本:
链接: https://pan.baidu.com/s/1ZdCEVyaNxIVFhzaXU7vwQQ
提取码: e1xe