postman使用方法詳解

一扎运、postman概述

1.1定義

1出吹、postman:一款功能強(qiáng)大的網(wǎng)頁(yè)調(diào)試與發(fā)送網(wǎng)頁(yè)HTTP請(qǐng)求的工具有缆。

2晾剖、測(cè)試集合collection:collection可以看作是request的集合兰珍,也可以看作是testsuite侍郭,對(duì)接口測(cè)試進(jìn)行歸類,支持導(dǎo)入/導(dǎo)出掠河。

3亮元、測(cè)試沙箱:可以使用JS編寫(xiě)測(cè)試腳本募书,對(duì)request結(jié)果添加測(cè)試斷言等蝴猪。

4祟滴、環(huán)境與變量:支持設(shè)置運(yùn)行的環(huán)境與該環(huán)境下的一些變量窃判,也支持設(shè)置一些和環(huán)境無(wú)光的變量涣脚。

1.2下載與安裝


1炒考、下載地址:https://www.getpostman.com/downloads/

2鬓照、支持系統(tǒng):Mac全跨、Windows藕赞、Linux

3成肘、安裝步驟:雙擊EXE文件根據(jù)安裝提示進(jìn)行即可完成安裝。

二斧蜕、postman使用詳解

2.1?postman功能區(qū)域

postman主界面分為7個(gè)功能區(qū)域双霍,分別為:工具欄、快速功能圖標(biāo)區(qū)域惩激、快速檢索店煞、測(cè)試項(xiàng)目或測(cè)試集管理區(qū)域、環(huán)境變量配置與設(shè)置區(qū)域风钻、請(qǐng)求配置區(qū)域顷蟀、響應(yīng)展示區(qū)域。如下圖所示:

2.2 Request四要素


1骡技、URL

請(qǐng)求的地址鸣个,如果有參數(shù)會(huì)自動(dòng)解析顯示在params中羞反,如果手動(dòng)在params中添加參數(shù),也會(huì)自動(dòng)補(bǔ)充到URL中囤萤;

2昼窗、Method:

幾乎支持所有的method:GET、POST涛舍、PUT澄惊、PATCH、DELETE富雅、COPY......

3掸驱、Headers:

可以隨便添加、編輯header attribute没佑,打出首字母時(shí)毕贼,會(huì)很貼心的在下拉菜單中顯示標(biāo)準(zhǔn)的attribute;

4蛤奢、Request Body

(1)form-data:可以上傳一個(gè)文件作為key的value提交鬼癣,key—value不寫(xiě)入U(xiǎn)RL,而直接提交啤贩;

(2)x-www-form-urlencoded:key—value會(huì)寫(xiě)入U(xiǎn)RL

(3)Raw:可以包含任何東西待秃,都會(huì)隨時(shí)請(qǐng)求發(fā)送;

(4)Binary:image瓜晤、audio锥余、video、text files痢掠;

2.3?Response介紹


1驱犹、Body、Cookie足画、Header雄驹、Test四個(gè)模塊;

2淹辞、可復(fù)制医舆、保存、搜索response象缀;

3蔬将、Body提供三種視圖查看:

(1)Pretty:格式化后顯示,方便查看央星;

(2)Raw:最原始數(shù)據(jù)霞怀,即text格式;

(3)Preview:自動(dòng)解析HTML頁(yè)面并顯示莉给;

4毙石、status廉沮、time、size單獨(dú)顯示在旁邊徐矩,鼠標(biāo)懸浮可查看詳情滞时。

2.4環(huán)境與變量

1、當(dāng)測(cè)試存在多個(gè)環(huán)境時(shí)滤灯,可以先設(shè)置一個(gè)環(huán)境坪稽,然后在此環(huán)境下設(shè)置一系列變量。

2力喷、也可單獨(dú)設(shè)置一系列變量刽漂,不選擇環(huán)境(默認(rèn)環(huán)境)時(shí),這些變量生效弟孟,選擇環(huán)境后,環(huán)境變量覆蓋這些變量样悟。

3拂募、變量的格式為:{{XXX}}

4、環(huán)境與全局變量

1postman.setEnvironmentVariable(variableName, variableValue)

設(shè)置一個(gè)環(huán)境變量“variableName”窟她,并為其分配字符串“variableValue”陈症。您必須為此方法選擇一個(gè)環(huán)境才能工作。

注意:只能存儲(chǔ)字符串震糖。存儲(chǔ)其他類型的數(shù)據(jù)將導(dǎo)致意外的行為录肯。

(2)postman.getEnvironmentVariable(variableName)

返回環(huán)境變量“variableName”的值,用于預(yù)請(qǐng)求和測(cè)試腳本吊说。您必須為此方法選擇一個(gè)環(huán)境才能工作论咏。

(3)postman.setGlobalVariable(variableName, variableValue)

設(shè)置一個(gè)全局變量“variableName”,并為其分配字符串“variableValue”颁井。

?注意:只能存儲(chǔ)字符串厅贪。存儲(chǔ)其他類型的數(shù)據(jù)將導(dǎo)致意外的行為。

(4)postman.getGlobalVariable(variableName)

返回全局變量“variableName”的值雅宾,用于預(yù)請(qǐng)求和測(cè)試腳本养涮。

(5)postman.clearEnvironmentVariable(variableName)

清除名為“variableName”的環(huán)境變量。您必須為此方法選擇一個(gè)環(huán)境才能工作眉抬。

(6)postman.clearGlobalVariable(variableName)

清除名為“variableName”的全局變量贯吓。

(7)postman.clearEnvironmentVariables()

清除所有環(huán)境變量。您必須為此方法選擇一個(gè)環(huán)境才能工作蜀变。

(8)postman.clearGlobalVariables()

清除所有全局變量悄谐。

