postman的測試方法


介紹:postman  

相似工具: 命令行curl fiddler

下載地址:官網下載https://www.getpostman.com/

Postman是一款功能強大的網頁調試與發送網頁HTTP請求的Chrome插件

市場上有很多優秀的,完善的接口測試工具,比如SoapUI,Postman,JMeter、yapi等,能夠高效的幫助后端開發人員獨立進行接口測試。這里使用Postman接口測試工具,分別介紹如何對GET請求和POST請求進行接口測試。

 

Postman的操作環境

postman適用於不同的操作系統,Postman Mac、Windows X32、Windows X64、Linux系統,還支持postman 瀏覽器擴展程序、postman chrome應用程序等。

 

 

postman 頁面接口詳情:

 

主要界面功能介紹

l   New: 新建,可以創建request(請求),collection(請求集),environment(環境變量)等。

l   Inport:導入,可以直接導入postman請求集,curl等一些請求文件。

l   Runner: 執行請求,可以選擇執行請求的collection,並且添加執行參數,例如執行時間,執行次數等等。

l   Workspace: 工作台,可以選擇使用個人工作台或團隊工作台,可以創建team並且邀請成員加入一起編輯使用請求集。

l   History: 歷史請求,所有調試的歷史請求數據

l   Collection: 請求集,可以創建保存,將某些請求放到一起形成請求集

l   Environment: 環境變量,管理設置的環境變量,可以設置全局環境變量,也可新建環境,添加環境變量

 

工作台頁面功能介紹

l   請求方法: 支持 get, post, put, patch delete等請求方法

l   URL: 可以直接輸入請求URL,也可以通過環境變量設置,自定義URL

l   Params: 請求參數

l   Authorization:  認證鑒權,支持多種授權鑒權

l   Header: 請求頭

l   Body: 請求體,包含form-data,json,文件上傳等

l   Pre-request-Script: 請求腳本,可以在請求發起前執行的腳本

l   Tests: 接口測試,請求完成后進行的測試腳本

l   Cookies: 可以為請求添加cookies

l   下面就是response的一些信息,返回數據,返回頭,cookie,測試結果等

 

postman環境配置:

全局變量(Globals)

場景:以頁面顯示,需要在header中添加認證,那么每次請求都添加嗎?我們可以設置全局變量

 

設置變量名和value值

 

 

 

 

斷言

Postman的斷言功能在Test模塊中,比如要測試返回結果是否含有某一字符串,就需要在Test中編寫相應的代碼,Test中的代碼使用的是JavaScript語法。

我們先來了解下postman斷言的一些特點 ,具體如下

斷言編寫位置:Tests標簽
斷言所用語言:JavaScript
斷言執行順序:在響應體數據返回后執行 。
斷言執行結果查看:Test Results
在上面我們介紹到,編寫的斷言代碼是JavaScript,那如果不會寫怎么辦 ? 不用擔心,因為postman已經給我們內置了一些常用的斷言 。用的時候,只需從右側點擊其中一個斷言,就會在文本框中自動生成對應斷言代碼塊 。


 

 

 

 postman自帶Tests函數:

Postman提供了參考代碼供我們選擇即可,主要斷言代碼有如下幾種:

# 斷言狀態碼是否為200,在斷言中此種斷言價值不高

  

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

# 斷言響應文本中是否包含某個數據串,常用

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

 

# 使用JsonPath斷言

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

 

# 檢查響應正文中是否包含某個子串

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

 

# 響應信息包含列表中其中某一個

pm.test("Successful POST request", function () {
    pm.expect(pm.response.code).to.be.oneOf([201,202]);
});

 

# 將xml響應轉為json

var jsonObject = xml2Json(responseBody);

 

3.保存接口配置

待整個接口都調試完畢后,記得點擊 Save 去保存接口信息:

去保存當前 API 接口,然后需要填寫相關的接口信息:

l Request Name: 請求的名字

我一般習慣用保存為 接口的最后的字段名,比如

l Request Description: 接口的描述

最好寫上該接口的要實現的基本功能和相關注意事項

支持 Markdown 語法

Select a collection or folder to save: 選擇要保存到哪個分組(或文件夾)

往往保存到某個 API 接口到所屬的該項目名的分組

功能說明:

All Collections : 列出所有集合,可以選擇一個集合運行
Environment : 環境列表 ,當選擇的集合使用到了環境,這里就必須選擇 ,反之,可不選。
Iterations :迭代次數,這里面更多的使用場景讀取外部文件進行參數化 。當然一個集合也可以重復運行多次。
Delay :請求之間的間隔時間,默認為0也就是沒有間隔 。
Data : 讀取數據文件進行參數化的選項 。
Save Seponses : 保存響應數據,默認情況不開啟 ,但是當集合中有請求報錯時,打開此選項 。就可以在Run Result查看每個請求的響應結果 ,這樣有助於調試錯誤。
keep variable values : 持久變量,默認為開啟狀態,開啟后,前面請求的變量設置的值,后面有請求修改此值,會覆蓋此值 。
run collection without using stord cookies : 不使用cookies保存的值運行
Save cookies after collection run : 集合中的請求在執行期間創建/更新cookie 。打開此選項,可以將cookie保存到cookie管理器,從而覆蓋任何現有的cookie。
Recent RUN :右側是保存了最近運行的結果,可以點擊打開查看 。也可以下載 和刪除 。
Import/Export :可以將運行結果導出后再導入結果進行查看 。

 


免責聲明!

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



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