前言
execOrder.png预请求脚本(Pre-request Script)是与在发送请求之前执行的代码片段。适合请求的参数化,例如,要在请求标头中包含时间戳,可以使用函数返回的值设置环境变量。
直接引用官网的一张图说明Pre-request Script的执行时机,千言万语不如一张图。只有一个注意点,预请求脚本是用JavaScript编写的
youknow.png再白话一下执行顺序(图懂可跳过)
- 与集合关联的预请求脚本将在集合中的每个请求之前运行;
- 与文件夹关联的预请求脚本将在文件夹中的每个请求之前运行;
- 与集合关联的测试脚本将在集合中的每个请求之后运行;
- 与文件夹关联的测试脚本将在文件夹中的请求之后运行;
- 与请求关联的预请求脚本将在发送请求之前执行;
- 与请求关联的测试脚本将在发送请求后执行;
实例
preview获取Gank.io每日数据
请求的Api接口为:http://gank.io/api/day/{{year}}/{{month}}/{{day}}
再Pre-request Script,输入以下内容,注意key一定要可Api地址中的一一对应,别问我为什么,任性
// 构造当前日期
var date =new Date();
// 获取年(4位,1970-xxxx)
var year = date.getFullYear();
// 获取月份(获取当前月份(0-11,0代表1月,所以要+1))
var month = date.getMonth()+1;
// 获取当前日(1-31)
var day = date.getDate();
// 把生成的数据set给postman
pm.environment.set("year", year);
pm.environment.set("month", month);
pm.environment.set("day", day);
//控制台输出一下原始日期
console.log(date)
打开Postman的控制台,以查看最终的请求,可以使用快捷键Ctrl+Alt+C,打开控制台
console soeasy常用代码片段
//获取一个环境变量
pm.environment.get("variable_key");
//获取一个全局变量
pm.globals.get("variable_key");
//获取一个普通变量
pm.variables.get("variable_key");
//设置一个环境变量
pm.environment.set("variable_key", "variable_value");
//设置一个全局变量
pm.globals.set("variable_key", "variable_value");
//清空一个环境变量
pm.environment.unset("variable_key");
//清空一个全局变量
pm.globals.unset("variable_key");
//发送一个请求
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
if(err){
console.log(err);
}else{
console.log(response.json());
}
});
/*pm.globals*/
//检测全局变量是否包含某个变量---返回布尔值
pm.globals.has(variableName:String)
//获取全局变量中的某个值
pm.globals.get(variableName:String)
//为某个全局变量设置值
pm.globals.set(variableName:String, variableValue:String)
//销毁某个全局变量
pm.globals.unset(variableName:String)
//清除全局变量
pm.globals.clear()
//将全局变量以一个对象的方式全部输出
pm.globals.toObject():function → Object
/*pm.environment*/
//检测环境变量是否包含某个变量---返回布尔值
pm.environment.has(variableName:String)
//获取环境变量中的某个值
pm.environment.get(variableName:String)
//为某个环境变量设置值
pm.environment.set(variableName:String, variableValue:String)
//销毁某个环境变量
pm.environment.unset(variableName:String)
//清除环境变量
pm.environment.clear()
//将环境变量以一个对象的方式全部输出
pm.environment.toObject():function → Object
/*pm.request*/
//获取当前发起请求的url
pm.request.url
//以数组的方式返回当前请求中的header信息
pm.request.headers
网友评论