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ù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

溫馨提示

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

評論

0/150

提交評論