溫馨提示×

CentOS下Postman如何使用腳本功能

小樊
45
2025-10-13 00:49:51
欄目: 智能運維

CentOS下Postman腳本功能使用指南

一、Postman腳本的核心類型

Postman的腳本功能分為兩類,分別作用于請求生命周期的不同階段:

  • 預請求腳本(Pre-request Script):在請求發送到服務器前執行,常用于動態生成數據(如時間戳、認證令牌)、設置環境變量,為請求做前置準備。
  • 測試腳本(Tests):在收到服務器響應后執行,用于驗證響應狀態碼、響應體內容(如JSON字段值)、性能指標(如響應時間),確保API返回符合預期。

二、基礎腳本編寫步驟

1. 打開腳本編輯界面

在Postman中創建或選中一個請求,點擊頂部選項卡中的Pre-request Script(預請求腳本)或Tests(測試腳本),即可進入對應的腳本編輯窗口。

2. 編寫預請求腳本(示例)

若需在請求頭中添加動態時間戳,可使用以下代碼:

// 生成當前時間戳(ISO格式)并設置為環境變量
const timestamp = new Date().toISOString();
pm.environment.set("timestampHeader", timestamp);

發送請求時,{{timestampHeader}}會自動替換為腳本生成的值(如2025-10-13T08:00:00.000Z)。

3. 編寫測試腳本(示例)

若需驗證響應狀態碼為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}`});
    
  • 注意事項:使用環境變量前,需在Postman的Environments(環境)中創建并激活對應的環境(如"Dev"、“Prod”)。

四、常見應用場景示例

1. 用戶注冊與登錄流程自動化

通過預請求腳本生成測試數據,測試腳本驗證登錄邏輯并保存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到環境變量
});

2. 動態參數化請求

通過預請求腳本生成隨機參數,避免重復使用同一數據:

// 預請求腳本:生成隨機用戶ID
const userId = Math.floor(Math.random() * 1000);
pm.environment.set("currentUserId", userId);

// 請求URL中使用環境變量
// 例如:GET /users/{{currentUserId}}

3. 驗證響應數據完整性

通過測試腳本檢查響應體中的關鍵字段是否存在或符合預期:

// 測試腳本:驗證商品列表接口返回的商品數量
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"開啟)。
  • 使用代碼片段:Postman編輯器右側提供常用代碼片段(如"Status code: Code is 200"、“Response body: JSON value check”),可直接點擊添加到腳本中。
  • 處理異步請求:若需發送異步請求(如等待某個接口返回后再發送下一個請求),可使用pm.sendRequest的回調函數,確保請求順序正確。

通過以上步驟,可在CentOS下充分利用Postman的腳本功能,實現API測試的自動化、動態化和數據驅動化,提升測試效率。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女