(Jmeter)Cookie,跨线程组接口调用
构成:线程组A
----- 登录请求
线程组B
----- 新建请求
系统:登录生成cookie 和 token。 后面所有的请求在 cookie 的情况下,传递 token 来请求数据。
实现:
1. 测试计划:配置环境变量,供后面所有接口调用
2. 线程组A, 新建登录接口,再给登录接口下 添加:
“查看结果树”,
"JSON提取器“(自定义成了 token 提取器),
"正则表达式提取器“(自定义成了cookie正则表达式提取器),
BeanShell断言
3. 运行 登录接口
4. 查看登录的查看树, token 在 Repsonse Body的 msg,JSESSIONID 在 Response headers 的 JSESSIONID
5. 提取 token 和 JSESSIONID,利用 JSON提取器 和 正则表达式。提取后,形成变量 token 和 JSESSIONID
注意:
1)token 和 JSESSIONID 的表达式,需要根据 登录生成的具体字符串来提取。
2)JSESSIONID 因为是在 登录接口的 Response Header里面,所以提取 JSESSIONID 时选择的时,Main sample 和 Header
6. 变量 token 和 JSESSIONID 目前仅在一个线程组内可以调用。跨线程组的调用,需要将其设置成全局变量,可以使用 BeanShell断言 来实现。
7. 新建另外一个线程组,新建功能,并添加:
HTTP 请求:新建功能
HTTP Cookie Manager:加载前面设置的 Cookie
查看结果树:查看结果
8. 配置
${__P(JSESSIONID)}:从全局变量中获取 JSESSIONID;
域:一定要配置!!!,即当前请求的域名或IP
9. 运行新建的HTTP请求,查看结果树
如果 请求里面的 Requst Body or Request Headers 里面,包含了所需要的 token 和 JSESSIONID,那么基本就没什么问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)