如何使用postman?


1.背景介紹

當(dāng)開發(fā)人員需要調(diào)試一個(gè)網(wǎng)頁(yè)是否運(yùn)行正常,并不是簡(jiǎn)簡(jiǎn)單單地調(diào)試網(wǎng)頁(yè)的HTML、CSS、腳本等信息是否運(yùn)行正常,更加重要的是網(wǎng)頁(yè)能夠正確是處理各種HTTP請(qǐng)求,畢竟網(wǎng)頁(yè)的HTTP請(qǐng)求是網(wǎng)站與用戶之間進(jìn)行交互的非常重要的一種方式,在動(dòng)態(tài)網(wǎng)站中,用戶的大部分?jǐn)?shù)據(jù)都需要通過HTTP請(qǐng)求來與服務(wù)器進(jìn)行交互。Postman插件就充當(dāng)著這種交互方式的“橋梁”。


2.知識(shí)剖析

Postman 是一個(gè)非常棒的Chrome擴(kuò)展,提供功能強(qiáng)大的API & HTTP 請(qǐng)求調(diào)試。

它能夠發(fā)送任何類型的HTTP requests (GET, HEAD, POST, PUT..),附帶任何數(shù)量的參數(shù)+ headers;

支持不同的認(rèn)證機(jī)制(basic, digest, OAuth),接收到的響應(yīng)語法高亮(HTML,JSON或XML);

Postman 能夠保留了歷史的請(qǐng)求,這樣我們就可以很容易地重新發(fā)送請(qǐng)求,有一個(gè)“集合”功能,用于存儲(chǔ)所有請(qǐng)求相同的API/域。

1.下載安裝postman,postman安裝方法教程

2.有時(shí)需要在不同的環(huán)境下跑相同的測(cè)試,此時(shí)可以通過設(shè)置環(huán)境變量來動(dòng)態(tài)選擇。點(diǎn)擊右上角的設(shè)置按鈕:Manage Environments,填寫該環(huán)境的名稱:如測(cè)試環(huán)境,并在key和value中填寫需要的鍵值,創(chuàng)建好所有環(huán)境后,在右上角下拉列表選擇需要的環(huán)境就好


postman界面介紹:


1、postman調(diào)試的歷史記錄,保留了每次測(cè)試時(shí)的請(qǐng)求參數(shù);

2、在Postman中,Collection類似文件夾,可以把同一個(gè)項(xiàng)目的請(qǐng)求放在一個(gè)Collection里方便管理和分享,Collection里面也可以再建文件夾;

3、設(shè)置environment variables(環(huán)境變量)和global variables(全局變量),點(diǎn)擊右邊的眼睛可以快速查看當(dāng)前的變量;

4、選擇HTTP 請(qǐng)求類型的地方,各種常見的不常見的非常全;

5、請(qǐng)求URL,兩層大括號(hào)表示這是一個(gè)環(huán)境變量,可以在3的位置選擇當(dāng)前的environment,環(huán)境變量就會(huì)被替換成該environment里variable的值;

6、點(diǎn)擊可以設(shè)置URL參數(shù)的key和value;

7、點(diǎn)擊發(fā)送請(qǐng)求;

8、點(diǎn)擊保存請(qǐng)求到Collection,如果要另存為的話,可以點(diǎn)擊右邊的下箭頭;

9、設(shè)置鑒權(quán)參數(shù),可以用OAuth之類的;

10、自定義HTTP Header;

11、設(shè)置Request body;

12、顯示發(fā)起請(qǐng)求之前執(zhí)行的腳本;

13、在收到response之后執(zhí)行的測(cè)試;

14、返回?cái)?shù)據(jù)的格式,Pretty可以看到格式化后的JSON,Raw就是未經(jīng)處理的數(shù)據(jù),Preview可以預(yù)覽HTML頁(yè)面。


3.常見問題

post請(qǐng)求里面,有多種傳參方式:

1.form-data

這種方式需要在header里面聲明Content-Type,然后再添加表單內(nèi)容,另外需要注意的是,有文件上傳操作的時(shí)候,是可以使用表單上傳的,參數(shù)里面是可以選擇文件的。后端獲取的時(shí)候要注意,有些框架對(duì)同時(shí)存在參數(shù)和文件的請(qǐng)求獲取順序是有要求的,必須先獲取文件再獲取其他參數(shù),不然會(huì)報(bào)錯(cuò)。

