postman的使用

內(nèi)容概要:1、環(huán)境變量、全局變量 2、腳本 3、數(shù)據(jù)池 4、mock server

一、主界面


主界面

1、History:查看看請(qǐng)求的歷史記錄

? ? Collections:創(chuàng)建的收藏,收藏可以把請(qǐng)求的URL地址、方法、參數(shù)保存下來(lái)。

2、request builder:請(qǐng)求構(gòu)建器,可以快速構(gòu)建出我們想要的request。

3、reponse:body響應(yīng)內(nèi)容,有三種查看方式

????????pretty:格式化json或xml形式的響應(yīng)內(nèi)容

????????raw:text文本

????????perview:渲染后的響應(yīng)內(nèi)容

右上角也包含了響應(yīng)狀態(tài)碼、響應(yīng)時(shí)間及響應(yīng)大小。


二、Environment 和 Globals

在request左上角可以配置、查看環(huán)境變量和全局變量


查看environment和globals

配置好的環(huán)境變量和全局變量,在請(qǐng)求地址、請(qǐng)求體和腳本中都可以引用。例:在接口地址中引用環(huán)境變量,實(shí)現(xiàn)在測(cè)試環(huán)境和正式環(huán)境間的快速切換,不需要再重新構(gòu)建請(qǐng)求。


引用環(huán)境變量和全局變量


三、腳本

postman集成了一個(gè)基于nodejs的script引擎,借助它,可以為requests和collections添加動(dòng)態(tài)的行為。

這樣就可以在編寫(xiě)test suite時(shí),構(gòu)建可以包含動(dòng)態(tài)參數(shù)的request,在request之間傳遞數(shù)據(jù)等等,實(shí)現(xiàn)一定程度上的自動(dòng)化測(cè)試。

你可以在流程中的兩個(gè)時(shí)間段中添加要執(zhí)行的JavaScript代碼:

1. 在發(fā)送request之前,編寫(xiě)pre-request script,定制化request。

2. 收到response之后,用test script,處理返回的數(shù)據(jù)。

流程如下:


流程圖

pre-request script就是一段在發(fā)送request之前執(zhí)行的腳本,通過(guò)它再配合上對(duì)環(huán)境變量的使用,可以實(shí)現(xiàn)變化的url參數(shù)、變化的請(qǐng)求body。

舉個(gè)栗子:

我想每次使用不同的insuPeriod來(lái)請(qǐng)求這個(gè)接口。

先配置了一個(gè)叫insuPeriod初始值為0的全局變量,并在我的請(qǐng)求體中使用雙花括號(hào)引用了這個(gè)變量。


body引用變量

然后在Pre-request Script里面寫(xiě)了個(gè)腳本,使insuPeriod自增。


pre-request script

這時(shí)候我們每發(fā)送一次請(qǐng)求insuPeriod都會(huì)+1。

但是這時(shí)還需要靠肉眼去看response的內(nèi)容來(lái)判斷結(jié)果是否符合預(yù)期。

所以我們寫(xiě)一個(gè)test來(lái)在每一次請(qǐng)求結(jié)束后自動(dòng)去判斷,下面這一段代碼是來(lái)判斷response body的code值是否等于"SUCCESS",若不等于,則不通過(guò)測(cè)試。(在test中有postman準(zhǔn)備好的code snippets 選擇即可直接使用)


test script

可我還是不滿(mǎn)足,因?yàn)楝F(xiàn)在還是需要我每次去點(diǎn)擊發(fā)送請(qǐng)求,可不可以讓它自動(dòng)執(zhí)行多次請(qǐng)求并斷言呢?

這時(shí)就需要用到collection runner中的迭代了,在collection runner中我們可以設(shè)置運(yùn)行環(huán)境、迭代次數(shù)、每次運(yùn)行的間隔時(shí)間,還可以上傳本地的數(shù)據(jù)文件以供使用(后話(huà))。

這里我設(shè)置了12次迭代,然后開(kāi)始執(zhí)行。


執(zhí)行完畢后postman會(huì)生成Run Results 和 Run Summary,在這兩個(gè)頁(yè)面可以查看每次請(qǐng)求的結(jié)果、test腳本執(zhí)行的結(jié)果、也可以查看每次運(yùn)行的詳細(xì)信息,便于定位問(wèn)題,從下圖中可以看出第二次的提交的requst body中的insuPeriod值為2,說(shuō)明我們的Pre-request Scrip起了作用。


