Postman使用和詳解word版本_第1頁
Postman使用和詳解word版本_第2頁
Postman使用和詳解word版本_第3頁
Postman使用和詳解word版本_第4頁
Postman使用和詳解word版本_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精品文檔Postman 使用詳解前言:Postman 是一款功能強(qiáng)大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁 HTTP 請求的 Chrome 插件。精品文檔接口請求流程、 get 請求GET 請求:點(diǎn)擊 Params ,輸入?yún)?shù)及 value ,可輸入多個(gè),即時(shí)顯示在 URL 鏈接上,所以, GET 請求 的請求頭與請求參數(shù)如在接口文檔中無特別聲明時(shí),可以不填。get 請求示例GET 響應(yīng):右上角顯示響應(yīng) HTTP 狀態(tài)碼、請求的耗時(shí)get 響應(yīng)示例需特別注意的是注意區(qū)別 HTTP 狀態(tài)碼與響應(yīng)正文中的狀態(tài)碼, 只有 HTTP 狀態(tài)碼是 200 時(shí),才代表這個(gè) 接口請求是正確的, 這個(gè)是 HTTP 協(xié)議定義的,

2、而響應(yīng)正文的狀態(tài)碼, 是程序員自已定義的, 可以是 200 , 也可以定義為其它值,是為了讓接口使用者去區(qū)分正常數(shù)據(jù)與異常數(shù)據(jù)。狀態(tài)碼與響應(yīng)碼不一致二、 POST 請求1 、 POST 請求一:表單提交先看下圖 POST 表單提交示例:表單提交示例上圖示例中設(shè)置了請求方法,請求 URL ,請求參數(shù),但沒有設(shè)置請求頭。有一個(gè)要明確的點(diǎn)是,請求頭中 的 Content-Type 與請求參數(shù)的格式之間是有關(guān)聯(lián)關(guān)系的。Content-Type 與請求參數(shù)的格式之間的關(guān)聯(lián)當(dāng)選擇 x-www-form-urlencoded 的參數(shù)方式后, postman 自動(dòng)的幫我們設(shè)置了 Content-Type ,所

3、以 不需要我們?nèi)斯じ深A(yù),這就是使用一款流行工具的好處,把一些基礎(chǔ)點(diǎn)都幫我們處理了。2 、 POST 請求二: json 提交先看下圖 json 提交示例:json 提交示例上圖中,當(dāng)我們選擇了 JSON(application/json)時(shí), postman 同樣幫我們自動(dòng)設(shè)置了 Content-Type ,可以自行的去查看 Headers.3 、 post 請求三: xml 提交先看下圖 XML 提交示例:XML 提交示例 上圖中,當(dāng)我們選擇了 XML(text/xml) 時(shí), postman 同樣幫我們自動(dòng)設(shè)置了 Content-Type ,可以自行 的去查看 Headers.4 、 po

4、st 請求四:自行設(shè)置 Content-TypeHTTP 的 POST 請求的參數(shù),都是放在請求正文中的,只是根據(jù) Content-Type 來判斷請求正文的格式, 那么我們同樣可以在表單提交時(shí),選擇 raw ,然后自行設(shè)置 Content-Type 為 application/x-www-form-urlencoded 。POST 請求的參數(shù)自行設(shè)置 Content-Type5 、 POST 請求五:二進(jìn)制文件提交先看下圖二進(jìn)制文件示例:二進(jìn)制文件提交Body 下,選擇 binary ,在這里你可以發(fā)送視頻、音頻、文本等文件。三、postman 斷言一個(gè)完整的接口測試,包括:請求 ->

5、 獲取響應(yīng)正文 -> 斷言,我們已經(jīng)知道了請求與獲取響應(yīng)正文,下面來 介紹如何用 postman 進(jìn)行斷言。Tests這個(gè) ”Tests ”就是我們需要處理斷言的地方, postman 很人性化的幫我們把斷言所用的函數(shù)全給準(zhǔn)備好了:SNIPPETS舉例說明:首先設(shè)置一個(gè)斷言場景,根據(jù)斷言場景來舉例說明 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è)就是為場景中的第 1 條 準(zhǔn)備的,判斷 HTTP 返回狀態(tài)碼是否為 200 。點(diǎn)擊這一項(xiàng),可以看到在其左邊,斷言代碼自動(dòng)添加,見下 圖:Status code解釋一下這句代碼的意思:tests"Status code is 200" 中的 tests 是一個(gè)內(nèi)置對象, tests"Status code is 200"是指為這個(gè)斷言起個(gè)名稱叫 ”Status code is 200 ”,這個(gè)名稱可以自行修改。responseCode.code = 200 中的 re

7、sponseCode 是內(nèi)置對象, responseCode 對象中有個(gè)屬性是 code ,是指 HTTP 狀態(tài)碼的 code ,判斷 code 是否為 200.綜合起來, 這句代碼的意思是: 名稱為 ”Status code is 200 ”的斷言中, 判斷 responseCode 對象的 code 屬性值( HTTP 狀態(tài)碼)是否為 200 。第二步:同樣在 SNIPPETS 中,找到一項(xiàng) ”Response body:Contains string ” ,這個(gè)就是為場景中的第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/ 對照第 2 條場景:Contains string2第三步:我們需要解析 JSON 串了,所以,在 SNIPPETS 中找到 ”Response body:JSON value check并點(diǎn)擊,在其左邊,斷言代碼自動(dòng)添加,見下圖:JSON value check1我們可以看出,這里

