jmeter使用:解决压测时获取token问题
在执行压测过程中,首先要执行登录接口来获取token。如果并发数比较大只需要一个用户的登录token,可以使用setup线程组。如果是模拟多个用户登录获取token,需要使用仅一次控制器。
一.添加setup thread group前置线程
1.在并发量比较高的情况下,获取token的接口应该写到其他线程里,这样获取token的接口就只会执行一次,就能得到下一个接口需要传入的token。
2.提取返回结果
把前置线程中获取token接口的相应结果提取穿给主线程
在前置线程的获取token接口下添加正则表达式或json提取器,提取相应结果
以正则表达式为例:
3.把前置线程中的接口响应结果传给主线程
(1).添加beanshell后置处理程序
(2).函数助手中生成P函数
name of property的值应该和beanshell后置处理程序中的setproperty保持一致。
(3).生成的函数字符串写入需要传参的地方
二.仅一次控制器
在线程内添加仅一次控制器,在仅一次控制器里添加登录接口请求,在登录接口内添加json提取器或正则表达式。
1.csv数据文件设置
(1)添加csv数据文件设置,如图:
(2)csv文件可以是csv文件,也可以是txt文件。如果是txt文件,间隔为一个tab键。如图:
2.接口传参
在仅一次控制器下添加获取token的接口,如图:
3.提取返回结果
用正则表达式或json提取器提取获取token接口返回的token值
4.线程属性
仅一次控制器下的接口执行次数为线程设置的线程数,除了仅一次控制器下的接口,其他接口每个用户下循环执行5次。