共计 2282 个字符,预计需要花费 6 分钟才能阅读完成。
本文主要讲解接口管理工具 ApiPost 的预执行脚本和后执行脚本里,常见的响应参数变量和常用方法集合。
ApiPost 简介:
ApiPost 是一个支持团队协作,并可直接生成文档的 API 调试、管理工具。它支持模拟 POST、GET、PUT 等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具。
ApiPost 响应参数变量
response.raw
:原始响应数据
调用示例:
response.raw.status // 响应状态码(200、301、404 等)
response.raw.responseTime // 响应时间(毫秒)
response.raw.type // 响应类型(json 等)
response.raw.responseText // 响应文本
response.json
:json 格式的响应数据(上面示例用的就是这个)
调用示例如上面示例:
response.json.data.token // 也可以 response.json.data[“token”]
response.headers
:响应头
调用示例:
response.headers.server // 也可以 response.headers[“server”]
response.cookies
:响应 cookie
调用示例:
response.cookies.PHPSESSION // 也可以 response.cookies[“PHPSESSION”]
ApiPost 常用方法集合:
1、设置环境变量
apt.variables.set("key", "value"); // 设置一个环境变量 key 值为 value
apt.variables.get("key"); // 获取环境变量 key 的值
apt.variables.delete("key"); // 删除环境变量 key
apt.variables.clear(); // 清空环境变量
2、设置全局变量
apt.globals.set("key", "value"); // 设置一个全局变量 key 值为 value
apt.globals.get("key"); // 获取全局变量 key 的值
apt.globals.delete("key"); // 删除全局变量 key
apt.globals.clear(); // 清空全局变量
3、检查 response body 中是否包含某个 string
apt.assert('response.raw.responseText=="test"'); // 检查响应文本是否等于 test 字符串
apt.assert('response.raw.responseText.indexOf("test") > -1'); // 检查响应文本是否含有 test 字符串
4、检测返回 JSON 中的某个值是否等于预期的值
apt.assert('response.json.hasOwnProperty("errcode")'); // 检测返回 json 对象的是否含有 errcode 字段
apt.assert('response.json.errcode=="success"'); // 检测返回 json 对象的 errcode 字段是否等于 success 字符串
apt.assert('response.json.errcode.indexOf("success") > -1'); // 检测返回 json 对象的 errcode 字段是否含有 success 字符串
apt.assert('response.json.errcode!="success"'); // 检测返回 json 对象的 errcode 字段是否不等于 success 字符串
apt.assert('response.json.errcode>=1'); // 检测返回 json 对象的 errcode 字段是否大于 1
apt.assert('response.json.errcode==null'); // 检测返回 json 对象的 errcode 字段是否是 null
5、测试 response Headers 中的某个元素是否存在 (如:Content-Type)
apt.assert('response.headers.hasOwnProperty("content-type")');
6、验证 Status code(响应码)的值是不是等于 200
apt.assert('response.raw.status==200');
7、验证 Response time(请求耗时)是否大于某个值
apt.assert('response.raw.responseTime>=100');
8、获取请求参数:
我们可以在预执行脚本里,通过 request 对象来获得请求的参数数据。该对象结构如下:
{
"url": "https://console.apipost.cn/need_token.php", // 字符串,请求 URL
"method": "POST", // 字符串,请求方式
"timeout": 25000, // 数字,请求超时时间限制(毫秒)"contentType": "application/x-www-form-urlencoded", // 字符串,请求 contentType
"request_bodys": { // 对象,预定义请求 Body 参数
"user_id": "1",
"nick_name": "jim green"
},
"request_headers": { // 对象,预定义请求 Header 参数
"Authorization": "Basic amltOnB3ZDEyMw=="
}
}