乐趣区

关于前端:接口测试进阶接口脚本使用apipost预后执行脚本

预执行脚本的作用工夫

预执行脚本是一个申请发送前执行的脚本。

预执行脚本的作用

预执行脚本能够实现以下作用:

  • 编写 JS 函数等实现简单计算;
  • 变量的打印
  • 定义、获取、删除、清空环境变量
  • 定义、获取、删除、清空全局变量
  • 获取申请参数
  • 动静增加、删除一个 header 申请参数
  • 动静增加、删除一个 query 申请参数
  • 动静增加、删除一个 body 申请参数
  • 发送 HTTP 申请

编写 JS 函数等实现简单计算

咱们能够在预执行脚本中定义一个函数_random,

function _random(){return '你好,中国' + Math.random();
}

它返回一个字符串:“你好中国”+ 随机数,此时能够通过

apt.globals.set("random_var", _random());

将它赋值给全局变量 random_var。

预执行脚本打印调试变量

咱们能够通过 console.log() 将须要的变量打印在控制台,从而查看某个变量的以后值。如图下面示例中的

定义、获取、删除、清空环境变量

apt.variables.set("key", "value"); // 设置一个值为 value 的环境变量 key
apt.variables.get("key"); // 获取环境变量 key 的值
apt.variables.delete("key"); // 删除环境变量 key
apt.variables.clear(); // 清空定义的全副环境变量 

定义、获取、删除、清空全局变量

apt.globals.set("key", "value");  // 设置一个值为 value 的全局变量 key
apt.globals.get("key");  // 设置一个值为 value 的全局变量 key
apt.globals.delete("key");  // 设置一个值为 value 的全局变量 key
apt.globals.clear(); // 清空定义的全副全局变量 

获取申请参数

通过 request 对象获取申请参数,具体能够参考《APIPOST 内置变量》一节文档。

动静增加、删除一个 header 申请参数

apt.setRequestHeader("key", "value"); // 动静增加一个键为 key 值为 value 的 header 参数
apt.removeRequestHeader("key"); // 删除 header 参数中键为 key 的参数 

动静增加、删除一个 query 申请参数

apt.setRequestQuery("key", "value"); // 动静增加一个键为 key 值为 value 的 query 参数
apt.removeRequestQuery("key"); // 删除 query 参数中键为 key 的参数 

动静增加、删除一个 body 申请参数

apt.setRequestBody("key", "value");// 动静增加一个键为 key 值为 value 的 body 参数 只针对 form-data、urlencode 无效
apt.removeRequestBody("key");// 删除 body 中键为 key 的参数 只针对 form-data、urlencode 无效 

发送 HTTP 申请

咱们能够在预执行脚本中利用 AJAX 的 $.ajax 办法发送一个 http 申请。以下是一个简略的示例 demo:利用预执行脚本发送一个申请到 https://echo.apipost.cn/get.php,并将响应后果的 bigint 赋值给了全局变量 bigint。

$.ajax({
    url:"https://echo.apipost.cn/get.php",
    method:"POST",
    headers:{"content-type":"application/json"},
    timeout:"10000",
    async:false, // 记住此项设置为 false,必须同步申请
    data:JSON.stringify({"email":"xxx@xxx.com","password":"123456"}), 
    success:function (response) {apt.globals.set("bigint",response.bigint); 
    }
}
);
退出移动版