Postman學(xué)習(xí)總結(jié)

Lesson1 Postman安裝與基本使用

postman工作原理:

Postman下載安裝:

發(fā)起第一個接口請求:

我們使用的是這個網(wǎng)站給我們提供的一個查詢天氣的接口。

拿到一個接口以后www.tianqiapi.com,首先要獲取一下接口信息,那么就需要去看一下接口文檔踱蠢。

[if !vml]

[endif]

get:http請求方法鞋诗,后面是跟著的url。

在postman中選擇好請求方法阵谚,將url粘貼過來钞翔。

然后查看參數(shù)內(nèi)容严卖,在參數(shù)中,找到必填參數(shù)布轿,填寫到params中哮笆。

填寫好之后就可以進行send来颤,返回的信息就是這個接口發(fā)送請求給服務(wù)器,服務(wù)器返回回來的內(nèi)容稠肘。

除了必填的參數(shù)福铅,還有一些非必填的參數(shù),也可以有選擇性的進行填寫项阴。


Lesson2 Get請求實戰(zhàn)一接口測試流程

Get與Post區(qū)別:

[if !supportLists]1.??? [endif]Get比Post更不安全滑黔,因為參數(shù)直接暴露在url上, 所以不能用來傳遞敏感信息环揽。

[if !supportLists]2.??? [endif]Get參數(shù)通過url傳遞略荡,Post放在Request Body中。

詳解:

3. 場景:連接wlan薯演,需要登錄之后才能進行上網(wǎng)撞芍,但是認(rèn)證頁面打開非常慢秧了,如果打開頁面中的廣告再打開認(rèn)證頁面就會變得很快跨扮。→get比post要快

[if !supportLists]4.??? [endif]場景:用貨車?yán)貉檎保瑢⒚悍旁谪涇図斏蟝et衡创;用貨車?yán)海瑢⒚悍旁谪涇嚴(yán)锩鎝ost晶通。

????????? 但是若運輸?shù)氖瞧土猓筒荒芊旁陧斏狭耍荒苁褂胮ost狮辽∫灰玻→post更安全,并且攜帶敏感信息喉脖∫叮→但是get同樣可以將貨物放在里面,post同樣可以將貨物放在上面树叽。

5. get只有一個數(shù)據(jù)包舆蝴,post有兩個數(shù)據(jù)包。get是將header和數(shù)據(jù)一起發(fā)過來题诵,post是先發(fā)一次header洁仗,再發(fā)一次數(shù)據(jù)。

接口測試一般在功能測試之前性锭,開展集成測試的時候就開始了赠潦。

拿到接口文檔后,就可以針對文檔中要驗證的內(nèi)容進行用例設(shè)計草冈,調(diào)用接口進行驗證就可以了祭椰。

實例:百度進行ip地址的搜索臭家,輸入一個ip地址,點擊查詢進行查詢方淤。

1.獲取接口信息:

檢查進行抓包钉赁,抓到這個請求的url,填入postman進行接口請求携茂。

2.接口測試用例設(shè)計:

一般是針對postman中的參數(shù)進行用例編寫你踩。

更改某個參數(shù)或者去掉某個參數(shù),進行send傳值讳苦。還可以利用這個查詢別人的url中哪些參數(shù)是必填的带膜。

3.4.通過postman就可以完成。

設(shè)置請求頭域鸳谜,根據(jù)接口文檔填寫

接口響應(yīng):檢查network中的response膝藕,和從postman拿到的內(nèi)容是一樣的

驗證body內(nèi)容,檢查cookie是否正確咐扭。

請求需要關(guān)注的:請求方法芭挽,url,頭域信息(referer表示url的來源信息)蝗肪,請求參數(shù)

響應(yīng)需要關(guān)注的:響應(yīng)碼袜爪,響應(yīng)頭,響應(yīng)正文

Lesson3 Get請求實戰(zhàn)二頭域操作

url地址薛闪,http操作方法辛馆,請求頭域,請求操作

有些接口進行測試時豁延,必須設(shè)置頭域昙篙。

抓到的接口,XHR:XMLRequest

referer頭域一般指明這個請求的來源诱咏,是從哪來的苔可,加上referer防止倒鏈,爬蟲胰苏。

如果填寫好了url發(fā)送硕蛹,返回有錯誤的話,那么可以檢查頭域是否缺少了需要填的信息硕并。找到接口文檔法焰,查看這個接口必填信息有哪些。也可以通過抓包查看頭域倔毙,嘗試看下哪個參數(shù)是必填的埃仪。


Lesson4 Post請求實戰(zhàn)-文件上傳與json請求

一般情況下,很多登錄請求都是post請求陕赃。

