Apifox 前置腳本的使用

Apifox 前置操作的使用

1. 題記

API測試真麻煩:近期在xxx項目上測試API時,因爲要是通過網關請求API,需要認證token才能請求,所以在每次測試的,都要先登錄系統,從瀏覽器複製token,再貼到apifox的接口上把token帖上去,然後再去測試具體的接口;更麻煩的是,切換環境的時候,token也要換,又要把上面的步驟重做一遍;

API測試真絲滑:在使用apifox過程中,注意到有個前置操作的功能,用起來之後,把上面需要n次鼠標點擊操作變給0次鼠標點擊操作,只需要關注具體的API接口的測試即可。

本次前置操作案例:使用apifox進行接口測試時,通過前置腳本自動獲取token並添加到全局變量,無須關注網關認證;

參考資料:

Apifox使用文檔-pm對象API
Apifox使用文檔

2. 實操

2.1 ### 定義全局變量

定義一個全局變量x-token,用於存放我們的token;
image

2.2 前置操作獲取token

項目概覽中添加前置操作,選擇自定義腳本;

腳本代碼如下:

// 獲取環境變量-前置URL
const envPath = pm.environment.get('BASE_URL')
console.log("path:" + envPath)
const http = {
    url: envPath + "/security/login",
    method: "POST",
    header: "Content-Type:application/json",
    body: {
        mode: "urlencoded",
        urlencoded: [
            { key: "username", value: "zhangsan" },
            { key: "password", value: "123456" }
        ]
    }
}

// 遠程API測試才需要請求token
if (!envPath.includes("localhost")) {
    pm.sendRequest(http, function (err, response) {
        // console.log(response.json());
        const res = response.json();
        console.log(res.data.token);
        pm.globals.set('x-token', res.data.token)
    });
}


2.3 項目Auth設置token

在Apifox中使用全局變量的語法:{{變量名}}, 如下圖:
image

2.4 暢爽的測試API

在測試接口的時候,會先執行前置處理腳本去調用登陸接口,然後解析接口裏的token,並把其賦值給全局變量x-token,又因2.3中我們添加了全局的API Key認證,所以會在請求的時候自動將token放到每個接口的請求頭。

這樣我們在測試需要認證的接口時,就不用每次手動登陸系統,然後去瀏覽器裏把token複製出來,再貼到每個接口裏面了。
image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章