前言
今天Darren洋教大家如何使用jmeter中的插件来进行token值的提取与调用,今天Darren洋介绍两种jmeter提取token值的方式,一种是在当前线程组中直接提取token值,一种是跨线程组的方式进行token值的提取并调用给不同线程组里的HTTP接口使用。
方式一、jmeter提取token设置
此方式的缺点为每个线程组内只能又新建一个登录接口脚本(即每个线程组内必有一个登录接口脚本),因为此种方式提取到的token值不能跨线程组进行传输,故有一定的局限性。
定义token值的参数变量。
边界提取器进行边界值的提取。
json提取器进行json返回数据的提取并定义好一个变量名,以供HTTP请求头管理器进行获取。
在HTTP请求接口下添加的HTTP请求头里面添加定义的变量名,让该接口获取到json提取器提取到的token返回值进行令牌授权。
方式二、jmeter提取token设置成全局变量(跨线程组传token值)
此方式的优点为每个线程组内不需要再新建一个登录接口脚本(即一个.jmx脚本内所有线程组只需有一个登录接口脚本进行提取token值操作,即可把登录接口脚本获取的token提取到后面每一个线程组下的接口中进行令牌授权操作),因此此种方式提取到的token值能够跨线程组进行传输,故更加方便快捷和高效,可进一步缩短jmeter脚本传输token的效率。
在这种方式下,除了json提取器保持不变外,还要配合beanshell取样器进行使用,该取样器就是把json提取器里提取到的token变量进行重新命名包装,重新命名的变量名随便取好即可,要与放在下方接口的http请求头里面的变量名保持一致。
在接口下的http请求头里添加好beanshell取样器里重新命名好的变量名即可。要记得在线程组里(除第一个线程组)添加固定计时器哦!!!否则当不同线程组中的接口同时进行时,会发生获取token值不及时的情况。