post請求除了要填寫url卵蛉,自動生成參數(shù)颁股,還需要填寫body。

這時需要特別注意請求參數(shù)在body中的格式以及headers中的Content-Type中要填寫的東西傻丝。

X-www-form-urlencoded:

一個登陸接口:

[if !vml]

[endif]

這個登陸接口在“檢查”時不會在response中展示返回信息甘有,只會登陸成功,使用postman可以看到返回信息葡缰,message使用Unicode轉(zhuǎn)碼查看亏掀。

form-data:

一個上傳文件的接口:

在body的填寫中,選擇form-data泛释,需要選擇file選項滤愕,進行本地圖片的上傳。

Form-data中怜校,file為二進制binary圖片格式间影,其他還有很多別的信息,因為我們在上傳圖片時茄茁,只選擇了圖片魂贬,所以在body的填寫中,添加圖片名稱即可胰丁。

如果在body中選擇form-data了随橘,那么在headers中content-type喂分,就會默認(rèn)選擇multipart/form-data锦庸。

[if !vml]

[endif]

如果選擇raw,一般在text選項中和www蒲祈、或者form-data是一樣的甘萧。可以進行content-type的編輯梆掸,直接按照請求體的格式進行發(fā)送扬卷。

例子:

申請用友云新發(fā)證券查詢接口:https://api.yonyoucloud.com/apilink/tempServicePages/b1277b7e-b1e3-445c-818a-cdcd457f298c_true.html

購買之后,就可以利用這個接口進行測試酸钦,用友云新發(fā)證券查詢接口:

接口文檔中有headers的設(shè)置怪得,和一些參數(shù)的設(shè)置。參數(shù)不是必填的卑硫,就可以先不填就進行一次請求徒恋,看一下結(jié)果是啥。

請求的結(jié)果是成功的欢伏。

[if !vml]

[endif]

參數(shù)的設(shè)置是請求體body的內(nèi)容入挣,所以body中選擇x-www,在header中會自動加上content-type為x-www硝拧,然后再加上請求參數(shù)中的設(shè)置径筏。

我們在body中加上一個size參數(shù)葛假,將其設(shè)置為5,那么發(fā)送接口后滋恬,只展示五條聊训。

其實在選擇x-www時,再加上body恢氯,相當(dāng)于在url后面直接加上了魔眨?size=5,但是現(xiàn)在在url中不展示酿雪,我們可以手動加上遏暴?size=5,再請求一次指黎,看結(jié)果是否一致朋凉。

https://api.yonyoucloud.com/apis/pte/New_Issue_Bond_Information/New_Issue_Bond_Information?size=5

通過content-type中進行判斷,在request headers中醋安,content-type如果是application/json杂彭,那么在post請求的body中選擇raw-json,將請求體輸入其中吓揪,發(fā)包就可以了亲怠。

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

進行參數(shù)設(shè)置,如何對接口返回信息進行校驗柠辞。

環(huán)境變量(add):

設(shè)置一組變量团秽,在某一個環(huán)境中進行使用。

全局變量(Global):

設(shè)置單個變量叭首,可以跨接口使用习勤。

全局變量(Global):

我們在使用天氣的api時,輸入城市名進行發(fā)包焙格,就可以獲取到這個城市的天氣情況图毕。

現(xiàn)在我們想將其保存為一個接口,不需要每次修改url眷唉,只要輸入城市予颤,就可以查詢。

