個人技術總結——postman的使用(使用數據變量多次運行集合)


1、技術概述

  • 是一款功能強大的網頁調試與發送網頁HTTP請求的工具用於接口調試、接口測試
  • 學習該技術的原因——測試項目接口正確性,創建 + 測試:創建和發送任何的HTTP請求,請求可以保存到歷史中再次執行
  • 技術難點全英文環境對於直接上手這款工具還是有一定難度的

2、技術詳述

在前后端分離開發時,后端工作人員完成系統接口開發后,需要與前端人員對接,測試調試接口,驗證接口的正確性可用性。而這要求前端開發進度和后端進度保持基本一致,任何一方的進度跟不上,都無法及時完成功能模塊的測試。
做為后端開發人員,要求獨立開發完成某個接口后,開發人員自己需要先測試通過后再提交給測試人員進行測試,否則會出現到測試人員哪里業務流程根本就走不通,或者BUG會過多的情況等。

  • 首先一定要熟悉這個東東的界面啦

  • 響應 示例: 這里會有請求的響應狀態碼,響應時間,以及響應大小

  • 接口請求

    • get請求

    • post請求

      • POST請求一:表單提交
      • POST請求二:json提交
      • POST請求三:xml提交
    • 腳本測試

      在編寫測試腳本時不需要記住那么多語法,可以通過編輯器旁邊列出常用的代碼段來簡化此過程,可以選擇要添加的代碼段,並將相應的代碼添加到測試編輯器中。

      1. 清除一個全局變量
           Clear a global variable
          對應腳本:
          postman.clearGlobalVariable("variable_key");
          參數:需要清除的變量的key
       
      2.清除一個環境變量
          Clear an environment variable
          對應腳本:
          postman.clearEnvironmentVariable("variable_key");
          參數:需要清除的環境變量的key
       
      3.response包含內容
          Response body:Contains string
          對應腳本:
          tests["Body matches string"] =responseBody.has("string_you_want_to_search");
          參數:預期內容
       
      4.將xml格式的response轉換成son格式
          Response body:Convert XML body to a JSON Object
          對應腳本:
          var jsonObject = xml2Json(responseBody);
          參數:(默認不需要設置參數,為接口的response)需要轉換的xml
       
      5.response等於預期內容
          Response body:Is equal to a string
          對應腳本:
          tests["Body is correct"] = responseBody === "response_body_string";
          參數:預期response
       
      6.json解析key的值進行校驗
          Response body:JSON value check
          對應腳本:
          tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args
          參數:test替換被測的值,args替換被測的key
       
      7.檢查response的header信息是否有被測字段
          Response headers:Content-Type header check
          對應腳本:
          tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
          參數:預期header
       
      8.響應時間判斷
          Response time is less than 200ms
          對應腳本:
          tests["Response time is less than 200ms"] = responseTime < 200;
          參數:響應時間
       
      9.設置全局變量
            Set an global variable
            對應腳本:
            postman.setGlobalVariable("variable_key", "variable_value");
            參數:全局變量的鍵值
       
      10.設置環境變量
            Set an environment variable
            對應腳本:
            postman.setEnvironmentVariable("variable_key", "variable_value");
            參數:環境變量的鍵值
       
      11.判斷狀態碼
            Status code:Code is 200
            對應腳本:
            tests["Status code is 200"] = responseCode.code != 400;
            參數:狀態碼
       
      12.檢查code name 是否包含內容
            Status code:Code name has string
            對應腳本:
            tests["Status code name has string"] = responseCode.name.has("Created");
            參數:預期code name包含字符串
       
      13.成功的post請求
            Status code:Successful POST request
            對應腳本:
            tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
       
      14.微小驗證器
             Use Tiny Validator for JSON data            
             對應腳本: 
              var schema = {
               "items": {
               "type": "boolean"
                   }
               };
              var data1 = [true, false];
              var data2 = [true, 123];
              console.log(tv4.error);
              tests["Valid Data1"] = tv4.validate(data1, schema);
              tests["Valid Data2"] = tv4.validate(data2, schema);
              參數:可以修改items里面的鍵值對來對應驗證json的參數
      
  • 可以在Collection Runner中使用數據變量來運行具有不同數據集的集合。Collection Runner可以導入CSV或JSON文件,然后使用HTTP請求和腳本中的數據文件中的值。

  1. 創建測試集文件夾

  2. 准備要運行的變量文件,如:url.json

  3. 添加接口

    接口中的使用變量要用這種格式:{{url}}

    在預先請求和測試腳本中,特變量要用這種格式:data.url或data ['url'],這將允許從數據文件訪問url變量的值。

  4. 打開“Collection Runner”窗口並選擇相應的集合或文件夾

  5. 設置迭代次數

    迭代計數是希望集合或文件夾運行的次數。每次迭代將使用數據文件中的一行。如果迭代次數大於數據文件中的行數,則重復上一行的值

  6. 選擇要運行的變量文件、選擇數據文件類型

    對於JSON文件,您需要確保該文件具有一個鍵/值對數組。數組中的每個元素都是鍵值對的對象,表示1次迭代。這些鍵用作變量名稱,而值在請求中被替換

  7. 選擇數據文件類型后,點擊“Preview”可以預覽變量數據

  8. 運行集合並觀察結果

3、技術使用中遇到的問題和解決過程

1.問題內容

post請求失敗 500

 <!doctype html><html lang="en"><head><title>HTTP Status 500  .......

2.錯誤原因

(其實就是json格式的問題)
header: Content-Type : application/json

3.解決方法

4、總結

postman測試時候未得到預期結果的時候應檢查——

【版本問題】同一個接口在不同版本調用時效果不同。(可以檢查版本默認參數是否一致。)
【設置問題】使用同一個版本請求同一個接口,接口參數一致的情況下效果不同。
(1)檢查postman設置參數;
(2)檢查接口默認參數設置;
(3)比對參數值,注意參數值的格式是否一致;
(4)檢查參數值中是否包含空格、換行等

5、列出參考文獻、參考博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM