接口测试工具Apifox 基础篇:前置脚本

一、前置脚本

前置脚本是在请求发送前执行的代码片段。如要在请求头中包含时间戳或在 URL 参数中发送随机的字母数字字符串等类似请求中非常适用。

二、使用示例

1、要在请求头中包含当前时间戳,可以使用从函数返回的值来设置环境变量。

将参数 timestamp 的值设置为 { {timestamp}} 。当请求发送时,前置脚本将被执行,环境变量 timestamp 的值会被设置为当前时间戳,同时 { {timestamp}}也会被替换为当前时间戳。

注意: 要设置环境变量,该环境必须处于选中状态。

前置脚本使用 JavaScript 编写,语法与后置脚本完全相同,但不存在pm.response对象。

2、 设置普通值到环境变量

// 设置环境变量
pm.environment.set(variable_key, variable_value);
 
// 获取环境变量
var variable_key = pm.environment.get(variable_key);
 
// unset 环境变量
pm.environment.unset(variable_key);

3、将对象或数组(非字符串)写入环境变量

环境变量只能存在字符串,如要写入对象或数据,需要使用JSON.stringify转换成字符串

var array = [1, 2, 3, 4];
pm.environment.set(array, JSON.stringify(array));
 
var obj = { a: [1, 2, 3, 4], b: { c: val } };
pm.environment.set(obj, JSON.stringify(obj));

读取的时候,需要使用JSON.parse转换回来
try {
  var array = JSON.parse(pm.environment.get(array));
  var obj = JSON.parse(pm.environment.get(obj));
} catch (e) {
  // 处理异常
}

4、设置全局变量

// 设置全局变量
pm.globals.set(variable_key, variable_value);
 
// 获取全局变量
var variable_key = pm.globals.get(variable_key);
 
// unset 全局变量
pm.globals.unset(variable_key);

5、设置临时变量

// 设置临时变量
pm.variables.set(variable_key, variable_value);
 
// 获取临时变量
var variable_key = pm.variables.get(variable_key);
 
// unset 临时变量
pm.variables.unset(variable_key);
经验分享 程序员 微信小程序 职场和发展