Postman網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁使用與詳解_第1頁
Postman網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁使用與詳解_第2頁
Postman網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁使用與詳解_第3頁
Postman網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁使用與詳解_第4頁
Postman網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁使用與詳解_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

...wd......wd......wd...Postman使用詳解前言:Postman是一款功能強(qiáng)大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁請(qǐng)求的Chrome插件。接口請(qǐng)求流程一、get請(qǐng)求GET請(qǐng)求:點(diǎn)擊Params,輸入?yún)?shù)及value,可輸入多個(gè),即時(shí)顯示在URL鏈接上,所以,GET請(qǐng)求的請(qǐng)求頭與請(qǐng)求參數(shù)如在接口文檔中無特別聲明時(shí),可以不填。get請(qǐng)求例如GET響應(yīng):右上角顯示響應(yīng)狀態(tài)碼、請(qǐng)求的耗時(shí)。get響應(yīng)例如需特別注意的是注意區(qū)別狀態(tài)碼與響應(yīng)正文中的狀態(tài)碼,只有狀態(tài)碼是200時(shí),才代表這個(gè)接口請(qǐng)求是正確的,這個(gè)是協(xié)議定義的,而響應(yīng)正文的狀態(tài)碼,是程序員自已定義的,可以是200,也可以定義為其它值,是為了讓接口使用者去區(qū)分正常數(shù)據(jù)與異常數(shù)據(jù)。狀態(tài)碼與響應(yīng)碼不一致二、POST請(qǐng)求1、POST請(qǐng)求一:表單提交先看以以下圖POST表單提交例如:表單提交例如上圖例如中設(shè)置了請(qǐng)求方法,請(qǐng)求URL,請(qǐng)求參數(shù),但沒有設(shè)置請(qǐng)求頭。有一個(gè)要明確的點(diǎn)是,請(qǐng)求頭中的Content-Type與請(qǐng)求參數(shù)的格式之間是有關(guān)聯(lián)關(guān)系的。Content-Type與請(qǐng)求參數(shù)的格式之間的關(guān)聯(lián)中選擇x-www-form-urlencoded的參數(shù)方式后,postman自動(dòng)的幫我們?cè)O(shè)置了Content-Type,所以不需要我們?nèi)斯じ深A(yù),這就是使用一款流行工具的好處,把一些根基點(diǎn)都幫我們處理了。2、POST請(qǐng)求二:json提交先看以以下圖json提交例如:json提交例如上圖中,當(dāng)我們選擇了JSON(application/json)時(shí),postman同樣幫我們自動(dòng)設(shè)置了Content-Type,可以自行的去查看Headers.3、post請(qǐng)求三:xml提交先看以以下圖XML提交例如:XML提交例如上圖中,當(dāng)我們選擇了XML(text/xml)時(shí),postman同樣幫我們自動(dòng)設(shè)置了Content-Type,可以自行的去查看Headers.4、post請(qǐng)求四:自行設(shè)置Content-Type的POST請(qǐng)求的參數(shù),都是放在請(qǐng)求正文中的,只是根據(jù)Content-Type來判斷請(qǐng)求正文的格式,那么我們同樣可以在表單提交時(shí),選擇raw,然后自行設(shè)置Content-Type為application/x-www-form-urlencoded。POST請(qǐng)求的參數(shù)自行設(shè)置Content-Type5、POST請(qǐng)求五:二進(jìn)制文件提交先看以以下圖二進(jìn)制文件例如:二進(jìn)制文件提交Body下,選擇binary,在這里你可以發(fā)送視頻、音頻、文本等文件。三、postman斷言一個(gè)完整的接口測(cè)試,包括:請(qǐng)求->獲取響應(yīng)正文->斷言,我們已經(jīng)知道了請(qǐng)求與獲取響應(yīng)正文,下面來介紹如何用postman進(jìn)展斷言。Tests這個(gè)〞Tests〞就是我們需要處理斷言的地方,postman很人性化的幫我們把斷言所用的函數(shù)全給準(zhǔn)備好了:SNIPPETS舉例說明:首先設(shè)置一個(gè)斷言場(chǎng)景,根據(jù)斷言場(chǎng)景來舉例說明Postman斷言如何使用。1、判斷返回狀態(tài)碼為2002、判斷響應(yīng)正文中是否包含:"statusCode":2003、解析響應(yīng)正文,并判斷statusCode的值是200,message的值是〞Success〞第一步:在SNIPPETS中,往下拉,有一項(xiàng)〞Statuscode:Codeis200〞,這個(gè)就是為場(chǎng)景中的第1條準(zhǔn)備的,判斷返回狀態(tài)碼是否為200。點(diǎn)擊這一項(xiàng),可以看到在其左邊,斷言代碼自動(dòng)添加,見以以下圖:Statuscode解釋一下這句代碼的意思:tests["Statuscodeis200"]中的tests是一個(gè)內(nèi)置對(duì)象,tests["Statuscodeis200"]是指為這個(gè)斷言起個(gè)名稱叫〞Statuscodeis200〞,這個(gè)名稱可以自行修改。responseCode.code===200中的responseCode是內(nèi)置對(duì)象,responseCode對(duì)象中有個(gè)屬性是code,是指狀態(tài)碼的code,判斷code是否為200.綜合起來,這句代碼的意思是:名稱為〞Statuscodeis200〞的斷言中,判斷responseCode對(duì)象的code屬性值〔狀態(tài)碼〕是否為200。第二步:同樣在SNIPPETS中,找到一項(xiàng)〞Responsebody:Containsstring〞,這個(gè)就是為場(chǎng)景中的第2條準(zhǔn)備的,判斷響應(yīng)正文中的字段。點(diǎn)擊后,在其左邊,斷言代碼自動(dòng)添加,見以以下圖:Containsstring1其中我們需要修改想要在響應(yīng)報(bào)文中找到的內(nèi)容:tests["Bodymatchesstring"]=responseBody.has('"statusCode":200');