9、面其實(shí)是 JS代碼,jsonData 變量其實(shí)是解析完 JSON 后的對象,在JS中,一個(gè) JSON 對象獲取其屬性的值,直接是用 jsonData.value ,于是,我們把代碼給修改一下,來判斷第 3 條場景: tests"response statusCode" = jsonData.statusCode = 200;/ 判斷 statusCode 的值是200tests"response message" = jsonData.message = 'Success'/ 判斷 message 的值是”Success”JSON val

10、ue check2這樣一來, 我們可以看到一共有 Tests 的斷言 4 個(gè),點(diǎn)擊 Send ,發(fā)送請求, 在響應(yīng)區(qū)內(nèi)可以看到如下圖: 表示斷言全部通過。以上, SNIPPETS 中還有很多的函數(shù)提供給我們 , 努力學(xué)習(xí)吧 四、管理用例 -CollectionsCollections 集合:也就是將多個(gè)接口請求可以放在一起,并管理起來。什么樣的接口請求可以放在同一 個(gè) collection 里?在這里告訴大家可以這樣:一個(gè)工程一個(gè) Collection ,這樣方便查找及統(tǒng)一處理數(shù)據(jù)。第一步:創(chuàng)建 Collections點(diǎn)擊上圖中的帶 + 號的圖標(biāo), 輸入 Name”: demo” ,Descr

11、iption: ”demo for Collections ”,點(diǎn)擊 Create 按鈕即創(chuàng)建成功一個(gè) Collections.Create Collections第二步,在 Collections 里添加請求在右側(cè)準(zhǔn)備好接口請求的所有數(shù)據(jù),并驗(yàn)證后,點(diǎn)擊 save 按鈕save 按鈕選擇 Collection 及填寫好 Request name 、Request description后, 點(diǎn)擊右下角的 save to collection按鈕,則該請求被添加到 Collection 中。save request添加成功后,可在左側(cè)列表中, collection 中查看剛剛添加的請求。第三步

12、: Collection精細(xì)化 -Folder隨著放入 Collection 的請求越來越多,混亂就又出現(xiàn)了,在找一個(gè)請求時(shí),要找半天,于是將 collection 中的請求分門類別就很重要了,于是,在 collection 中就可以添加 Folder 了,將相同場景的請求放入同 一個(gè) Folder 中,于是就實(shí)現(xiàn)了模塊化的管理了。點(diǎn)擊下圖中的 Add Folder 后,即可創(chuàng)建 Folder 。Add Folder 按鈕位置添加上 Folder name ,即模塊名稱后,點(diǎn)擊 Create ,創(chuàng)建成功一個(gè) Folderadd Folder模塊化以后的接下來, 只需要把相同場景的請求拖入相同的

13、 Folder 即可, 這樣就實(shí)現(xiàn)了模塊化的管理了 結(jié)構(gòu):模塊化的管理結(jié)構(gòu) 第四步:運(yùn)行 Collection 將工程模塊化的用例管理起來后,借著這個(gè)管理起來的東風(fēng),也可以將工程模塊化的用例執(zhí)行起來,即一 次執(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)境還是測試環(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)。Run Demo ,點(diǎn)擊運(yùn)行,運(yùn)行完成后,即可得出一個(gè)簡易的聚合報(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è)變量來代替,每次運(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ù)對應(yīng)腳本中的變量。外部文件里的數(shù)據(jù)上圖中表示提供了一個(gè) msg 的變量,每次運(yùn)行對應(yīng)不同的值,預(yù)示著在腳本中可以用到 那在腳本中如何用?msg 這個(gè)變量,使用變量如上圖斷言中用 data.msg ,其中 data 是個(gè)內(nèi)置對象,即代表每一次運(yùn)行的那個(gè) map 數(shù)據(jù),所以,可以 用 data.msg 來獲取每次運(yùn)行的對應(yīng)的值,當(dāng)然,由于是個(gè) map ,也可以用 data msg'來獲取對應(yīng)的 值。五、設(shè)置環(huán)境變量有時(shí)需要在不同的環(huán)境下跑相同的測試,此時(shí)可以通過設(shè)置環(huán)境變量來動(dòng)態(tài)選擇。點(diǎn)擊右上角的設(shè)置按鈕 -Manage Environment

17、s :Manage Environments填寫該環(huán)境的名稱:如測試環(huán)境,并在 key 和 value 中填寫需要的鍵值。add1add2使用這些鍵值的時(shí)候只需要加上兩個(gè)花括號引用 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 可以幫助我們簡化一些重復(fù)和復(fù)雜的任務(wù)。當(dāng)前的一套 helpers 可以幫助你解 決一些 authentication protocols的問題。1 、 Basic Auth填寫用戶名和密碼,點(diǎn)擊 update request 后, headers 中自動(dòng)添加 Authorization 。圖中用戶名和密碼均使用的 key 變量:Basic Auth2 、 Digest Auth要比 Basic Auth 復(fù)雜的多。使用當(dāng)前填寫的值生成 authori

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論