在city參數(shù)中輸入{{冬阳,會展示幾個設(shè)置好的隨機數(shù)蛤虐,前面帶上G,G代表Global摩泪,全局變量笆焰。可以根據(jù)本身的英文來判斷意思见坑,比如嚷掠,guid捏检,randomID,randomPhoneNumber等等不皆。

我們這里需要自己配置的話贯城,就設(shè)置一個自己想要的名字,比如這里設(shè)置成霹娄,{{cityname}}能犯,但是此時這個變量還沒有進行設(shè)置。

我們在這里設(shè)置一個全局變量犬耻,命名為cityname踩晶,默認(rèn)值就隨便設(shè)置一個城市,保存好這個全局變量之后枕磁,再到postman中查看這個接口的變量時渡蜻,就可以看到在cityname上有了一個G的標(biāo)識,代表現(xiàn)在這個變量已經(jīng)是個全局變量了计济,進行一次發(fā)包茸苇,得到的結(jié)果就是默認(rèn)情況下海口的天氣沦寂。

環(huán)境變量(add):

比如在百度查詢ip接口設(shè)置環(huán)境變量学密,

[if !vml]

[endif]

命好名字后,就能在環(huán)境變量中看到自己命名的一組變量传藏。

點擊進入腻暮,可以添加其他的變量,同時保存在這一組環(huán)境變量中漩氨。

設(shè)置好了環(huán)境變量西壮,必須在右上角選擇響應(yīng)對應(yīng)環(huán)境遗增,在輸入{{時才可以展示出自己設(shè)置好的這組變量叫惊,不然就只展示全局變量。

但是如果在右上角選擇了環(huán)境變量做修,在輸入欄寫入全局變量時霍狰,取值仍是環(huán)境變量,也就是說環(huán)境變量的優(yōu)先級大于全局變量(overdriven)饰及。

小眼睛快讀:

?Lesson6 測試沙箱與測試斷言

發(fā)送請求之后蔗坯,對返回信息進行校驗的過程,就是斷言燎含,驗證返回結(jié)果是否符合預(yù)期宾濒。

Postman測試沙箱其實是結(jié)合JS腳本以及自己封裝的一些功能,完成測試中的功能屏箍,在請求發(fā)起前后實現(xiàn)部分測試操作绘梦。

Pre-request:

在發(fā)起請求之前橘忱,

var表示variable,表示用一個變量city來接收從環(huán)境變量中得到的這個信息

使用postman自帶的控制臺console卸奉,將變量輸出到postman中的控制臺上钝诚,在控制臺上就可以看到這一次請求的請求和返回。

在進行接口測試之前榄棵,要選擇相應(yīng)的環(huán)境凝颇。

使用Tests自動進行接口的斷言:

Tests是得到了返回信息之后才進行操作的,一般使用的是send a request之后的這些疹鳄。

比如:

[if !supportLists]1.??? [endif]狀態(tài)碼200

可以利用這個模板進行校驗拧略,function()就是我們要進行的斷言。

[if !supportLists]2.?????? [endif]使用返回體模板瘪弓,返回體中包含某個string字段

這里的文本中格式必須是raw的格式辑鲤,沒有經(jīng)過轉(zhuǎn)譯的Unicode,例如\ “”等符號杠茬,前面去添加\月褥,防止被當(dāng)成JS中的特殊字符。

[if !supportLists]3.??? [endif]驗證某個字段中是否包含某個文本信息瓢喉,json文本

需要將jsonData換成我們需要校驗的變量宁赤,eql換成預(yù)期的結(jié)果,注意這里要加雙引號栓票。

舉例:

百度ip查詢接口:

[if !supportLists]1.??? [endif]寫tests之前先看一下正確返回的信息决左,分析一下json的格式

如果要驗證status,它是在json第一層級里走贪;

如果驗證location佛猛,它是在data[]中,并且在[]的第一層級中坠狡。

我們校驗兩個继找,使用console進行調(diào)試:

針對有多層數(shù)據(jù)的,我們一層一層進行校驗逃沿,“”+是注釋婴渡。

如果想其中加上循環(huán),我們也可以書寫一個循環(huán)加入凯亮,但是要調(diào)節(jié)其中的變量

Lesson7 多接口測試管理-測試集與數(shù)據(jù)驅(qū)動

多接口管理:

點擊小三角打開run边臼,或者直接點擊runner,就可以運行我們的測試集假消。

需要注意柠并,如果這個collection的接口是在不同環(huán)境中運行的,那么需要將這幾個環(huán)境中的變量放置在一個環(huán)境中,再進行運行臼予。

執(zhí)行之前需要選擇的就是環(huán)境(Environment)亿傅、次數(shù)(Iteration)、每次完成后需要等待多久(Delay)再進行下一次接口請求瘟栖、是否記錄所有請求的日志(Log Responses)葵擎。

點擊某個接口就可以看到具體日志,請求返回信息等半哟。

我們想利用自己創(chuàng)建的文件去一條一條執(zhí)行用例酬滤,那么

Pm.expect(jsonData.value).to.eql(data.cityname)

這句話的意思是我們期望jsonData.value等于data.cityname。

jsonData是我們返回體json中的數(shù)據(jù)寓涨,用.連接我們想得到的數(shù)據(jù)盯串,data.cityname是我們數(shù)據(jù)文件中的數(shù)據(jù),用.表示數(shù)據(jù)文件中具體的某個字段戒良,即用例文件中的變量名稱体捏。

postman中,文件導(dǎo)入支持的是json和CSV兩種格式糯崎,我們將Excel文件轉(zhuǎn)換成CSV文件几缭,再在postman中進行導(dǎo)入。

上傳好CSV文件后沃呢,先點擊preview看下是都是亂碼年栓,此時表示文件的編碼格式不正確,利用ue將編碼格式換成utf-8無bom薄霜,就可以看到了某抓。

運行中出錯的地方:

[if !supportLists]1.??? [endif]一定要保證畫框的地方寫的變量是正確的,并且和我們數(shù)據(jù)文件中的變量名稱保證為完全一樣惰瓜。

[if !supportLists]2.?????? [endif]數(shù)據(jù)文件一定要是CSV文件否副,并且首先要預(yù)覽一下不是亂碼

[if !supportLists]3.?????? [endif]必填的參數(shù),如果在用例文件中沒有涉及崎坊,一定要改成固定的值备禀,不然接口會嘗試去調(diào)用數(shù)據(jù)文件中對應(yīng)變量名稱的變量,找不到從而報錯流强。


Lesson8 電商網(wǎng)站cookie操作

通過抓包痹届,抓到登陸查看購物車的接口,我們查看到購物車中有一個“零食大禮包”打月。

得到一個接口后,首先查看四要素蚕捉,url地址奏篙,請求方式,請求參數(shù),頭域秘通。

我們將所有參數(shù)填入为严,此時在頭域中不攜帶cookie,購物車中是沒有任何商品的肺稀。

[if !vml]

[endif]

[if !vml]

[endif]

這時雖然產(chǎn)生了cookie第股,但是沒有攜帶信息。

向cookie中添加信息:

[if !supportLists]1.??? [endif]直接在抓包過程中话原,抓到登陸時攜帶的cookie夕吻,填入請求頭域中

[if !supportLists]2.??? [endif]手動添加

[if !vml]

[endif]

先將請求的域名填入,再增加cookie繁仁,增加cookie的時候一般只要拿到sessionID就可以了涉馅,這就要比我們直接在抓包過程中抓到的所有cookie填入要便捷。

斷言:注意前后置順序

[if !vml]

[endif]

[if !vml]

[endif]

[if !vml]

[endif]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末黄虱,一起剝皮案震驚了整個濱河市稚矿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捻浦,老刑警劉巖晤揣,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異朱灿,居然都是意外死亡碉渡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門母剥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滞诺,“玉大人,你說我怎么就攤上這事环疼∠芭” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵炫隶,是天一觀的道長淋叶。 經(jīng)常有香客問我,道長伪阶,這世上最難降的妖魔是什么煞檩? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮栅贴,結(jié)果婚禮上斟湃,老公的妹妹穿的比我還像新娘。我一直安慰自己檐薯,他們只是感情好凝赛,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布注暗。 她就那樣靜靜地躺著,像睡著了一般墓猎。 火紅的嫁衣襯著肌膚如雪捆昏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天毙沾,我揣著相機與錄音骗卜,去河邊找鬼。 笑死左胞,一個胖子當(dāng)著我的面吹牛寇仓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播罩句,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼焚刺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了门烂?” 一聲冷哼從身側(cè)響起乳愉,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎屯远,沒想到半個月后蔓姚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡慨丐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年坡脐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片房揭。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡备闲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捅暴,到底是詐尸還是另有隱情恬砂,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布蓬痒,位于F島的核電站泻骤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏梧奢。R本人自食惡果不足惜狱掂,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亲轨。 院中可真熱鬧趋惨,春花似錦、人聲如沸瓶埋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽养筒。三九已至曾撤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晕粪,已是汗流浹背挤悉。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留巫湘,地道東北人装悲。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像尚氛,于是被迫代替她去往敵國和親诀诊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 對于java中的思考的方向阅嘶,1必須要看前端的頁面属瓣,對于前端的頁面基本的邏輯,如果能理解最好讯柔,不理解也要知道幾點抡蛙。 ...
    神尤魯?shù)婪?/span>閱讀 802評論 0 0
  • PostMan是一款很流行的API調(diào)試工具,在公司開發(fā)基本用的都是這款工具魂迄,作為測試人員我們經(jīng)常使用抓包工具Cha...
    小瓶蓋10閱讀 1,324評論 0 0
  • 每個人對情感多有著相同的渴望捣炬,可是追求的方向卻有著些許差異熊昌。有的朋友希望在情感世界里給予自己關(guān)愛在意的人更多陪伴,...
    憶術(shù)品閱讀 107評論 0 0
  • 瑜伽修行者培養(yǎng)了隨遇而安的能力湿酸,因此獲得了內(nèi)心的安寧婿屹。這種安寧感使他超越了人世間充斥著的各種幻想和不幸。他...
    6b38a4a66238閱讀 168評論 0 0
  • 因為晚上要去吃喜酒稿械,今天的菜譜從簡选泻。女兒說要吃麥把刀,我說美莫,正好页眯,飯也不用燒了。飯不燒厢呵,菜卻不能少窝撵。難得一個...
    蘇州的薔薇花開閱讀 977評論 18 10