postman使用技巧

postman使用技巧

pre-request

需求:三方对接的接口需要在请求头中添加如下参数

Accept: application/json

appKey: appKey001

timestamp: 当前时间时间戳

sign: 请求签名,格式:APP_KEY + request秘钥 + 时间戳(以long类型的字符串),经过MD5加密后生成的串(字母小写)

js 复制代码
// 生成时间戳
function getTimestamp(){
    var time = new Date().getTime();
    return time;
}
var timeStamp = getTimestamp();

var appKey = 'appKey001';
var secretKey = 'secretKey001'
let paramsStr = appKey + secretKey + timeStamp;
// md5生成sign值
let sign = CryptoJS.MD5(paramsStr).toString();
console.log('----paramsStr=' + paramsStr)

// 添加请求头信息,upsert:有则更新,没有则添加
pm.request.headers.upsert({ key: 'Accept', value: 'application/json'});
pm.request.headers.upsert({ key: 'appKey', value: appKey});
pm.request.headers.upsert({ key: 'timeStamp', value: timeStamp});
pm.request.headers.upsert({ key: 'sign', value: sign});

pre-request 中获取环境变量中的变量值

需求:获取选中环境变量中的token,如果选中环境中没有配置token值,则使用全局变量中的token值

js 复制代码
// 获取指定环境中的 token 变量
var token = pm.environment.get("token");
if (token) { // 如果 token 变量存在
    console.log("-----环境变量中token----"+ token)
    // 添加指定环境中的 token
    pm.request.addHeader({
        key: "Authorization",
        value: token
    })
} else {
    console.log("-----全局变量中token----"+ pm.globals.get("token"))
    // 添加 globals 环境中的 token
    pm.request.addHeader({
        key: "Authorization",
        value: pm.globals.get("token")
    })

}

pre-request 中添加请求头

js 复制代码
pm.request.addHeader("unitCode: 530112");

请求头中如果包含中文,需要使用 encodeURIComponent 进行编码,否则添加不成功

js 复制代码
pm.request.addHeader("unitCode: 530112");
pm.request.headers.upsert({key: 'unitName', value: encodeURIComponent("单位名称530112001")});

参考:

postman中使用Pre-request Script
postman中pre-script,生成MD5接口加密参数sign

相关推荐
zzc92114 小时前
TLSv1.2协议与TCP/UDP协议传输数据内容差异
网络·测试工具·安全·wireshark·ssl·密钥·tlsv1.2
Jinkxs19 小时前
告别“测试滞后”:AI实时测试工具在敏捷开发中的落地经验
人工智能·测试工具·敏捷流程
秃了也弱了。1 天前
WireShark:非常好用的网络抓包工具
网络·测试工具·wireshark
敲上瘾2 天前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
天才测试猿2 天前
常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
利来利往2 天前
【ai写代码】lua-判断表是否被修改
lua
陈天cjq2 天前
Redis 实用型限流与延时队列:从 Lua 固定/滑动窗口到 Streams 消费组(含脚本与压测)
redis·junit·lua
Warren982 天前
Lua 脚本在 Redis 中的应用
java·前端·网络·vue.js·redis·junit·lua
测试开发Kevin3 天前
详解grafana k6 中stage的核心概念与作用
测试工具·压力测试·grafana
天才测试猿3 天前
接口自动化测试难点:数据库验证解决方案
自动化测试·软件测试·数据库·python·测试工具·职场和发展·接口测试