run results


run summary

四、數(shù)據(jù)池

在postman的collection runner中可以上傳數(shù)據(jù)文件,使用這個(gè)數(shù)據(jù)文件可以是我們的請(qǐng)求和腳本參數(shù)化,使每次用例的迭代的數(shù)據(jù)都不同。

數(shù)據(jù)文件可以是cvs或json,在csv文件中,文件的第一行為參數(shù)名,下面是參數(shù)對(duì)應(yīng)的值,需注意數(shù)據(jù)的條數(shù)要與迭代的次數(shù)相同。

圖中為兩個(gè)參數(shù)設(shè)置了三個(gè)值


csv文件

在請(qǐng)求中引用參數(shù),每次迭代都會(huì)重新獲取數(shù)據(jù)池中的值。


在請(qǐng)求體中引用參數(shù)

同樣,在腳本中也可以引用數(shù)據(jù)池中的參數(shù),可以用data.test或data['test']來(lái)獲取


在腳本中引用參數(shù)值

在collection runner中上傳數(shù)據(jù)文件生成數(shù)據(jù)池。


上傳數(shù)據(jù)文件

此時(shí)點(diǎn)擊開(kāi)始運(yùn)行,每次請(qǐng)求都會(huì)一次請(qǐng)求上傳的數(shù)據(jù)池中的數(shù)據(jù),實(shí)現(xiàn)了collection運(yùn)行的參數(shù)化,而不用每次運(yùn)行都去手動(dòng)修改參數(shù)值,相當(dāng)于一個(gè)簡(jiǎn)單的自動(dòng)化測(cè)試,適用于回歸測(cè)試。


五、mock server

mock測(cè)試:對(duì)于某些不容易構(gòu)造或者不容易獲取的對(duì)象,用一個(gè)虛擬的對(duì)象來(lái)創(chuàng)建以便測(cè)試的測(cè)試方法,可以不后端返回?cái)?shù)據(jù)。

我們的業(yè)務(wù)也有涉及到其他公司提供接口的情況,會(huì)使測(cè)試進(jìn)度卡在某個(gè)節(jié)點(diǎn)上,可以用postman搭建臨時(shí)的mock server來(lái)模擬這類(lèi)接口的服務(wù),進(jìn)行測(cè)試,下面演示一下如何用postman創(chuàng)建一個(gè)mock。

1、new一個(gè)mock server,填寫(xiě)一個(gè)api,這里可以先不詳細(xì)寫(xiě),后面再對(duì)request path 和responsebody做二次編輯。


新建mock server

2、填寫(xiě)mock-server名稱(chēng),如果需要使用環(huán)境變量,可下拉選擇。創(chuàng)建mock-server。


填寫(xiě)mock server 名稱(chēng)

3、生成mock url


生成mock url

4、創(chuàng)建mock時(shí)已經(jīng)生成了一個(gè)為testmock的路徑,這時(shí)選擇在這個(gè)mock-server的環(huán)境下,點(diǎn)擊send發(fā)送請(qǐng)求就可以獲取到我們預(yù)先設(shè)定好的返回值了。

點(diǎn)擊右上角的Add Example,可以再添加其他的請(qǐng)求和返回值。


編輯example
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,525評(píng)論 19 139
  • 基本介紹(簡(jiǎn)單記錄,有不正確的地方請(qǐng)指出) 下載地址:https://www.getpostman.com/app...
    安之若素_Lei閱讀 595評(píng)論 0 0
  • 原文P19,取自第一章《高手的暗箱》: 留心觀察,你會(huì)發(fā)現(xiàn)個(gè)人成長(zhǎng)也是一個(gè)“漸進(jìn)—躍遷”的過(guò)程。 持續(xù)的學(xué)習(xí)、閱讀...
    云飛海閱讀 457評(píng)論 0 0
  • 我是日記星球212號(hào)星寶寶萬(wàn)兒,我在參加日記星球第十二期21天蛻變之旅,這是我在日記星球?qū)懙牡?49篇日記。 又到...
    萬(wàn)兒閱讀 339評(píng)論 2 4
  • 文/雨芷 迢迢牽牛星 迢迢牽牛星,皎皎河漢女。纖纖擢素手,札札弄機(jī)杼。終日不成章,泣涕零如雨;河漢清且淺,相去復(fù)幾...
    雨芷閱讀 2,837評(píng)論 0 0

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