接口測試 --apipost 如何自定義變量
如何在接口測試工具apipost自定義變量?
這個就需要使用apipost自帶的腳本功能,有預執行腳本和后執行腳本
什么是APIPOST腳本
APIPOST腳本是基于javaScript語言的代碼片段,可實現在接口請求或集合測試時添加動態行為。腳本可實現的功能
測試(斷言)請求返回結果的正確性(后置腳本)。
動態修改接口請求參數,如增加接口簽名參數等(前置腳本)。
接口請求之間傳遞數據(使用腳本操作變量)。
腳本中可以直接請求一個接口地址。
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); } } );
后執行腳本
后執行腳本的作用時間后執行腳本是一個請求發送后執行的腳本。
后執行腳本的作用
后執行腳本可以完成以下作用:
編寫JS函數等實現復雜計算;
變量的打印
定義、獲取、刪除、清空環境變量
定義、獲取、刪除、清空全局變量
獲取請求參數
獲取響應參數
發送HTTP請求
測試(斷言)請求返回結果的正確性
后執行腳本打印調試變量
其用法同預執行腳本雷同,不再贅述。
定義、獲取、刪除、清空環境變量
其用法同預執行腳本雷同,不再贅述。
定義、獲取、刪除、清空全局變量
其用法同預執行腳本雷同,不再贅述。
獲取請求參數
通過request對象獲取請求參數,詳細可以參考《APIPOST內置變量》一節文檔。
獲取響應參數
通過response對象獲取請求參數,詳細可以參考《APIPOST內置變量》一節文檔。
發送HTTP請求
其用法同預執行腳本雷同,不再贅述。
測試(斷言)請求返回結果的正確性
利用后執行腳本進行測試(斷言)請求返回結果的正確性,詳細可以參考《響應以及斷言》一節文檔。
單元測試 自動化測試
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。