背景:请求某些接口时需要先请求其他接口得到返回,再去请求主接口,需要执行两次请求或多次请求,为了减少操作,可以在Pre-request Script 添加接口请求信息,让请求主接口时自动请求前置接口;
今天遇到一个接口先需要加密在进行解密,解密的请求就是加密接口的返回,可以在Pre-request Script 添加加密接口请求,示例:
解密接口中添加加密接口的请求参数信息并存入变量
脚本:
var invoicereq = pm.environment.get(“encryptres1”);
const invoicerequest = {
url: pm.environment.get(“URL-api”)+’/api/invoice/push/waitfor/invoice’,
method: ‘POST’,
header: ‘Content-Type:application/json’,
body: {
mode: ‘raw’,
// 请求体
raw: (invoicereq)
}
};
// 发送请求
pm.sendRequest(invoicerequest, function (err,response) {
//获取发票处理接口响应内容
// console.log(’===>’,response.stream.toString())
let invoice = response.stream.toString()
//将invoice存入环境变量
pm.environment.set(“invoice”,invoice);
});
---- response.stream.toString() 是将返回的二进制格式转为string
注意:要知道接口返回的类型时什么,如果是json格式:写法就是
let invoice =response.json();
pm.environment.set(“invoice”,JSON.stringfy(invoice));
---- console.log(typeof(data)) 用来打印参数类型