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請求和腳本中的數據文件中的值。
-
創建測試集文件夾
-
准備要運行的變量文件,如:url.json
-
添加接口
接口中的使用變量要用這種格式:{{url}}
在預先請求和測試腳本中,特變量要用這種格式:data.url或data ['url'],這將允許從數據文件訪問url變量的值。
-
打開“Collection Runner”窗口並選擇相應的集合或文件夾
-
設置迭代次數
迭代計數是希望集合或文件夾運行的次數。每次迭代將使用數據文件中的一行。如果迭代次數大於數據文件中的行數,則重復上一行的值
-
選擇要運行的變量文件、選擇數據文件類型
對於JSON文件,您需要確保該文件具有一個鍵/值對數組。數組中的每個元素都是鍵值對的對象,表示1次迭代。這些鍵用作變量名稱,而值在請求中被替換
-
選擇數據文件類型后,點擊“Preview”可以預覽變量數據
-
運行集合並觀察結果
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、列出參考文獻、參考博客
- postman post請求失敗 500 等等,漠天515
- 接口測試工具Postman接口測試圖文教程,niaonao
- 接口測試及常用接口測試工具, 塵世風
- Postman做web接口自動化測試 三,靈樞_