溫馨提示×

Linux Postman如何使用Tests腳本

小樊
47
2025-09-22 16:17:17
欄目: 智能運維

Linux環境下Postman Tests腳本使用指南

1. 準備工作:安裝Postman并配置環境

在Linux系統上使用Postman前,需先完成安裝:

  • 下載安裝包:訪問Postman官方網站,下載適用于Linux的壓縮包(如.tar.gz格式);
  • 解壓與安裝:通過終端導航至下載目錄,執行tar -xvf Postman-linux-x64-*.tar.gz解壓;將解壓后的Postman文件夾移動至/opt目錄(sudo mv Postman /opt);創建全局符號鏈接(sudo ln -s /opt/Postman/Postman /usr/local/bin/postman),實現終端直接輸入postman啟動應用。
  • 啟動與驗證:終端輸入postman,若成功彈出圖形界面則表示安裝完成。

2. 編寫Tests腳本的基本步驟

2.1 創建請求與集合

  • 打開Postman,點擊左上角“+”按鈕→選擇“HTTP Request”,填寫請求方法(GET/POST等)、URL、Headers(如Content-Type: application/json)和Body(如需發送JSON數據,切換至“Body” tab選擇rawJSON格式輸入);
  • 保存請求:點擊“Save”按鈕,選擇或創建一個Collection(如命名為“User APIs”),將請求添加至集合中(集合用于批量管理請求及腳本)。

2.2 添加Tests腳本

  • 選中需添加腳本的請求,點擊編輯器頂部的Tests tab(位于“Headers”“Body” tab右側);
  • 點擊“New Script”按鈕(若有),直接在代碼編輯框中編寫JavaScript腳本(Postman支持JavaScript語法,內置ChaiJS斷言庫)。

3. 常見Tests腳本示例

Tests腳本主要用于驗證響應的正確性,以下是常用場景的示例:

3.1 狀態碼驗證

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200); // 斷言響應狀態碼為200(成功)
});

3.2 響應時間驗證

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200); // 斷言響應時間小于200毫秒
});

3.3 JSON響應體驗證

pm.test("Response body contains expected data", function () {
    const jsonData = pm.response.json(); // 解析JSON響應體
    pm.expect(jsonData).to.have.property("token"); // 斷言響應體包含"token"字段
    pm.expect(jsonData.token).to.be.a("string"); // 斷言"token"字段為字符串類型
});

3.4 環境變量設置與使用

// 設置環境變量(如將響應中的token存入環境變量)
pm.test("Set environment variable", function () {
    const jsonData = pm.response.json();
    pm.environment.set("auth_token", jsonData.token); // 將token存入環境變量"auth_token"
});

// 使用環境變量(如在后續請求的Headers中添加Authorization)
pm.request.headers.add({
    key: "Authorization",
    value: `Bearer ${pm.environment.get("auth_token")}` // 獲取環境變量"auth_token"的值
});

3.5 XML響應體轉換與驗證

pm.test("Parse XML response", function () {
    const xmlData = pm.response.text(); // 獲取XML響應體
    const jsonObj = xml2Json(xmlData); // 轉換為JSON對象(Postman內置xml2Json函數)
    pm.expect(jsonObj).to.have.property("root.user.name"); // 斷言XML中存在"user.name"節點
});

3.6 斷言響應頭包含特定字段

pm.test("Response header contains Content-Type", function () {
    pm.expect(pm.response.headers).to.have.property("Content-Type"); // 斷言響應頭包含"Content-Type"
    pm.expect(pm.response.headers.get("Content-Type")).to.include("application/json"); // 斷言"Content-Type"包含"application/json"
});

4. 執行與查看測試結果

  • 發送請求:點擊請求編輯器頂部的“Send”按鈕,Postman會向目標API發送請求;
  • 查看結果:請求發送后,底部會顯示Test Results tab(若未顯示,可點擊“View”→“Show Test Results”);
  • 結果解讀:Test Results tab會列出所有測試用例的執行結果(Passed/Failed),包括測試名稱、執行時間、錯誤信息(若測試失?。?。

5. 高級用法

5.1 批量運行測試(Newman命令行工具)

若需批量執行Collection中的所有請求及腳本,可使用Postman的命令行工具Newman

  • 安裝Newman:終端執行npm install -g newman(需提前安裝Node.js);
  • 運行Collection:執行newman run /path/to/collection.json -e /path/to/environment.jsoncollection.json為集合文件路徑,environment.json為環境變量文件路徑);
  • 輸出報告:可添加--reporters cli,html參數生成命令行報告或HTML報告(如newman run collection.json -e environment.json --reporters cli,html)。

5.2 調試腳本

  • 控制臺輸出:使用console.log()函數輸出調試信息(如console.log("Response body:", pm.response.json())),可在Postman底部的“Console” tab查看;
  • 錯誤排查:若腳本執行失敗,Test Results tab會顯示錯誤原因(如語法錯誤、斷言失?。?,結合控制臺輸出可快速定位問題。

6. 腳本管理

  • 集合級腳本:在Collection編輯頁面(點擊Collection名稱→“Edit”),切換至“Tests” tab,添加的腳本會在集合中每個請求之后運行;
  • 文件夾級腳本:右鍵點擊Collection中的文件夾→“Edit”,同樣可添加“Tests”腳本,該腳本會在文件夾內每個請求之后運行;
  • 請求級腳本:直接在單個請求的“Tests” tab中編寫的腳本,僅對該請求生效。
    腳本執行順序:集合級腳本→文件夾級腳本→請求級腳本(適用于需要復用通用測試邏輯的場景)。

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