目錄
Postman簡介
Postman主界面
菜單欄
工具欄
請求管理區(qū)
環(huán)境管理區(qū)
請求設(shè)計區(qū)
發(fā)送請求
發(fā)送GET請求
Postman發(fā)送GET請求
發(fā)送表單格式POST請求
發(fā)送JSON格式POST請求
發(fā)送XML格式POST請求
發(fā)送文件上傳類型的請求
響應(yīng)
環(huán)境和變量
環(huán)境變量設(shè)置
環(huán)境變量使用
全局變量
測試腳本及斷言
狀態(tài)碼斷言
包含文本
JSON數(shù)據(jù)斷言
運行測試
請求集
批量運行Collection Runner
總結(jié):
Postman簡介
Postman是一款簡單方便的接口調(diào)試工具,便于分享和協(xié)作。具有接口調(diào)試、請求集管理、環(huán)境配置、參數(shù)化、斷言、批量執(zhí)行、請求錄制、Mock Server,、接口文檔、接口監(jiān)控等功能。
Postman主界面
Postman主界面分為菜單欄、工具欄、請求管理區(qū)、環(huán)境管理區(qū)、請求設(shè)計區(qū)及狀態(tài)欄等主要部分組成,如圖2.13所示。
?
?
菜單欄
Postman菜單欄由File(文件)、Edit(編輯)、View(顯示)和Help(幫助)4個主菜單組成。
工具欄
Postman的工具欄中是一些常用的工具按鈕如新疆、導(dǎo)入、運行器等等。詳細(xì)按鈕及解釋參考表2.4。
?
請求管理區(qū)
請求管理區(qū)位于Postman主體的左側(cè),用于查看保存的請求列表或請求歷史。主要分為Collections接口集和History請求歷史兩種視圖。
接口集,相當(dāng)于一個接口項目或測試計劃,接口集中可以建立無限極子文件夾,用于對接口進(jìn)行分組管理。請求歷史記錄視圖中可以查詢到之前的請求記錄。
環(huán)境管理區(qū)
環(huán)境管理區(qū)分位于Postman主體右側(cè)請求設(shè)計區(qū)右上角。由一個環(huán)境選擇下拉框,一個眼睛(預(yù)覽)圖標(biāo)和一個環(huán)境設(shè)置圖標(biāo)組成。環(huán)境選擇下拉框中可以切換不同的環(huán)境。環(huán)境預(yù)覽按鈕可以快速雨來環(huán)境中的所有變量設(shè)置。環(huán)境設(shè)置中可以添加修改環(huán)境變量以及全局變量。
注:什么是環(huán)境?
環(huán)境是一套配置,包含許多環(huán)境變量。在接口測試中,根據(jù)部署在不同的服務(wù)器上,服務(wù)器地址有可能不同,而同一個接口,接口地址是不變的。為了測試部署在不同服務(wù)器上的同一套接口,我們可以建立不同的環(huán)境,不同環(huán)境中host變量使用不同的地址。
請求設(shè)計區(qū)
請求設(shè)計區(qū)位于Postman右側(cè),是Postman的核心功能區(qū)。請求設(shè)計區(qū)上半部分為請求區(qū),下半部分為響應(yīng)區(qū)??梢酝ㄟ^上方的Tab選項卡邊上的+好,新建多個請求面板,如圖2.14所示。
?
請求區(qū)主要由請求地址行和請求數(shù)據(jù)區(qū)組成。
請求地址行中可以選擇請求方法(GET/POST/...),填寫請求地址,發(fā)送請求和保存請求到測試集。
請求數(shù)據(jù)區(qū):分為授權(quán),請求頭,請求數(shù)據(jù),請求發(fā)送前執(zhí)行的腳本(用于準(zhǔn)備數(shù)據(jù)),請求結(jié)束后執(zhí)行的腳本(用于斷言)。
請求設(shè)計區(qū)分為以下5個面板。
- Params:URL參數(shù)。
- Authorization:如果接口需要授權(quán),可以在該頁面設(shè)置授權(quán)方式(type)和授權(quán)信息。
- Header:請求頭,可以設(shè)置請求類型(Content-Type)和Cookie。
- Body:請求數(shù)據(jù)。
- Pre-request Script:請求前腳本,JavaScript語法,用于在發(fā)送請求前生成一些動態(tài)數(shù)據(jù)或做一些處理
- Tests:請求后腳本,JavaScript語法,用于請求返回后做一些處理或斷言結(jié)果
其中Body下主要包含以下4中格式。
- form-data:混合表單,支持上傳文件
- x-www-form-urlencoded:文本表單
- raw:原始格式,支持JSON/XML格式(后面可選擇)
- binary:二進(jìn)制格式,用于發(fā)送二進(jìn)制數(shù)據(jù)流
選擇不同的格式,可以發(fā)送不同類型的請求數(shù)據(jù)。
響應(yīng)區(qū)用于展示發(fā)送完請求,服務(wù)端的響應(yīng)數(shù)據(jù)及狀態(tài),由Body響應(yīng)體、Headers響應(yīng)頭、Cookie響應(yīng)Cookies、Test Results測試結(jié)果4部分組成。
響應(yīng)內(nèi)容中可以以Pretty(美化格式)、Raw(原始格式)、Preview(HTML預(yù)覽格式)等方式查看響應(yīng)數(shù)據(jù)。測試結(jié)果用于顯示請求中Tests中設(shè)置的斷言的測試結(jié)果。
發(fā)送請求
發(fā)送GET請求
發(fā)送GET請求非常簡單,請求方法使用默認(rèn)GET,在地址欄中填入接口地址,點擊發(fā)送即可,如圖2.15所示。
?
Postman發(fā)送GET請求
請求URL參數(shù)可以直接寫在URL中,也可以通過Params選項卡中的表格填寫,參數(shù)會自動同步到URL中。
注:如果請求需要登錄,可以先在Postman其他Tab頁的請求中發(fā)送登錄接口進(jìn)行登錄(Postman會保存登錄的Cookies),然后再發(fā)送該GET請求?;蛘咦ト〉卿浐蟮腃ookies,填寫到該GET請求的Header中。
發(fā)送表單格式POST請求
表單格式的非常常見的一種網(wǎng)頁表單提交的格式。對應(yīng)的內(nèi)容類型為application/x-www-form-urlencoded。參數(shù)數(shù)據(jù)經(jīng)過URL編碼后發(fā)送。
在Postman中發(fā)送表單格式的數(shù)據(jù),首先要在地址行中選擇POST方法,填寫接口地址,選擇下方的Body(請求體)子選項卡,選擇x-www-form-urlencoded格式,在表格中填入?yún)?shù)數(shù)據(jù),點擊Send發(fā)送即可。如圖2.17所示。
?
?
注:在選擇x-www-form-urlencoded格式后,Postman會自動在請求頭中添加對應(yīng)的內(nèi)容類型項,Content-Type: application/x-www-form-urlencoded。
發(fā)送JSON格式POST請求
JSON格式屬于raw原始格式(即不經(jīng)過編碼原樣發(fā)送)中的一種。發(fā)送JSON格式請求,首先選擇POST請求方法,填寫接口地址,選擇Body請求體,選擇raw,在右側(cè)的下拉選項中選擇JSON(application/json)。在下方輸入JSON格式的請求數(shù)據(jù),點擊發(fā)送即可,如圖2.18所示。
?
注:輸入的JSON數(shù)據(jù)要符合JSON語法格式,只能用雙引號,不能用單引號,不支持注釋等。如果格式錯誤,對應(yīng)行數(shù)字后會有相應(yīng)的x號標(biāo)記。
在選擇完raw->JSON(application/json)后,Postman會自動在請求頭中添加內(nèi)容類型聲明Content-Type: application/json。
發(fā)送XML格式POST請求
XML格式的請求同樣屬于raw原始格式的一種。選擇POST請求方法,填寫接口地址,選擇Body請求體,選擇raw,在右側(cè)的下拉菜單中選擇XML,application/xml或text/xml均可。如圖2.19所示。
?
同樣,在選擇為XML格式后Postman會在請求頭中添加對應(yīng)的內(nèi)容類型聲明。
發(fā)送文件上傳類型的請求
文件上傳請求一般采用multipart/form-data混合表單格式。每個文件同樣對應(yīng)一個參數(shù)變量。在Postman里Body請求體重選擇form-data格式,填寫對應(yīng)的參數(shù)變量,點擊該參數(shù)單元格右側(cè)的下拉小箭頭中選擇File(文件),在后面的單元格中點擊選擇文件即可。如果2.20所示。
?
如果需要上傳多個文件,填寫多個變量即可,也可以填寫普通Text(文本)變量。
響應(yīng)
在編輯完請求后點擊發(fā)送即可收到響應(yīng)。響應(yīng)區(qū)分為Body響應(yīng)體、Cookies響應(yīng)Cookies、Headers響應(yīng)頭和Test Results測試結(jié)果。右側(cè)還包含Status狀態(tài)碼、Time響應(yīng)時間和Size數(shù)據(jù)大小三組數(shù)據(jù)。
響應(yīng)數(shù)據(jù)可以使用Pretty美化格式(通常用于JSON或XML格式的響應(yīng)數(shù)據(jù))、Raw原始格式和Preview預(yù)覽格式(一般用于預(yù)覽HTML網(wǎng)頁),后面還可以設(shè)定數(shù)據(jù)的格式來進(jìn)行Pretty美化展示。
換行圖標(biāo)可以將單行的響應(yīng)數(shù)據(jù)按樹狀格式多行顯示。右側(cè)為復(fù)制、字段搜索和Save Response保存響應(yīng)3個按鈕。如圖2.20。
?
?
環(huán)境和變量
變量用于對請求數(shù)據(jù)進(jìn)行參數(shù)化。環(huán)境則為一套變量配置。通過在請求中使用參數(shù)化變量,加上切換環(huán)境可以快速批量改變請求中的某些參數(shù)值,如base_url接口地址。
環(huán)境變量設(shè)置
點擊環(huán)境管理區(qū)的環(huán)境設(shè)置圖標(biāo),可以打開環(huán)境管理對話框,點擊添加按鈕或已存在的環(huán)境名可以新建或修改環(huán)境。如圖2.21所示。
?
環(huán)境變量使用
在環(huán)境選擇下拉框選擇指定環(huán)境,在請求URL或者請求Body里使用{{變量名}}來使用指定的環(huán)境變量。如圖2.22所示。?
變量可以在請求Body的各種格式中使用,但不能直接在請求前腳本(Pre-request Script)和請求后腳本(Tests)中使用。
全局變量
環(huán)境管理中還可以點擊“GLOBAL”按鈕添加全局變量.環(huán)境變量只有當(dāng)選擇了該環(huán)境時生效,全局變量在任何環(huán)境中生效。如果全局變量和環(huán)境變量名有重復(fù),環(huán)境變量的優(yōu)先級大于全局變量。
注:測試集Collection中也有Variables集合變量,只對保存在當(dāng)前Collection中的請求生效。三種變量的優(yōu)先級關(guān)系為環(huán)境變量>全局變量>集合變量。
測試腳本及斷言
斷言是指預(yù)期結(jié)果與實際結(jié)果的對比。包含斷言的請求才能稱得上是完整的測試用例。
Postman每個請求中都包含一個Tests選項卡,稱為測試腳本,在收到響應(yīng)后執(zhí)行。在Tests測試腳本中可以對響應(yīng)數(shù)據(jù)進(jìn)行提取并添加斷言。
Tests腳本區(qū)右側(cè)會提供很多常用的SNIPPETS代碼段,只要點擊對應(yīng)的代碼段即可快速實現(xiàn)指定的功能或斷言。
狀態(tài)碼斷言
狀態(tài)碼斷言是最基本的斷言之一,可以用于斷言響應(yīng)是否成功返回(狀態(tài)碼200)。
切換到請求的Tests測試腳本面板,在右側(cè)SNIPPETS代碼段中找到Status code: Code is 200并點擊。Tests腳本中會出現(xiàn)以下代碼。
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
其中Status code is 200是該斷言的標(biāo)題,pm.response.to.have.status(200);是具體的斷言語句,如果要斷言其他狀態(tài)碼可以修改括號中的200為對應(yīng)的狀態(tài)碼。
包含文本
Tests腳本中可以添加多條斷言。要斷言響應(yīng)文本在代碼段中點擊Response body: Contains string,Tests腳本中會出現(xiàn)以下代碼。
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
修改include括號中為實際應(yīng)包含的字符串即可。
JSON數(shù)據(jù)斷言
JSON數(shù)據(jù)斷言要先將文本格式的請求數(shù)據(jù)轉(zhuǎn)換為JSON對象,然后根據(jù)JSON機構(gòu)提取對應(yīng)的字段進(jìn)行對比。
在代碼段中點擊Response body: JSON value check
。Tests腳本中會出現(xiàn)以下代碼段。
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
var jsonData = pm.response.json();
是將請求體數(shù)據(jù)轉(zhuǎn)換為JSON對象賦給jsonData變量。pm.expect(jsonData.value).to.eql(100);
為從JSON數(shù)據(jù)中提取第一級的value值請判斷是否等于100。這里要修改value為對應(yīng)要提取的字段,100改為對應(yīng)的值。多個字段的斷言可以寫多個相同結(jié)構(gòu)的斷言,也可以寫到同一個斷言中使用多條pm.expect(jsonData.字段名).to.eql(期望值);語句。多層字段使用點來逐級提取。
運行測試
在請求Tests添加完斷言后,點擊發(fā)送,在響應(yīng)的Test Results處就可以看到各條斷言的結(jié)果。
請求集
對應(yīng)常用的請求我們可以保存到Collection請求集中。點擊請求右側(cè)的Save按鈕或按Ctrl+S即可彈出保存請求的對話框,輸入請求名稱,選擇Collection集合點擊保存即可。
Collection請求集用于組織和管理請求,Collection可以視為一個頂級的測試套件或測試計劃。Collection中可以建立多層Folder子文件夾,來對請求進(jìn)行分組管理。
Collection是Postman中接口管理的一個“整體”單位,運行、導(dǎo)出、分享等都是基于測試集的。
點擊工具欄New按鈕,選擇Collection或者直接點擊測試集列表上方的New Collection按鈕即可彈出新建Collection界面。如圖2.23所示。
?
Collection請求集包含名稱、Description描述、Authorization授權(quán)、Pre-request Scripts請求前腳本、Tests測試腳本和Variables集合變量幾部分組成。
在已存在的請求集上點擊右側(cè)的...按鈕還可以對該請求集進(jìn)行編輯、Add Folder建立子文件夾或進(jìn)導(dǎo)出等其他操作。
批量運行Collection Runner
點擊工具欄的Runner按鈕或Collection右側(cè)的三角按鈕可以打開Collection Runner集合運行器窗口。集合運行器可以批量運行一個Collection或Folder中的所有請求。并根據(jù)請求中的斷言信息判斷請求通過與否。同時Collection Runner還支持設(shè)置迭代次數(shù)以及使用CSV或JSON文件進(jìn)行數(shù)據(jù)驅(qū)動。
以下為使用Collection Runner及CSV文件進(jìn)行數(shù)據(jù)驅(qū)動的一個完整示例。
- (1) 新建一個Collection,比如名稱Demo2
- (2) 新建請求,填入URL:
Body請求數(shù)據(jù)格式選x-www-form-urlencoded,請求數(shù)據(jù)填寫username {{username}} password {{password}},這里使用了兩個變量來做參數(shù)化,然后在請求Tests中添加狀態(tài)碼斷言。然后保存請求到Demo2中。如圖2.24所示。
??
?
- (3) 使用數(shù)據(jù)文件。在電腦上新建一個data.csv文件,第一行為變量名,下面是數(shù)據(jù),如圖2.25所示。
其中標(biāo)題行變量名要與請求中參數(shù)化的變量名一致。
- (4) 打開Collection Runner,選擇請求集Demo2,點擊Select File選擇data.csv數(shù)據(jù)文件,點Run Demo2運行請求集。如圖2.26所示
-(5)運行完成后即可查看報告,如圖2.27所示。
在測試報告頁可以對報告進(jìn)行Export Results導(dǎo)出、Retry重跑或New運行新的Collection。
總結(jié):
感謝每一個認(rèn)真閱讀我文章的人?。?!
我個人整理了我這幾年軟件測試生涯整理的一些技術(shù)資料,包含:電子書,簡歷模塊,各種工作模板,面試寶典,自學(xué)項目等。歡迎大家點擊下方名片免費領(lǐng)取,千萬不要錯過哦。文章來源:http://www.zghlxwxcb.cn/news/detail-714128.html
? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章來源地址http://www.zghlxwxcb.cn/news/detail-714128.html
到了這里,關(guān)于接口測試工具——Postman使用詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!