Postman中跨环境Cookie提取技巧
创作时间:
作者:
@小白创作中心
Postman中跨环境Cookie提取技巧
引用
CSDN
1.
https://m.blog.csdn.net/zfp123123/article/details/144793633
在使用Postman进行接口自动化测试时,经常会遇到需要从响应头中提取Cookie并设置为环境变量的情况。然而,当面对开发和生产两种不同环境、不同Cookie名称时,如何编写一个通用的脚本自动处理这个问题呢?本文将为你提供一个实用的解决方案。
1.问题背景
在Postman中进行接口自动化测试时,需要从响应头的
Set-Cookie
中提取特定的Cookie值,并将其设置为环境变量以供后续接口使用。存在两种环境(开发和生产),分别对应不同的Cookie名称:
t_iam_dev
和
t_iam_prod
。初始脚本仅能针对一种名称进行提取,若该名称的Cookie不存在,则提取失败。因此,需要一个能够自动切换Cookie名称并提取成功的脚本。
初始脚本:
// 获取响应头中的Set-Cookie
let setCookieHeader = pm.response.headers.get("Set-Cookie");
// 提取Cookie
let tokenRegex = /t_iam_prod=(.*?);/;
let matches = setCookieHeader.match(tokenRegex);
let Cookie = matches ? matches[1] : null;
// Cookie
console.log("Extracted Cookie: " + Cookie);
// 设置环境变量
if (Cookie) {
pm.environment.set("Cookie", Cookie);
}
实际结果:
切换到生产环境后,提取失败。
2.解决方案
// 获取响应头中的Set-Cookie
let setCookieHeader = pm.response.headers.get("Set-Cookie");
// 尝试提取Cookie
let Cookie = null;
// 正则表达式数组,包含两种可能的Set-Cookie名称
let tokenRegexes = [
/t_iam_dev=(.*?);/,
/t_iam_prod=(.*?);/
];
// 遍历正则表达式数组,直到提取结果不为空
for (let tokenRegex of tokenRegexes) {
let matches = setCookieHeader.match(tokenRegex);
if (matches) {
Cookie = matches[1];
break; // 提取成功,退出循环
}
}
// 打印提取的Cookie
console.log("Extracted Cookie: " + Cookie);
// 设置环境变量
if (Cookie) {
pm.environment.set("Cookie", Cookie);
} else {
console.log("No valid Cookie found in the response.");
}
代码解释:
**获取响应头中的
Set-Cookie
**:使用
pm.response.headers.get("Set-Cookie")
来获取响应头中的
Set-Cookie
值。正则表达式数组:创建一个包含两种可能的
Set-Cookie
名称的正则表达式数组。遍历正则表达式数组:使用
for...of
循环遍历正则表达式数组,尝试匹配
Set-Cookie
。提取Cookie:如果匹配成功,则提取Cookie值并退出循环。
打印提取的Cookie:使用
console.log
来打印提取的Cookie值。设置环境变量:如果成功提取了Cookie值,使用
pm.environment.set("Cookie", Cookie)
将其设置为环境变量。如果没有找到有效的Cookie,则在控制台中打印一条消息。
热门推荐
老人消化不良呕吐怎么办?5种实用缓解方法
老年人腹泻呕吐的护理措施
FM2助眠药物:正确使用指南
安眠药真的会让人变傻吗?最新研究揭示惊人真相
陆林院士团队最新研究:食欲素受体拮抗剂或成失眠治疗新选择
逛吃高邮之隐藏在苍蝇馆子里的高邮特色小吃
国家食药监总局解读:二氧化硫使用标准与安全食用指南
维生素D对糖尿病患者的五大潜在好处
春运火车票已发售1.2亿张 如何提高候补成功率?专家来支招
用音乐公主激发孩子艺术潜能:童话故事大法好!
广西自驾游全攻略:6天环线游遍沿海边疆美景
扬州高邮市盂城驿景区:中国现存规模最大、保存最完好的古代驿站
西昌7个热门打卡地,快去耍一趟!
胸痛快速诊断指南:从症状到检查
世界首套静止同步调相机试验成功,新能源发电迎来新突破
橙子+香蕉:营养CP还是甜蜜禁忌?
冬季提升免疫力,这些高维C水果怎么吃?
全国八大最具代表性的经典美食,看看有你的省吗?
OneRepublic登上春晚:一段跨越国界的音乐情缘
OneRepublic春晚炸场,全球华人大狂欢!
漳州必打卡:印象半径 vs 东山岛,你更爱哪个?
冬日仙境:云冰山的最佳赏雪指南
冬日仙境云冰山:捕捉最美瞬间
如何掌握唐卡绘画的技法和风格?
拉萨云藏文化体验空间:闹中取静的藏文化体验空间
中国十大国画巨匠的顶尖之作!堪称一绝!
大理州原始森林:滇藏木兰的最后避难所
探秘神农架:六天五夜原始森林探险攻略
得了阑尾炎不用一刀切!还有更“舒适”的治疗
孩子肚子疼,哪种情况下可能是急性阑尾炎?