(9)Environment

當(dāng)前環(huán)境中的變量字典。使用environment["foo"]訪問(wèn)“foo”的環(huán)境變量的值昏苏。

注意:這只能用來(lái)讀取變量尊沸。使用setEnvironmentVariable()設(shè)置值威沫。

(10)Globals

全球變量字典使用globals["bar"]訪問(wèn)“欄中的”全局變量的值。

注意:這只能用來(lái)讀取變量洼专。使用setGlobalVariable()設(shè)置值

2.5測(cè)試沙箱

2.5.1測(cè)試沙箱描述

Postman測(cè)試沙箱是一個(gè)JavaScript執(zhí)行環(huán)境棒掠,可以通過(guò)JS腳本來(lái)編寫(xiě)pre-requist和測(cè)試腳本。

1屁商、Pre-request script:可以修改或設(shè)置一些默認(rèn)參數(shù)烟很,在request之前執(zhí)行;

2蜡镶、Tests使用語(yǔ)言Java script雾袱,用來(lái)建議response是否滿足要求;

3官还、由描述性的Key和布爾型結(jié)果組成芹橡,可以理解為斷言,并且可以創(chuàng)建多個(gè)Key望伦;

4林说、Snippets:可以助你快速添加代碼,其他代碼可參考官方文檔屯伞;

2.5.2 測(cè)試斷言

Postman斷言:在請(qǐng)求返回之后腿箩,運(yùn)行,并根據(jù)斷言的pass\fail情況體現(xiàn)在最終測(cè)試結(jié)果中劣摇。


1珠移、校驗(yàn)返回狀態(tài)是否正確:

pm.test("Status code is 200", function () {

????pm.response.to.have.status(200);

});

2、校驗(yàn)請(qǐng)求響應(yīng)時(shí)間是否低于某個(gè)值:

pm.test("Response time is less than 200ms", function () {

????pm.expect(pm.response.responseTime).to.be.below(200);

});

3末融、校驗(yàn)?zāi)硞€(gè)字段的返回值是否等于指定的值:

pm.test("Your test name", function () {

????var jsonData = pm.response.json();

????pm.expect(jsonData.value).to.eql(100);

});

pm.test("Your test name", function () {

????var jsonData = pm.response.json();

????console.log(jsonData.data);

????console.log(jsonData.data[0]);

????console.log(jsonData.data[0].value);

????pm.expect(jsonData.data[0].value).to.eql(100);

});

4钧惧、校驗(yàn)?zāi)硞€(gè)字段的返回值中是否包含指定的值:

pm.test("Your test name", function () {

????var jsonData = pm.response.json();

????pm.expect(jsonData.value).to.include(100);

});

5、用for循環(huán)的方式校驗(yàn)一組數(shù)據(jù)中某個(gè)字段的返回值是否等于指定的值滑潘,并打印出返回值:

pm.test("Your test name", function () {

????var jsonData = pm.response.json();

????for(var i=0;i<1;i++){

????}

????pm.expect(jsonData.value).to.eql(100);

});

2.6 Postman Console

1垢乙、定義:postman在腳本使用變量時(shí),通過(guò)console控制臺(tái)语卤,查看接口測(cè)試log追逮。

2、操作步驟:

(1)Menu --> View ---> Show Postman Console粹舵,打開(kāi)Postman Console的頁(yè)面钮孵;

(2)在Request中的Pre-request Script或者Tests里插入腳本console.log("variables")。當(dāng)你發(fā)送請(qǐng)求時(shí)眼滤,此腳本將會(huì)執(zhí)行巴席,將參數(shù)對(duì)應(yīng)的值打印到Postman Console中;

(3)查看運(yùn)行當(dāng)前接口在Console中打印的記錄诅需。

2.7多接口測(cè)試管理

2.7.1 collection描述

1漾唉、如果每個(gè)request看作是testcase荧库,那么collection就是testsuite;

2赵刑、collection可以一鍵運(yùn)行所有的request分衫;

3、collection可以使用csv或者json文件導(dǎo)入變量般此,官網(wǎng)提供模板文件蚪战;

4、引用變量語(yǔ)法有2個(gè):data.username ?或者data.['username']


2.7.2 操作步驟


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末铐懊,一起剝皮案震驚了整個(gè)濱河市邀桑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌科乎,老刑警劉巖壁畸,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異喜喂,居然都是意外死亡瓤摧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)玉吁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人腻异,你說(shuō)我怎么就攤上這事进副。” “怎么了悔常?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵影斑,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我机打,道長(zhǎng)矫户,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任残邀,我火速辦了婚禮皆辽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芥挣。我一直安慰自己驱闷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布空免。 她就那樣靜靜地躺著空另,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蹋砚。 梳的紋絲不亂的頭發(fā)上扼菠,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天摄杂,我揣著相機(jī)與錄音,去河邊找鬼循榆。 笑死析恢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的冯痢。 我是一名探鬼主播氮昧,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浦楣!你這毒婦竟也來(lái)了袖肥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤振劳,失蹤者是張志新(化名)和其女友劉穎椎组,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體历恐,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寸癌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弱贼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒸苇。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖吮旅,靈堂內(nèi)的尸體忽然破棺而出溪烤,到底是詐尸還是另有隱情,我是刑警寧澤庇勃,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布檬嘀,位于F島的核電站,受9級(jí)特大地震影響责嚷,放射性物質(zhì)發(fā)生泄漏鸳兽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一罕拂、第九天 我趴在偏房一處隱蔽的房頂上張望揍异。 院中可真熱鬧,春花似錦聂受、人聲如沸蒿秦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)棍鳖。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渡处,已是汗流浹背镜悉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留医瘫,地道東北人侣肄。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像醇份,于是被迫代替她去往敵國(guó)和親稼锅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容