版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品文檔Postman 使用詳解前言:Postman 是一款功能強(qiáng)大的網(wǎng)頁(yè)調(diào)試與發(fā)送網(wǎng)頁(yè) HTTP 請(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ù)如在接口文檔中無(wú)特別聲明時(shí),可以不填。get 請(qǐng)求示例GET 響應(yīng):右上角顯示響應(yīng) HTTP 狀態(tài)碼、請(qǐng)求的耗時(shí)get 響應(yīng)示例需特別注意的是注意區(qū)別 HTTP 狀態(tài)碼與響應(yīng)正文中的狀態(tài)碼, 只有 HTTP 狀態(tài)碼是 200 時(shí),才代表這個(gè) 接口請(qǐng)求是正確的, 這個(gè)是 HTTP 協(xié)議定義的,
2、而響應(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ù),但沒(méi)有設(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)當(dāng)選擇 x-www-form-urlencoded 的參數(shù)方式后, postman 自動(dòng)的幫我們?cè)O(shè)置了 Content-Type ,所
3、以 不需要我們?nèi)斯じ深A(yù),這就是使用一款流行工具的好處,把一些基礎(chǔ)點(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 、 po
4、st 請(qǐng)求四:自行設(shè)置 Content-TypeHTTP 的 POST 請(qǐng)求的參數(shù),都是放在請(qǐng)求正文中的,只是根據(jù) Content-Type 來(lái)判斷請(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)求 ->
5、 獲取響應(yīng)正文 -> 斷言,我們已經(jīng)知道了請(qǐng)求與獲取響應(yīng)正文,下面來(lái) 介紹如何用 postman 進(jìn)行斷言。Tests這個(gè) ”Tests ”就是我們需要處理斷言的地方, postman 很人性化的幫我們把斷言所用的函數(shù)全給準(zhǔn)備好了:SNIPPETS舉例說(shuō)明:首先設(shè)置一個(gè)斷言場(chǎng)景,根據(jù)斷言場(chǎng)景來(lái)舉例說(shuō)明 Postman 斷言如何使用1 、判斷 HTTP 返回狀態(tài)碼為 2002 、判斷響應(yīng)正文中是否包含: "statusCode":2003 、解析響應(yīng)正文,并判斷 statusCode 的值是 200 , message 的值是 ” Success ”第一步:在 SNIP
6、PETS 中,往下拉,有一項(xiàng) ”Status code:Code is 200 ” ,這個(gè)就是為場(chǎng)景中的第 1 條 準(zhǔn)備的,判斷 HTTP 返回狀態(tài)碼是否為 200 。點(diǎn)擊這一項(xiàng),可以看到在其左邊,斷言代碼自動(dòng)添加,見下 圖:Status code解釋一下這句代碼的意思:tests"Status code is 200" 中的 tests 是一個(gè)內(nèi)置對(duì)象, tests"Status code is 200"是指為這個(gè)斷言起個(gè)名稱叫 ”Status code is 200 ”,這個(gè)名稱可以自行修改。responseCode.code = 200 中的 re
7、sponseCode 是內(nèi)置對(duì)象, responseCode 對(duì)象中有個(gè)屬性是 code ,是指 HTTP 狀態(tài)碼的 code ,判斷 code 是否為 200.綜合起來(lái), 這句代碼的意思是: 名稱為 ”Status code is 200 ”的斷言中, 判斷 responseCode 對(duì)象的 code 屬性值( HTTP 狀態(tài)碼)是否為 200 。第二步:同樣在 SNIPPETS 中,找到一項(xiàng) ”Response body:Contains string ” ,這個(gè)就是為場(chǎng)景中的第2 條準(zhǔn)備的,判斷響應(yīng)正文中的字段。點(diǎn)擊后,在其左邊,斷言代碼自動(dòng)添加,見下圖:Contains string1
8、其中我們需要修改想要在響應(yīng)報(bào)文中找到的內(nèi)容:tests"Body matches string" = responseBody.has('"statusCode":200'); 判斷響應(yīng)正文中是否包含: "statusCode":200/ 對(duì)照第 2 條場(chǎng)景:Contains string2第三步:我們需要解析 JSON 串了,所以,在 SNIPPETS 中找到 ”Response body:JSON value check并點(diǎn)擊,在其左邊,斷言代碼自動(dòng)添加,見下圖:JSON value check1我們可以看出,這里
9、面其實(shí)是 JS代碼,jsonData 變量其實(shí)是解析完 JSON 后的對(duì)象,在JS中,一個(gè) JSON 對(duì)象獲取其屬性的值,直接是用 jsonData.value ,于是,我們把代碼給修改一下,來(lái)判斷第 3 條場(chǎng)景: tests"response statusCode" = jsonData.statusCode = 200;/ 判斷 statusCode 的值是200tests"response message" = jsonData.message = 'Success'/ 判斷 message 的值是”Success”JSON val
10、ue check2這樣一來(lái), 我們可以看到一共有 Tests 的斷言 4 個(gè),點(diǎn)擊 Send ,發(fā)送請(qǐng)求, 在響應(yīng)區(qū)內(nèi)可以看到如下圖: 表示斷言全部通過(guò)。以上, SNIPPETS 中還有很多的函數(shù)提供給我們 , 努力學(xué)習(xí)吧 四、管理用例 -CollectionsCollections 集合:也就是將多個(gè)接口請(qǐng)求可以放在一起,并管理起來(lái)。什么樣的接口請(qǐng)求可以放在同一 個(gè) collection 里?在這里告訴大家可以這樣:一個(gè)工程一個(gè) Collection ,這樣方便查找及統(tǒng)一處理數(shù)據(jù)。第一步:創(chuàng)建 Collections點(diǎn)擊上圖中的帶 + 號(hào)的圖標(biāo), 輸入 Name”: demo” ,Descr
11、iption: ”demo for Collections ”,點(diǎn)擊 Create 按鈕即創(chuàng)建成功一個(gè) Collections.Create Collections第二步,在 Collections 里添加請(qǐng)求在右側(cè)準(zhǔn)備好接口請(qǐng)求的所有數(shù)據(jù),并驗(yàn)證后,點(diǎn)擊 save 按鈕save 按鈕選擇 Collection 及填寫好 Request name 、Request description后, 點(diǎn)擊右下角的 save to collection按鈕,則該請(qǐng)求被添加到 Collection 中。save request添加成功后,可在左側(cè)列表中, collection 中查看剛剛添加的請(qǐng)求。第三步
12、: Collection精細(xì)化 -Folder隨著放入 Collection 的請(qǐng)求越來(lái)越多,混亂就又出現(xiàn)了,在找一個(gè)請(qǐng)求時(shí),要找半天,于是將 collection 中的請(qǐng)求分門類別就很重要了,于是,在 collection 中就可以添加 Folder 了,將相同場(chǎng)景的請(qǐng)求放入同 一個(gè) Folder 中,于是就實(shí)現(xiàn)了模塊化的管理了。點(diǎn)擊下圖中的 Add Folder 后,即可創(chuàng)建 Folder 。Add Folder 按鈕位置添加上 Folder name ,即模塊名稱后,點(diǎn)擊 Create ,創(chuàng)建成功一個(gè) Folderadd Folder模塊化以后的接下來(lái), 只需要把相同場(chǎng)景的請(qǐng)求拖入相同的
13、 Folder 即可, 這樣就實(shí)現(xiàn)了模塊化的管理了 結(jié)構(gòu):模塊化的管理結(jié)構(gòu) 第四步:運(yùn)行 Collection 將工程模塊化的用例管理起來(lái)后,借著這個(gè)管理起來(lái)的東風(fēng),也可以將工程模塊化的用例執(zhí)行起來(lái),即一 次執(zhí)行一整個(gè) collection 里的用例,或者執(zhí)行一個(gè) collection 里的某一個(gè) Folder 里的用例。 點(diǎn)擊下圖中的 Run :run下圖中的 ”Choose collection or folder”,如果選擇 demo ,表示運(yùn)行 demo 這一整個(gè) collection 的用例,如果選擇 GET ,即只運(yùn)行 demo 下的 GET 模塊下的用例。Environment
14、,即運(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é)合起來(lái)用, 實(shí)現(xiàn)參數(shù)化, 也就是數(shù)據(jù)驅(qū)動(dòng)。Run Demo ,點(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ù)的地方
15、參數(shù)化,即用一個(gè)變量來(lái)代替,每次運(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),也提供了 數(shù)據(jù)池是一個(gè)外部文件。Data 的文件選擇項(xiàng),也就是意味著如果 Iterations 里的值為 2 ,那么,這個(gè)外部文件里也應(yīng)該有兩條數(shù)據(jù), 件里的數(shù)據(jù)是一個(gè) json (當(dāng)然也可以是其它postman 希望我們這個(gè)外部文數(shù)據(jù)格式) .為了表示兩條數(shù)據(jù),這個(gè) json 應(yīng)該是一個(gè) list 結(jié)構(gòu)(如下圖 ),同時(shí), 化,需要變量,所以,每一條數(shù)據(jù)應(yīng)該就是一個(gè)map , ma
16、p 的 key由于腳本要用到數(shù)據(jù)的地方需要參數(shù)對(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 來(lái)獲取每次運(yùn)行的對(duì)應(yīng)的值,當(dāng)然,由于是個(gè) map ,也可以用 data msg'來(lái)獲取對(duì)應(yīng)的 值。五、設(shè)置環(huán)境變量有時(shí)需要在不同的環(huán)境下跑相同的測(cè)試,此時(shí)可以通過(guò)設(shè)置環(huán)境變量來(lái)動(dòng)態(tài)選擇。點(diǎn)擊右上角的設(shè)置按鈕 -Manage Environment
17、s :Manage Environments填寫該環(huán)境的名稱:如測(cè)試環(huán)境,并在 key 和 value 中填寫需要的鍵值。add1add2使用這些鍵值的時(shí)候只需要加上兩個(gè)花括號(hào)引用 key ,例如: url_base/admin/offer/引用 key建立多個(gè)環(huán)境時(shí), key 通常都是相同的,只是 value 不同。創(chuàng)建好所有環(huán)境后,在跑用例的時(shí)候在右上角 下拉列表選擇需要的環(huán)境就可以了。選擇環(huán)境變量六、身份驗(yàn)證 Authentication顯示 browser cookies ,需要開啟 Interceptor 。點(diǎn)擊右上角的 Interceptor 進(jìn)行安裝,并開啟:Interceptor身份驗(yàn)證 Authenticationpostman 有一個(gè) helpers 可以幫助我們簡(jiǎn)化一些重復(fù)和復(fù)雜的任務(wù)。當(dāng)前的一套 helpers 可以幫助你解 決一些 authentication protocols的問(wèn)題。1 、 Basic Auth填寫用戶名和密碼,點(diǎn)擊 update request 后, headers 中自動(dòng)添加 Authorization 。圖中用戶名和密碼均使用的 key 變量:Basic Auth2 、 Digest Auth要比 Basic Auth 復(fù)雜的多。使用當(dāng)前填寫的值生成 authori
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高效能玻璃鋼化糞池采購(gòu)協(xié)議范本版B版
- 2024自用房屋租賃合同
- 2025年違約借款合同糾紛解決途徑3篇
- 二零二五年度新能源汽車OEM制造與零部件供應(yīng)合同3篇
- 2025廠房土地買賣合同中對(duì)環(huán)境友好型建筑標(biāo)準(zhǔn)的約定3篇
- 2025年度森林資源管理與測(cè)繪合同范本3篇
- 2024網(wǎng)絡(luò)安全與信息保密合同
- 二零二四三方詢價(jià)采購(gòu)合同-國(guó)際物流運(yùn)輸服務(wù)采購(gòu)2篇
- 2024石料礦山資源整合與開采合同3篇
- 二零二五版全國(guó)CHS技術(shù)交流與合作合同3篇
- 勞務(wù)投標(biāo)技術(shù)標(biāo)
- 研發(fā)管理咨詢項(xiàng)目建議書
- 濕瘡的中醫(yī)護(hù)理常規(guī)課件
- 轉(zhuǎn)錢委托書授權(quán)書范本
- 一種配網(wǎng)高空作業(yè)智能安全帶及預(yù)警系統(tǒng)的制作方法
- 某墓園物業(yè)管理日常管護(hù)投標(biāo)方案
- 蘇教版六年級(jí)數(shù)學(xué)上冊(cè)集體備課記載表
- NUDD新獨(dú)難異 失效模式預(yù)防檢查表
- 內(nèi)蒙古匯能煤電集團(tuán)有限公司長(zhǎng)灘露天煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 22S702 室外排水設(shè)施設(shè)計(jì)與施工-鋼筋混凝土化糞池
- 2013日產(chǎn)天籟全電路圖維修手冊(cè)45車身控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論