手动添加cookie可以参照:https://blog.csdn.net/qq_22219911/article/details/80408351
只要有登录后的cookie内容(可能是session、可能是token),手动设置到cookie管理器中后,调用其他的非登录接口将不需要在登录了(除非当前的cookie失效——由session或token的失效时间确定,貌似session的默认失效时间是30分钟)
那么,一个线程组用于登录并正则匹配到对应的cookie值,并保存到jmeter全局属性中(${__setProperty(sessionTemp,${sessionId},)}),再线程组同级别添加http cookie manager,并将jmeter全局属性中的cookie内容手动设置好(${__property(sessiontemp,,)}),那么接下来其他同级的线程组可以不用再次登录就可直接调用其他接口。
注意:也可以将获取的cookie值手动添加到另外线程组的Http Request Defaults中,达到相同的效果(其他同级的线程组可以不用再次登录就可直接调用其他接口)。
线程间cookie共享方法一:
(1)如我的登录信息如下:
(2)我的jmeter脚本如下:
(3)其中jmeter调用登录接口的响应结果如下:
(4)其中正则匹配的cookie内容如下:
(5)其中获取到的cookie设置到jmeter全局属性如下:
线程间cookie共享方法二:
获取登录cookie信息同上,不同点在于:给同级不同的线程组添加Http Request Defaults中添加cookie信息(http头信息中手动添加cookie信息),如下截图所示:
注意:多线程组时,登录优先,即需要线程组的执行顺序(线程组按顺序运行),设置测试计划如下所示:
有关cookie、session、线程间共享变量、正则表达式参照:
https://blog.csdn.net/xiaoxiao_renhe/article/details/81062324
https://blog.csdn.net/xiaoxiao_renhe/article/details/80268205
https://blog.csdn.net/xiaoxiao_renhe/article/details/78894454