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,则在控制台中打印一条消息。
热门推荐
决策高手速成秘籍:揭秘思维模型的力量,让你的理性决策力飙升!
存货跌价准备转回是什么
北京法院立案要求:诉讼程序与材料指南
太阳能灯的结构和原理,太阳能灯构造
边实习边备考研究生?时间管理大师的“碎片化学习法”公开!
指甲不平整有条纹坑坑洼洼的是为什么
先让自己舒服,才是高情商的关键!很多人搞错了重点
唯物辩证法三大规律 有哪些规律
轻资产创业项目如何管理
如何预防口腔溃疡?
怎样自制水循环装置***,简易自制水循环教程
分析:ropz加入后 Vitality或将翻开新篇章
低血磷抗维生素D佝偻病的5种治疗方法
温度传感器安装热套管使用指南
很多人没搞懂的“帕累托最优”,到底是什么?
自家门上安装带摄像头的智能门锁 被邻居告了 法院这么判
举世罕见!横断山脉的“六江并流”。排排流,一路向南
中国成功发射实践二十五号卫星,探索卫星燃料补加技术新高度
金铲铲之战阿卡丽英雄攻略:技能解析与最佳出装搭配
区域辐射监测仪,场所辐射安全保障的有利工具
一个被忽视的养生要穴——长强穴(尾闾)
国家线与校线差距知多少?揭秘非全考研复试线的神秘面纱
沃尔核材如何突破瓶颈?
贵州主要河流全解析:从乌江到南明河的自然人文之美
如何在同一台电脑上同时安装两块显卡?
获得金融牌照的全指南:从申请到合规的全面分析
从“熊”到“亚洲黑熊”:是怎样进化和分类的?
如何提高XRF技术的准确性?
经常刮刮背,有助调畅一身气血
手机色彩模式标准和鲜艳哪个好