現(xiàn)在的web和移動開發(fā),常常會調(diào)用服務(wù)器提供restful接口進行數(shù)據(jù)請求斤葱,為了調(diào)試慷垮,一般會先用工具進行測試揖闸,通過測試后才開始在開發(fā)中使用。這里介紹一下如何在chrome瀏覽器利用postman應(yīng)用進行restful api接口請求測試料身。
關(guān)于Postman的安裝方法汤纸,可以在網(wǎng)上自行搜索安裝,很簡單芹血。.
一贮泞、導(dǎo)入導(dǎo)出打包的應(yīng)用
在Postman中導(dǎo)入導(dǎo)出我們的測試數(shù)據(jù)包 和工作環(huán)境,非常的方便幔烛。
導(dǎo)出數(shù)據(jù)包
導(dǎo)出工作環(huán)境
導(dǎo)入數(shù)據(jù)包
導(dǎo)入工作環(huán)境
二隙畜、發(fā)送請求和查看響應(yīng)
發(fā)送請求
Postman的界面分為 左邊的側(cè)邊欄 和 右邊的請求構(gòu)建器 兩部分。請求構(gòu)建器允許你可以快速的創(chuàng)建幾乎任何類型的請求说贝。一個HTTP請求的四部分:URL议惰、Method、Headers乡恕、Body言询,在Postman中都可以設(shè)置。
URL
在你構(gòu)建request請求的時候傲宜,首先要設(shè)置的就是URL运杭。在URL輸入框中輸入你請求的鏈接,你可以單擊Params按鈕函卒,在編輯器中輸入key-value格式的URL參數(shù)辆憔。
在URL地址欄中的輸入和編輯器中輸入的key-value參數(shù),不會自動的編碼為 URL-encoded报嵌,選中要編碼的文本虱咧,右鍵選擇**EncodeURIComponent **,手動編碼參數(shù)值锚国。
你可以單獨的添加參數(shù)腕巡,Postman會自動的把他和URL整合到一起,如果你從其他的地方粘貼了URL過來血筑,Postman也會自動的把 Params中的參數(shù)進行設(shè)置绘沉。
一些API端點使用路徑變量,你可以在Postman中設(shè)置豺总,他們位于兩個 / 中车伞,樣式如下
如果你要設(shè)置他,單擊Params按鈕喻喳,你會發(fā)現(xiàn)key部分已被自動設(shè)置好了另玖,根據(jù)需要填寫value部分就行。
Headers:
單擊Headers切換按鈕,你可以在key-value編輯器中設(shè)置任何字符串作為header的名稱日矫。
受限的headers和cookies
不幸的是一些headers收到Chrome和XMLHttpRequest規(guī)范的限制赂弓,以下headers被屏蔽:
Accept-Charset
Accept-Encoding
Access-Control-Request-Headers
Access-Control-Request-Method
Connection
Content-Length
Cookie
Cookie 2
Content-Transfer-Encoding
Date
Expect
Host
Keep-Alive
Origin
Referer
TE
Trailer
Transfer-Encoding
Upgrade
User-Agent
Via
從Postman v0.9.6版本開始绑榴,我們可以使用攔截器來發(fā)送這些受限的headers:
安裝完成后點擊切換就可以使用這些headers發(fā)送請求了哪轿。
headers預(yù)設(shè)
你可以保存常用的headers在headr prest里面:
Method
單擊HTTP的請求方法按鈕,在給出的下拉菜單中選擇使用的方法即可翔怎,對應(yīng)的方法需要body的窃诉,body部分便被設(shè)置為可填寫。
body部分編輯
當(dāng)我們發(fā)送請求需要填寫body部分時赤套,Postman幾乎可以讓我們發(fā)送任何類型的HTTP請求飘痛。body編輯器分為4個部分:
form-data
form-data是web表單默認的傳輸格式,編輯器允許你通過設(shè)置key-value形式的數(shù)據(jù)來模擬填充表單容握。你可以在最后的選項中選擇添加文件宣脉。
urlencoded
這個編碼格式同樣可以通過設(shè)置key-value的方式作為URL的參數(shù)。
raw
一個raw請求可以包含任何內(nèi)容剔氏。在這里你可以設(shè)置我們常用的JSON 和 XML數(shù)據(jù)格式塑猖。
二進制
在這里你可以發(fā)送視頻、音頻谈跛、文本等文件羊苟。
處理響應(yīng)
Postman的響應(yīng)查看器允許你方便的查看API的響應(yīng)是否正確。
一個API響應(yīng)器包括Body感憾、Headers蜡励、status code三部分。Body 和 Headers在不同的選項卡中阻桅,status code在收到響應(yīng)時在標(biāo)簽行的最右邊顯示凉倚。
保存響應(yīng)內(nèi)容
如果你在收藏夾中保存了request請求,你可以在請求收到的對應(yīng)的響應(yīng)中單擊save按鈕嫂沉,指定一個response的名字占遥,來保存對應(yīng)額response。一個request對應(yīng)的所有的response都是有效的输瓜。
當(dāng)我們要查看我們保存的response的時候瓦胎,只需要點擊我們的發(fā)送的request選擇我們要查看的response即可:
查看響應(yīng)
Postman的body標(biāo)簽中有三種查看方式:Pretty、Raw尤揣、Preview
Pretty:
Pretty方式搔啊,可以讓JSON 和 XML的響應(yīng)內(nèi)容顯示的更美觀規(guī)整。
Raw:
顯示最原始的數(shù)據(jù)北戏,可以幫助你判斷是否minified
Preview:
可以幫你把HTML頁面自動解析顯示出來负芋。
Headers
這里顯示了一些鍵值對,表示了HTTP請求中header中的信息。
Cookies
Postman v0.8.x 版本可以顯示瀏覽器的cookie旧蛾。
身份驗證
Basic Auth
輸入用戶名和密碼莽龟,點擊 Update Request 生成 authorization header
Digest Auth
Digest auth 比 Digest auth 更加復(fù)雜,使用當(dāng)前request中的設(shè)置來生成authorization header锨天,請確保在生成前你的設(shè)置的正確性毯盈。
OAuth 1.0
Postman的OAuth1.0工具讓你可以生成支持OAuth1.0身份認證的請求,目前他不能獲取access token病袄。
OAuth 2.0
Postman支持獲取OAuth 2.0 token搂赋,并且可以非常簡單的添加到request中。
從OAuth 2.0中獲取access token益缠,要遵循下面這些步驟:
在你的APP設(shè)置頁面設(shè)置 **https://www.getpostman.com/oauth2/callback
** 作為 callback URL
獲取 authorization URL, 從你的API提供者那里訪問 token URL脑奠、 client ID 和 client secret。你可以設(shè)置一些API需要的參數(shù)范圍來設(shè)置你再API中的訪問級別幅慌。
按下 Request Token 按鈕來啟動OAuth 2.0 flow宋欺。如果一切設(shè)置正確,你將會被重定向到Postman的服務(wù)器胰伍,他將獲取你的access token 并且發(fā)送到Postman的app齿诞,這樣就給Postman添加了token,給他設(shè)置一個name喇辽,讓你在以后可以快速的訪問
access token將被保存在本地掌挚,顯示在幫助列表。點擊token名稱菩咨,就可以把它添加到request中吠式。
Requests History
所有你使用Postman發(fā)送的request都將保存在左側(cè)邊欄的History中,他會幫助你通過嘗試不同的request來生成一個新的request抽米,而不必浪費你太多的時間特占。你可以通過單擊一個request的名字來加載他。
如果你創(chuàng)建了Postman的賬戶云茸,你的歷史數(shù)據(jù)將被同步到Postman的服務(wù)器是目,你可以在不同的平臺上使用Postman的時候同步你的數(shù)據(jù)。
使用tab來控制多個請求
很多用戶可能需要同時打開多個請求标捺,你發(fā)送的request將被保持在當(dāng)前的標(biāo)簽中懊纳,當(dāng)你切換到其他的標(biāo)簽時,不用擔(dān)心不能及時的接受response亡容。
使用攔截器來讀寫cookie
和Mac上的應(yīng)用不同嗤疯,Chrome的應(yīng)用本身并不支持獲取cookie,你可以使用攔截器來實現(xiàn)這個功能闺兢。打開攔截器的時候茂缚,你可以檢索特定域中的cookie,并發(fā)送包含cookie的request。
檢索cookie:
啟動攔截器
在測試部分脚囊,你可以使用responseCookies對象龟糕,他將返回一個cookie對象的數(shù)組。使用postman.getResponseCookie(cookieName)檢索cookie特定的名稱悔耘。他將返回一個單獨的cookie對象讲岁。
每個cookie都會包含下面這些屬性:
domain、 hostOnly淮逊、httpOnly催首、 name,扶踊、path泄鹏、 secure、 session秧耗、 storeId备籽、 value
設(shè)置cookie:
確保打開了攔截器
在headers部分包含cookie的頭
例如:Cookie: name=value; name2=value2
3.發(fā)送request,你設(shè)置的cookie將會和你的request一起發(fā)送分井。
捕捉request
現(xiàn)在Postman的攔截器可以從Chrome瀏覽器直接捕捉request车猬,并保存到歷史中。這意味著你可以及時的調(diào)試你的web應(yīng)用的api尺锚。這里不需要安裝或者配置代理珠闰,也不需要更改代碼。你可以根據(jù)基于URL的正則表達式過濾request瘫辩。
設(shè)置文件
你可以在Postman的設(shè)置中處理重定向
General
Trim keys and values in request body
如果你使用表單數(shù)據(jù)或者URL編碼模式來發(fā)送數(shù)據(jù)到服務(wù)器伏嗜,這項設(shè)為true后就引起所有參數(shù)修整。
Send no-cache header
你可能想要這項設(shè)置為true伐厌,這會確保你收到及時刷新的response承绸。
Send postman-token header
這主要是用來繞過Chrome的一個bug。如果一個XMLHttpRequest 處于等待狀態(tài)挣轨,另一個request 發(fā)送了同樣的參數(shù)军熏,Chrome將會為兩個request返回同樣的response。發(fā)送一個隨機的token將會避免這個問題卷扮。這同樣也會幫助你區(qū)分服務(wù)器端的request荡澎。
XHR Timeout(ms)
設(shè)置app等待響應(yīng)的時間,如果服務(wù)器沒有響應(yīng)的話晤锹。
Automatically follow redirects
防止我們的request返回一個300系列的response被自動重定向摩幔。你需要安裝攔截器來防止重定向。
Open history/collection requests in a new tab
設(shè)置為 true抖甘,當(dāng)你點擊左側(cè)邊欄歷史或者收藏里面的request時热鞍,會在一個新的tab中打開。
設(shè)置為false,則會在當(dāng)前tab中打開薇宠。
Response Font Size
設(shè)置response視圖中的字體大小
UI Size
設(shè)置UI的大小
Retain headers on clicking on links
如果你在response中你點擊了一個連接偷办,Postman會為這個URL創(chuàng)建一個新的GET request。如果你想要保留headers 在request之前設(shè)置他,就設(shè)置為true杭措。當(dāng)你主要方為一些受保護的資源的時候這個功能將會非常有用径密。
Language detection
如果你測試的API沒有在header中返回 Content-Type ,則response不會數(shù)據(jù)轉(zhuǎn)換成合適的格式废岂。你可以強制指定body的數(shù)據(jù)類型為JSON等格式。
Variable delimiter
變量是保存在雙花括號中的狱意,但是你可以改變成其他的字符湖苞,這項并不推薦設(shè)置除非你出現(xiàn)了問題需要更改這里。
Force windows line endings
Refer to this Github issue to know more
Instant dialog boxes
禁用 eye-candy 并立即顯示所有的對框框模式
Send anonymous usage data to Postman
來禁止匿名用戶使用數(shù)據(jù)的選項详囤,這是的Postman的保護性更好财骨。
Theme
選擇你喜歡的兩種主題風(fēng)格
Shortcuts
設(shè)置常用的快捷鍵
Data
導(dǎo)入導(dǎo)出我們設(shè)置的環(huán)境和數(shù)據(jù),這回覆蓋你現(xiàn)在的收藏和環(huán)境藏姐,所以小心使用隆箩。當(dāng)然你可以把你現(xiàn)在的環(huán)境先導(dǎo)出作為備份。
Add-ons
Interceptor
Postman proxy
Sync
如果你登錄了Postman羔杨,你的數(shù)據(jù)就會被同步更新到Postman的服務(wù)器上捌臊,者可以確保你再次使用Postman的時候可以同步自己的數(shù)據(jù)。
你可以強制同步或者禁用他兜材。
西邊人西說測試理澎,
頭條號(軟件測試資源站)作者,程序爬蟲獲取國內(nèi)外測試資源分享給自學(xué)愛好者护姆。
今日頭條關(guān)注后矾端,私信回復(fù)如下關(guān)鍵詞獲取大量打包資料下載。
測試資料卵皂、工具秩铆、Python、自動化測試報告灯变、梯子 等
QQ群:330374464