//對(duì)照第2條場(chǎng)景:判斷響應(yīng)正文中是否包含:"statusCode":200Containsstring2第三步:我們需要解析JSON串了,所以,在SNIPPETS中找到〞Responsebody:JSONvaluecheck〞并點(diǎn)擊,在其左邊,斷言代碼自動(dòng)添加,見以以下圖:JSONvaluecheck1我們可以看出,這里面其實(shí)是JS代碼,jsonData變量其實(shí)是解析完JSON后的對(duì)象,在JS中,一個(gè)JSON對(duì)象獲取其屬性的值,直接是用jsonData.value,于是,我們把代碼給修改一下,來判斷第3條場(chǎng)景:tests["responsestatusCode"]=jsonData.statusCode===200;

//判斷statusCode的值是200tests["responsemessage"]=jsonData.message==='Success';

//判斷message的值是〞Success〞JSONvaluecheck2這樣一來,我們可以看到一共有Tests的斷言4個(gè),點(diǎn)擊Send,發(fā)送請(qǐng)求,在響應(yīng)區(qū)內(nèi)可以看到如以以下圖:表示斷言全部通過。以上,SNIPPETS中還有很多的函數(shù)提供給我們,努力學(xué)習(xí)吧~~~四、管理用例---CollectionsCollections集合:也就是將多個(gè)接口請(qǐng)求可以放在一起,并管理起來。什么樣的接口請(qǐng)求可以放在同一個(gè)collection里在這里告訴大家可以這樣:一個(gè)工程一個(gè)Collection,這樣方便查找及統(tǒng)一處理數(shù)據(jù)。第一步:創(chuàng)立Collections點(diǎn)擊上圖中的帶+號(hào)的圖標(biāo),輸入Name:〞demo〞,Description:〞demoforCollections〞,點(diǎn)擊Create按鈕即創(chuàng)立成功一個(gè)Collections.CreateCollections第二步,在Collections里添加請(qǐng)求在右側(cè)準(zhǔn)備好接口請(qǐng)求的所有數(shù)據(jù),并驗(yàn)證后,點(diǎn)擊save按鈕。save按鈕選擇Collection及填寫好Requestname、Requestdescription后,點(diǎn)擊右下角的savetocollection按鈕,那么該請(qǐng)求被添加到Collection中。saverequest添加成功后,可在左側(cè)列表中,collection中查看剛剛添加的請(qǐng)求。第三步:Collection精細(xì)化---Folder隨著放入Collection的請(qǐng)求越來越多,混亂就又出現(xiàn)了,在找一個(gè)請(qǐng)求時(shí),要找半天,于是將collection中的請(qǐng)求分門類別就很重要了,于是,在collection中就可以添加Folder了,將一樣場(chǎng)景的請(qǐng)求放入同一個(gè)Folder中,于是就實(shí)現(xiàn)了模塊化的管理了。點(diǎn)擊以以下圖中的AddFolder后,即可創(chuàng)立Folder。AddFolder按鈕位置添加上Foldername,即模塊名稱后,點(diǎn)擊Create,創(chuàng)立成功一個(gè)Folder。addFolder接下來,只需要把一樣場(chǎng)景的請(qǐng)求拖入一樣的Folder即可,這樣就實(shí)現(xiàn)了模塊化的管理了。模塊化以后的構(gòu)造:模塊化的管理構(gòu)造第四步:運(yùn)行Collection將工程模塊化的用例管理起來后,借著這個(gè)管理起來的東風(fēng),也可以將工程模塊化的用例執(zhí)行起來,即一次執(zhí)行一整個(gè)collection里的用例,或者執(zhí)行一個(gè)collection里的某一個(gè)Folder里的用例。點(diǎn)擊以以下圖中的Run:run以以下圖中的〞Choosecollectionorfolder〞,如果選擇demo,表示運(yùn)行demo這一整個(gè)collection的用例,如果選擇GET,即只運(yùn)行demo下的GET模塊下的用例。Environment,即運(yùn)行環(huán)境,是開發(fā)環(huán)境還是測(cè)試環(huán)境,需事先配置,大家可以下去自已嘗試一下。Iterations,即重復(fù)運(yùn)行次數(shù)。會(huì)將選擇好的collection中folder重復(fù)運(yùn)行。Delay,間隔時(shí)間。用例與用例間的間隔時(shí)間。Data,外部數(shù)據(jù)加載,即用例的參數(shù)化,可以與Iterations結(jié)合起來用,實(shí)現(xiàn)參數(shù)化,也就是數(shù)據(jù)驅(qū)動(dòng)。RunDemo,點(diǎn)擊運(yùn)行,運(yùn)行完成后,即可得出一個(gè)簡(jiǎn)易的聚合報(bào)告。第五步:Collection運(yùn)行參數(shù)化在Iterations重復(fù)運(yùn)行時(shí),如果某個(gè)用例希望每次運(yùn)行時(shí),使用不同的數(shù)據(jù),那么應(yīng)該滿足如下2個(gè)條件:1、腳本中要用到數(shù)據(jù)的地方參數(shù)化,即用一個(gè)變量來代替,每次運(yùn)行時(shí),重新獲取當(dāng)前的運(yùn)行數(shù)據(jù)。2、需要有一個(gè)數(shù)據(jù)池,這個(gè)數(shù)據(jù)池里的數(shù)據(jù)條數(shù),要與重復(fù)運(yùn)行的次數(shù)一樣。Postman的runner給我們提供了Iterations的輸入項(xiàng),也提供了Data的文件選擇項(xiàng),也就是意味著數(shù)據(jù)池是一個(gè)外部文件。如果Iterations里的值為2,那么,這個(gè)外部文件里也應(yīng)該有兩條數(shù)據(jù),postman希望我們這個(gè)外部文件里的數(shù)據(jù)是一個(gè)json〔當(dāng)然也可以是其它數(shù)據(jù)格式〕.為了表示兩條數(shù)據(jù),這個(gè)json應(yīng)該是一個(gè)list構(gòu)造(如以以下圖),同時(shí),由于腳本要用到數(shù)據(jù)的地方需要參數(shù)化,需要變量,所以,每一條數(shù)據(jù)應(yīng)該就是一個(gè)map,map的key對(duì)應(yīng)腳本中的變量。外部文件里的數(shù)據(jù)上圖中表示提供了一個(gè)msg的變量,每次運(yùn)行對(duì)應(yīng)不同的值,預(yù)示著在腳本中可以用到msg這個(gè)變量,那在腳本中如何用使用變量如上圖斷言中用data.msg,其中data是個(gè)內(nèi)置對(duì)象,即代表每一次運(yùn)行的那個(gè)map數(shù)據(jù),所以,可以用data.msg來獲取每次運(yùn)行的對(duì)應(yīng)的值,當(dāng)然,由于是個(gè)map,也可以用data[‘msg’]來獲取對(duì)應(yīng)的值。五、設(shè)置環(huán)境變量有時(shí)需要在不同的環(huán)境下跑一樣的測(cè)試,此時(shí)可以通過設(shè)置環(huán)境變量來動(dòng)態(tài)選擇。點(diǎn)擊右上角的設(shè)置按鈕-ManageEnvironments:ManageEnvironments填寫該環(huán)境的名稱:如測(cè)試環(huán)境,并在key和value中填寫需要的鍵值。add1add2使用這些鍵值的時(shí)候只需要加上兩個(gè)花括號(hào)引用key,例如:{{url_base}}/admin/offer/引用key建設(shè)多個(gè)環(huán)境時(shí),key通常都是一樣的,只是value不同。創(chuàng)立好所有環(huán)境后,在跑用例的時(shí)候在右上角下拉列表選擇需要的環(huán)境就可以了。選擇環(huán)境變量六、身份驗(yàn)證Authentication顯示browsercookies,需要開啟Interceptor。點(diǎn)擊右上角的Interceptor進(jìn)展安裝,并開啟:Interceptor身份驗(yàn)證Authentication:postman有一個(gè)helpers可以幫助我們簡(jiǎn)化一些重復(fù)和復(fù)雜的任務(wù)。當(dāng)前的一套helpers可以幫助你解決一些authenticationprotocols的問題。1、BasicAuth填寫用戶名和密碼,點(diǎn)擊updaterequest后,headers中自動(dòng)添加Authorization。圖中用戶名和密碼均使用的key變量:BasicAuth2、DigestAuth要比BasicAuth復(fù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論