本文主要講解接口管理工具ApiPost的預執行腳本和後執行腳本里,常見的響應參數變量和經常使用方法集合。php
ApiPost是一個支持團隊協做,並可直接生成文檔的API調試、管理工具。它支持模擬POST、GET、PUT等常見請求,是後臺接口開發者或前端、接口測試人員不可多得的工具 。前端
response.raw
:原始響應數據json
調用示例:api
response.raw.status //響應狀態碼(200、30一、404等)response.raw.responseTime //響應時間(毫秒)cookie
response.raw.type //響應類型(json等)app
response.raw.responseText //響應文本工具
response.json
:json格式的響應數據(上面示例用的就是這個)post
調用示例如上面示例:測試
response.json.data.token //也能夠 response.json.data["token"]
response.headers
:響應頭url
調用示例:
response.headers.server //也能夠 response.headers["server"]
response.cookies
:響應cookie
調用示例:
response.cookies.PHPSESSION //也能夠 response.cookies["PHPSESSION"]
ApiPost經常使用方法集合:
一、設置環境變量
apt.variables.set("key", "value"); // 設置一個環境變量 key 值爲value apt.variables.get("key"); // 獲取環境變量 key的值 apt.variables.delete("key"); // 刪除環境變量 key apt.variables.clear(); // 清空環境變量
二、設置全局變量
apt.globals.set("key", "value"); // 設置一個全局變量 key 值爲value apt.globals.get("key"); // 獲取全局變量 key的值 apt.globals.delete("key"); // 刪除全局變量 key apt.globals.clear(); // 清空全局變量
三、檢查response body中是否包含某個string
apt.assert('response.raw.responseText=="test"'); // 檢查響應文本是否等於test字符串 apt.assert('response.raw.responseText.indexOf("test") > -1'); // 檢查響應文本是否含有test字符串
四、檢測返回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
五、測試response Headers中的某個元素是否存在(如:Content-Type)
apt.assert('response.headers.hasOwnProperty("content-type")');
六、驗證Status code(響應碼)的值是否是等於200
apt.assert('response.raw.status==200');
七、驗證Response time(請求耗時)是否大於某個值
apt.assert('response.raw.responseTime>=100');
八、獲取請求參數:
咱們能夠在預執行腳本里,經過 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==" } }