使用Jmter的逻辑控制器功能,可以解决单线程的登录问题,那么进行多线程压力测试时,如果保证仅登录一次情况下,同时对多个不同的接口进行不同的性能压力测试?
0 1脚本结构脚本结构设计如下:
信息头管理器:定义接口请求的格式方法等信息
Cookie管理器:将第一个线程设置的全局变量,设置为cookie信息
第一个线程:
执行登录操作
登录成功后通过提取器提取对应的身份信息“token”
设置全局变量,通过【BeanShell PostProcessor】将“token”设置为全局变量
第二个线程:
定义压测参数
压测接口
第三个线程:
定义压测参数
压测接口
最后,运行脚本时,接口自动读取cookie管理器内的全局变量信息,发送接口请求
Jmeter提供函数_setProperty ,可将变量设置为全局变量
使用格式:${__setProperty(变量名,变量值 ,)}
使用方法:
1.添加BeanShell PostProcessor
在登录接口下添加BeanShell PostProcessor,提取登录接口请求成功返回的身份信息token
2.编辑脚本内容
![83cf2262ad23056dbd018517b280f9ad.png](https://i-blog.csdnimg.cn/blog_migrate/f8bbe8c517cf0b183fc742a986207233.png)