目录
在jmeter调试和运行脚本时,接口需要token信息,如果每次都手工获取会很麻烦,所以我们把登录认证接口加进来,jmeter运行的时候从登录认证接口中自动获取token,后面的接口直接引用。
1、整体说明
setup线程组:加入登录认证接口,获取到token,然后设置成全局变量;
线程组:加入需要测试的接口,接口中直接引用token变量;

2、提取token
使用【正则表达式提取器】或者其他提取器,能提取到想要的内容即可,如下所示:
yht_access_token=(.*?);

3、token设置全局变量
因为此处我们不是在同一个线程组中引用,跨线程引用还需要把token设置成全局变量,用到了【BeanShell 后置处理程序】,如图所示:
${__setProperty(yht_access_token,${yht_access_token},false)}

__setProperty(...):这是一个 JMeter 函数
yht_access_token:要设置的属性名称
${yht_access_token}:属性的值,这里是表示引用了同名变量(正则表达式提取器中获取的变量)
false:当属性已经存在时,它不会被新值覆盖
4、引用token
线程组接口的【信息头管理器】中,使用下面语句引用token变量即可,如图所示:
yht_access_token=${__property(yht_access_token)}

5、特殊说明
5.1、格式问题:${__property(xx)},里面是两个短的_连起来的,注意区分。
5.2、习惯问题:在同一个线程组中,前面接口设置变量后,后面接口用{xx}格式直接引用习惯了,在这种跨线程引用的时候,还是使用{xx}会获取不到。有一次设置错了,检查了很久没有找到原因,第二天重新检查才突然发现是这种问题。