溫馨提示×

在Linux上Postman如何使用腳本

小樊
51
2025-09-26 22:34:26
欄目: 智能運維

在Linux上使用Postman腳本的完整流程

一、準備工作:安裝必要工具

在Linux系統上使用Postman腳本,需先安裝以下工具:

  1. Postman應用:從官方網站下載Linux版本(如.deb或.rpm包),通過包管理器安裝(如sudo dpkg -i Postman-linux-x64-*.deb);
  2. Node.js與npm:Postman CLI(Newman)依賴Node.js環境,通過包管理器安裝(如Ubuntu下sudo apt install nodejs npm);
  3. Newman工具:Postman的命令行接口,用于批量執行腳本,通過npm全局安裝(npm install -g newman)。

二、編寫Postman腳本(核心步驟)

Postman腳本分為預請求腳本(請求發送前執行,用于設置變量、參數化請求)和測試腳本(請求響應后執行,用于驗證結果、處理數據),均使用JavaScript編寫。

1. 預請求腳本(Pre-request Script)

用于在請求發送前準備數據,例如設置環境變量、生成簽名等。
示例:設置一個全局變量authToken,用于后續接口的身份驗證。

// 在請求的"Pre-request Script"標簽頁編寫
pm.globals.set("authToken", "Bearer " + CryptoJS.MD5("username:password").toString());

說明:通過pm.globals.set()方法設置全局變量,可在后續請求的URL、Headers或Body中引用(如{{authToken}})。

2. 測試腳本(Tests)

用于驗證響應數據的正確性,是API測試的核心。常用斷言包括狀態碼、響應時間、正文內容等。
示例:驗證登錄接口的響應狀態碼為200,且返回的token字段存在。

// 在請求的"Tests"標簽頁編寫
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200); // 斷言狀態碼為200
});
pm.test("Response contains token", function () {
    const jsonData = pm.response.json(); // 解析響應正文為JSON
    pm.expect(jsonData.token).to.exist; // 斷言token字段存在
});

說明:使用pm.test()定義測試用例,pm.response.to提供鏈式斷言方法(如have.status、have.jsonBody),pm.expect()用于復雜斷言(如字段存在性、值匹配)。

三、運行Postman腳本

1. 圖形界面運行(單請求/單集合)

  1. 打開Postman應用,創建或選擇請求;
  2. 編寫預請求腳本(可選)和測試腳本(必選);
  3. 點擊頂部導航欄的Send按鈕,發送請求;
  4. Test Results標簽頁查看腳本執行結果(綠色表示通過,紅色表示失?。?。

2. 命令行運行(批量/自動化)

使用Newman工具批量執行Postman集合(JSON格式),適合CI/CD流程。
基本命令

newman run /path/to/your/collection.json

常用選項

  • -e /path/to/environment.json:指定環境變量文件(如包含baseUrl、apiVersion等變量);
  • -g /path/to/globals.json:指定全局變量文件(如包含authToken等變量);
  • -r htmlextra,json:指定報告格式(如htmlextra生成可視化HTML報告,json生成原始JSON報告);
  • --iteration-count 5:指定迭代次數(如循環執行5次)。
    示例:執行集合并生成HTML報告,同時使用環境變量和全局變量。
newman run /path/to/collection.json -e /path/to/environment.json -g /path/to/globals.json -r htmlextra,json --iteration-count 3

說明:集合文件需通過Postman導出(點擊集合右上角的三個點→Export),環境變量和全局變量文件同理。

四、腳本進階技巧

  1. 變量使用
    • 環境變量:通過pm.environment.set()設置,pm.environment.get()獲?。▋H當前環境有效);
    • 全局變量:通過pm.globals.set()設置,pm.globals.get()獲?。ㄈ钟行В?;
    • 集合變量:通過pm.collectionVariables.set()設置,pm.collectionVariables.get()獲?。▋H當前集合有效)。
  2. 異步請求:使用pm.sendRequest()發送異步HTTP請求,例如獲取用戶信息后再獲取訂單信息。
    pm.sendRequest("GET", "https://api.example.com/users/1", function (err, response) {
        if (!err) {
            const userId = response.json().id;
            pm.sendRequest("GET", `https://api.example.com/orders?userId=${userId}`, function (err, orderResponse) {
                console.log(orderResponse.json());
            });
        }
    });
    
  3. 調試腳本
    • 使用console.log()輸出變量值到Postman控制臺(點擊頂部導航欄的ViewShow Postman Console);
    • 使用Postman的Debugger工具(點擊腳本編輯器右上角的Debug按鈕)逐行調試。

五、注意事項

  1. 腳本兼容性:確保Postman版本與Newman版本兼容(建議使用最新穩定版);
  2. 敏感信息保護:避免在腳本中硬編碼敏感信息(如密碼、API密鑰),應使用環境變量或全局變量;
  3. 報告管理:定期清理Newman生成的HTML報告,避免占用過多磁盤空間。

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