CentOS下Postman腳本功能使用指南
Postman的腳本功能分為兩類,分別作用于請求生命周期的不同階段:
在Postman中創建或選中一個請求,點擊頂部選項卡中的Pre-request Script(預請求腳本)或Tests(測試腳本),即可進入對應的腳本編輯窗口。
若需在請求頭中添加動態時間戳,可使用以下代碼:
// 生成當前時間戳(ISO格式)并設置為環境變量
const timestamp = new Date().toISOString();
pm.environment.set("timestampHeader", timestamp);
發送請求時,{{timestampHeader}}
會自動替換為腳本生成的值(如2025-10-13T08:00:00.000Z
)。
若需驗證響應狀態碼為200且響應體包含"user_id"字段,可使用以下代碼:
// 檢查響應狀態碼是否為200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 解析響應體為JSON,檢查是否包含"user_id"
pm.test("Response contains user_id", function () {
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("user_id");
});
發送請求后,Postman會在Tests標簽頁顯示測試結果(通過/失?。?。
Postman的腳本可通過pm.environment
對象與環境變量交互,實現數據的動態傳遞:
// 設置環境變量(需提前創建環境)
pm.environment.set("authToken", "abc123xyz");
// 獲取環境變量并用于后續請求
const token = pm.environment.get("authToken");
pm.request.headers.add({key: "Authorization", value: `Bearer ${token}`});
通過預請求腳本生成測試數據,測試腳本驗證登錄邏輯并保存token,后續請求使用該token訪問受保護接口:
// 預請求腳本:生成隨機郵箱并發送注冊請求
const email = `user${Math.floor(Math.random() * 1000)}@example.com`;
const password = "password123";
pm.sendRequest({
url: pm.environment.get("apiBaseUrl") + "/register",
method: "POST",
body: JSON.stringify({email, password}),
headers: {"Content-Type": "application/json"}
}, (error, response) => {
pm.expect(response.status).to.eql(200);
});
// 測試腳本:發送登錄請求并保存token
pm.test("Login successfully", function () {
const response = pm.response;
pm.expect(response.status).to.eql(200);
const token = response.json().token;
pm.environment.set("authToken", token); // 保存token到環境變量
});
通過預請求腳本生成隨機參數,避免重復使用同一數據:
// 預請求腳本:生成隨機用戶ID
const userId = Math.floor(Math.random() * 1000);
pm.environment.set("currentUserId", userId);
// 請求URL中使用環境變量
// 例如:GET /users/{{currentUserId}}
通過測試腳本檢查響應體中的關鍵字段是否存在或符合預期:
// 測試腳本:驗證商品列表接口返回的商品數量
pm.test("Product list is not empty", function () {
const products = pm.response.json();
pm.expect(products.length).to.be.above(0);
});
console.log()
輸出調試信息,日志會顯示在Postman的Console(控制臺)中(點擊Postman右上角的"View"→"Show Postman Console"開啟)。pm.sendRequest
的回調函數,確保請求順序正確。通過以上步驟,可在CentOS下充分利用Postman的腳本功能,實現API測試的自動化、動態化和數據驅動化,提升測試效率。