2.x-www-form-urlencoded

同樣的需要在header里面聲明Content-Type,x-www-form-urlencoded類型的數(shù)據(jù)會(huì)將表單轉(zhuǎn)換成鍵值對(duì)。

3.raw

可以上傳json/javascript等格式的數(shù)據(jù),需要在header里聲明不同的Content-Type,以前遇到過傳對(duì)象時(shí),使用form-data無法完成,就手動(dòng)用raw拼成了json對(duì)象


4.編碼實(shí)戰(zhàn)

POSTMAN的斷言

1.判斷HTTP返回狀態(tài)碼為200 2.判斷響應(yīng)正文中是否包含:"statusCode":200 3. 解析響應(yīng)正文,并判斷statusCode的值是200,message的值是”Success.在SNIPPETS中,往下拉,有一項(xiàng)”Status code:Code is 200”,這個(gè)就是為場(chǎng)景中的第一條準(zhǔn)備的,就是判斷HTTP返回狀態(tài)碼是否為200。點(diǎn)擊這一項(xiàng),可以看到在其左邊出現(xiàn)了:


其中tests["Status code is 200"]中的tests是一個(gè)內(nèi)置對(duì)象,tests["Status code is 200"]是指為這個(gè)斷言起個(gè)名稱叫”Status code is 200”,這個(gè)名稱可以自行修改。responseCode.code === 200中的responseCode是內(nèi)置對(duì)象,responseCode對(duì)象中有個(gè)屬性是code,是指HTTP狀態(tài)碼的code,判斷code是否為200.綜合起來,這句代碼的意思是:名稱為”Status code is 200”的斷言中,判斷responseCode對(duì)象的code屬性值是否為200.同樣在SNIPPETS中,找到一項(xiàng)”Response body:Contains string”,點(diǎn)擊后,在其左邊出現(xiàn)了:


我們需要修改一下:


在第三條,很顯然我們需要解析JSON串,所以,在SNIPPETS中找到”Response body:JSON value check”并點(diǎn)擊,在其左邊出現(xiàn)了:


這里面其實(shí)是JS代碼,jsonData變量其實(shí)是解析完JSON后的對(duì)象,在JS中,一個(gè)JSON對(duì)象獲取其屬性的值,直接是用jsonData.value,于是,我們把代碼給修改一下:


這樣一來,我們可以看到一共有tests的斷言4個(gè),點(diǎn)擊Send,發(fā)送請(qǐng)求,在響應(yīng)區(qū)內(nèi)可以看到如下圖:


PPT點(diǎn)擊

視頻點(diǎn)擊


參考文獻(xiàn)

參考一:API自動(dòng)化測(cè)試?yán)?postman

參考二:Postman安裝及使用入門教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評(píng)論 19 139
  • 如何使用postman? 1.背景介紹 當(dāng)開發(fā)人員需要調(diào)試一個(gè)網(wǎng)頁(yè)是否運(yùn)行正常,并不是簡(jiǎn)簡(jiǎn)單單地調(diào)試網(wǎng)頁(yè)的HTML...
    小翼_b998閱讀 685評(píng)論 0 0
  • 前言: Postman是一款功能強(qiáng)大的網(wǎng)頁(yè)調(diào)試與發(fā)送網(wǎng)頁(yè)HTTP請(qǐng)求的Chrome插件。 一、get請(qǐng)求 GET請(qǐng)...
    小喜_ww閱讀 24,092評(píng)論 2 43
  • 第九章 一個(gè)心理治療師對(duì)美好生活的見解——充分發(fā)揮人的機(jī)能 大約在1952年或者1953年的冬天,我在南方度假...
    暖陽(yáng)_1332閱讀 533評(píng)論 0 1
  • 我希望 你還是你,單純善良 不受世俗影響 我希望 你還是你,笑聲朗朗 無懼世事滄桑 我希望 你還是你,依舊輕狂 不...
    商南蕭閱讀 211評(píng)論 0 2

友情鏈接更多精彩內(nèi)容