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,则在控制台中打印一条消息。
热门推荐
经常冒冷汗是怎么回事
上海外国语大学是985还是211大学?
猫咪走失后会自己回家吗?如何提高它们的归家几率?
包工头拖欠工资怎么办?五种有效解决方法
六险一金里的补充医疗保险
40吨大马榴莲陆续到货,印尼力促中国市场准入
清明节日期为什么不固定,清明节日期怎么算
事业编考试公基职测内容解析:一张卷子的核心考察点
加拿大大学本科学制及课程设置特点
风油精的20种神奇用途,3块钱的东西,用出300块钱的效果
篮球多少步算走步?这些规则让你不再迷茫
储蓄卡和信用卡在安全性上有何不同?
2024国家规定的噪声排放标准是什么样的
电影《狗阵》:荒漠中的生命乐章,人狗救赎之旅
如何重置宝马的油耗数据?重置后会有什么影响?
原来狗狗也会嫉妒和"吃醋"!?
梨花声音教育不断学习与提升:声音变现的持久之道
程序员转型的无限可能:探索代码外的精彩人生
通识课程主要包括哪些课程
NBA得分王次数排名:詹姆斯与乔丹的差距不止一个档次
食品包装设计中的读心术:用心理学让消费者主动购买?
谷氨酰胺的作用和功效有哪些
功率最强!最新汽车无线充电诞生,但车主注定不想用……
葛剑雄:江南文化是中华文明的重要分支
绿色家具与床垫甲醛释放量分级探讨
汉消快讯 | 大跨度,大空间!这场消防演练真“硬核”!
《GTA5增强版》购买指南:PC版价格、新功能与配置一览
八字里水太多 八字水太多该怎么化解
宝宝频繁摇头,是哪里不舒服吗?
2024年下半及未来:预测未来动漫的风格、技术与题材趋势