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