postman最全中文圖解使用文檔_第1頁
postman最全中文圖解使用文檔_第2頁
postman最全中文圖解使用文檔_第3頁
postman最全中文圖解使用文檔_第4頁
postman最全中文圖解使用文檔_第5頁
已閱讀5頁,還剩157頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

安裝與更新安裝:首先下載安裝PostMan,打開PostMan官方網(wǎng)站,根據(jù)需求下載Mac/Windows/Linux版本的Post應(yīng)用程序。更新:一般打開PostMan的原生應(yīng)用程式會在應(yīng)用程式重新載入或啟動時檢查更新。該應(yīng)用程序?qū)@示更新日志,提示您更新應(yīng)用程序。第一頁,共162頁??傮w內(nèi)容發(fā)送api請求

環(huán)境和變量設(shè)置腳本編寫

集合操作Api文檔操作認(rèn)識PostMan模擬服務(wù)器第二頁,共162頁。認(rèn)識PostMan什么是PostMan?PostMan有什么用?PostMan界面布局第三頁,共162頁。什么是postMan?它有什么用?Postman是一款功能強(qiáng)大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁HTTP請求的Chrome插件。用戶在開發(fā)或者調(diào)試網(wǎng)絡(luò)程序或者是網(wǎng)頁B/S模式的程序的時候是需要一些方法來跟蹤網(wǎng)頁請求的,用戶可以使用一些網(wǎng)絡(luò)的監(jiān)視工具比如著名的Firebug等網(wǎng)頁調(diào)試工具。今天給大家介紹的這款網(wǎng)頁調(diào)試工具不僅可以調(diào)試簡單的css、html、腳本等簡單的網(wǎng)頁基本信息,它還可以發(fā)送幾乎所有類型的HTTP請求!Postman在發(fā)送網(wǎng)絡(luò)HTTP請求方面可以說是Chrome插件類產(chǎn)品中的代表產(chǎn)品之一。當(dāng)開發(fā)人員需要調(diào)試一個網(wǎng)頁是否運(yùn)行正常,并不是簡簡單單地調(diào)試網(wǎng)頁的HTML、CSS、腳本等信息是否運(yùn)行正常,更加重要的是網(wǎng)頁能夠正確是處理各種HTTP請求,畢竟網(wǎng)頁的HTTP請求是網(wǎng)站與用戶之間進(jìn)行交互的非常重要的一種方式,在動態(tài)網(wǎng)站中,用戶的大部分?jǐn)?shù)據(jù)都需要通過HTTP請求來與服務(wù)器進(jìn)行交互。Postman插件就充當(dāng)著這種交互方式的“橋梁”,它可以利用Chrome插件的形式把各種模擬用戶HTTP請求的數(shù)據(jù)發(fā)送到服務(wù)器,以便開發(fā)人員能夠及時地作出正確的響應(yīng),或者是對產(chǎn)品發(fā)布之前的錯誤信息提前處理,進(jìn)而保證產(chǎn)品上線之后的穩(wěn)定性和安全性。第四頁,共162頁。在Chrome中安裝了Postman插件以后,用戶只需要在調(diào)試網(wǎng)站的時候啟動Postman插件來進(jìn)行幾項(xiàng)簡單的配置就可以實(shí)現(xiàn)對該網(wǎng)站的基本信息修改和發(fā)送各種類型的HTTP到該網(wǎng)站中,用戶在發(fā)送HTTP數(shù)據(jù)的時候可以在編寫相關(guān)測試數(shù)據(jù)的時候加入一定量的參數(shù)信息讓測試數(shù)據(jù)更加準(zhǔn)確,而這一切Postman都會完美地支持。開發(fā)人員在使用Postman的時候也許需要經(jīng)常調(diào)試同一個網(wǎng)站或者是同時調(diào)試多個網(wǎng)站,如果每次打開Postman插件都要重新設(shè)置一遍那樣會顯得非常麻煩,Postman也考慮到用戶的這一個性化需求,所以在Postman的配置頁面中,用戶可以添加或者管理多個網(wǎng)站用戶啟動Postman的時候就能自動打開相應(yīng)的設(shè)置。第五頁,共162頁。PostMan界面布局postman界面分為兩部分:左邊的sidebar右邊的requestbuilder:快速創(chuàng)建幾乎所有的請求第六頁,共162頁。HTTP請求的4部分:URL,請求的method,headers,body。詳情參考PostMan界面布局第七頁,共162頁。發(fā)送Api請求requestresponseHistoryDebugging

and

logsCookiesAuthorizationGenerate

code

snippets第八頁,共162頁。在構(gòu)建請求時,您將與請求主體編輯器一起工作。PostMan可以發(fā)送幾乎任何類型的HTTP請求。身體編輯器分為4個區(qū)域,根據(jù)身體類型有不同的控制。關(guān)于標(biāo)題的注意事項(xiàng):當(dāng)您通過HTTP協(xié)議發(fā)送請求時,您的服務(wù)器可能會期待一個Content-Type頭。Content-Type頭允許服務(wù)器正確解析正文。對于表單數(shù)據(jù)和urlencoded主體類型,Postman會自動附加正確的Content-Type頭,因此您不必設(shè)置它。當(dāng)您選擇格式化類型時,將設(shè)置原始模式標(biāo)題。如果您手動使用Content-Type標(biāo)頭,則該值優(yōu)先于Postman設(shè)置。Postman沒有為二進(jìn)制體類型設(shè)置任何頭類型。REQUESTrequest第九頁,共162頁。requestBuilder在“

Builder”選項(xiàng)卡下,請求構(gòu)建器允許您快速創(chuàng)建任何類型的HTTP請求。HTTP請求的四個部分是URL,方法,標(biāo)頭和主體。PostMan為您提供工具來處理這些部分。第十頁,共162頁。requestURL是您為請求設(shè)置的第一件事。URL輸入字段存儲先前使用的URL,并在您開始輸入U(xiǎn)RL時顯示自動完成下拉列表。單擊Params按鈕打開用于輸入U(xiǎn)RL參數(shù)的數(shù)據(jù)編輯器。您可以單獨(dú)添加鍵值對,Postman將組合上述查詢字符串中的所有內(nèi)容。如果您的網(wǎng)址已經(jīng)具有參數(shù)-例如,如果您粘貼了其他來源的網(wǎng)址,Postman會將網(wǎng)址自動分割成對。注意:您在URL欄或數(shù)據(jù)編輯器中輸入的參數(shù)不會自動進(jìn)行URL編碼。右鍵單擊所選文本,然后選擇“EncodeURIComponent”手動編碼參數(shù)值。注意:http://如果沒有指定協(xié)議,Postman將自動添加到URL的開頭。第十一頁,共162頁。requestCookie可以使用Cookie管理器編輯與每個域相關(guān)聯(lián)的Cookie,可以在本機(jī)應(yīng)用程序中管理Cookie。要打開模式,請單擊

發(fā)送

按鈕

下的Cookies鏈接

。進(jìn)一步了解如何管理Cookie。第十二頁,共162頁。requestHeaderpresets您可以在標(biāo)題預(yù)設(shè)中將常用標(biāo)題保存在一起。根據(jù)頭選項(xiàng)卡,您可以通過選擇“Managerpresets”從頭預(yù)設(shè)添加到您的請求預(yù)設(shè)右側(cè)下拉列表。

第十三頁,共162頁。requestHeaders單擊標(biāo)題選項(xiàng)卡將顯示標(biāo)題鍵值編輯器。您可以將任何字符串設(shè)置為頭名稱。自動完成下拉列表將在您輸入字段時提供常見HTTP標(biāo)頭的建議。“Content-Type”標(biāo)題的值也可以在自動完成的下拉列表中使用。第十四頁,共162頁。requestMethod使用控件下拉列表可以直接更改請求方法。請求Body編輯器區(qū)域?qū)⒏鶕?jù)方法是否可以附加Body而改變。第十五頁,共162頁。在構(gòu)建請求時,您將與請求主體編輯器一起工作。PostMan可以發(fā)送幾乎任何類型的HTTP請求。Body編輯器分為4個區(qū)域,根據(jù)身體類型有不同的控制。關(guān)于標(biāo)題的注意事項(xiàng):當(dāng)您通過HTTP協(xié)議發(fā)送請求時,您的服務(wù)器可能會期待一個Content-Type頭。Content-Type頭允許服務(wù)器正確解析正文。對于表單數(shù)據(jù)和urlencoded主體類型,Postman會自動附加正確的Content-Type頭,因此您不必設(shè)置它。當(dāng)您選擇格式化類型時,將設(shè)置原始模式標(biāo)題。如果您手動使用Content-Type標(biāo)頭,則該值優(yōu)先于Postman設(shè)置。Postman沒有為二進(jìn)制體類型設(shè)置任何頭類型。請求體(UrlBody)request第十六頁,共162頁。REQUESTmultipart/form-data是Web表單用于傳輸數(shù)據(jù)的默認(rèn)編碼。這樣可以模擬在網(wǎng)站上填寫表單,并提交表單。表單數(shù)據(jù)編輯器可以為數(shù)據(jù)設(shè)置鍵值對(使用數(shù)據(jù)編輯器)。您也可以將文件附加到密鑰。注意:由于HTML5規(guī)范的限制,文件不會存儲在歷史記錄或集合中。下次發(fā)送請求時,您將需要再次選擇該文件。不支持使用自己的Content-Type上載多個文件。Form-data第十七頁,共162頁。REQUEST此編碼與URL參數(shù)中使用的編碼相同。您只需要輸入鍵值對,Postman會正確地對鍵和值進(jìn)行編碼。請注意,您無法通過此編碼模式上傳文件。形式數(shù)據(jù)和urlencoded之間可能會有一些混淆,所以請務(wù)必先檢查一下你的API。urlCode第十八頁,共162頁。REQUESTraw原始請求可以包含任何內(nèi)容。除了替換環(huán)境變量,PostMan不會觸及在原始編輯器中輸入的字符串。無論您放在文本區(qū)域中是否發(fā)送請求。原始編輯器可讓您設(shè)置格式化類型以及您應(yīng)該使用原始主體發(fā)送的正確標(biāo)題。您也可以手動設(shè)置Content-Type標(biāo)題,這將覆蓋Postman定義的設(shè)置。在編輯器類型中選擇XML/JSON可以為您的請求體提供語法突出顯示,并設(shè)置Content-Type頭。提示:

在編輯器中選擇文本并按CMD/CTRL+B

可以自動對XML/JSON內(nèi)容進(jìn)行美化。第十九頁,共162頁。REQUESTbinary二進(jìn)制數(shù)據(jù)允許您發(fā)送無法在Postman中輸入的內(nèi)容,例如圖像,音頻或視頻文件。您也可以發(fā)送文本文件。如前面在表單數(shù)據(jù)部分所述,如果要通過歷史記錄或集合加載請求,則必須重新連接文件。第二十頁,共162頁。RESPONSE確保API響應(yīng)正確是您在使用API??時會做很多工作。PostMan回復(fù)查看器將使您的這個任務(wù)更容易。API響應(yīng)由主體,標(biāo)題和狀態(tài)代碼組成。PostMan在不同的標(biāo)簽中組織正文和標(biāo)題。狀態(tài)代碼與完成API調(diào)用所需的時間一起顯示在選項(xiàng)卡旁邊。您可以將鼠標(biāo)懸停在狀態(tài)代碼上,以獲取有關(guān)代碼的更多詳細(xì)信息。大多數(shù)情況下,它將是HTTP規(guī)范規(guī)定的默認(rèn)描述,但是API作者也可以添加自定義消息。RESPONSE第二十一頁,共162頁。RESPONSESaveResponse如果請求已保存在集合中,則可以保存該請求的響應(yīng)。一旦返回響應(yīng),單擊保存響應(yīng)按鈕。輸入名稱以呼叫保存的響應(yīng)。保存在請求中的所有響應(yīng)將在您加載請求時作為example提供。單擊右上角的“

examples”下拉列表以查看并選擇保存的示例。第二十二頁,共162頁。RESPONSE查看responsePostMan

Body標(biāo)簽為您提供了幾個工具來幫助您快速了解事物。Body可以在三個視圖中看到-Pretty,Raw和Preview。Pretty第二十三頁,共162頁。RESPONSEPretty的模式可以格式化JSON或XML響應(yīng),以便更容易查看。沒有人想滾動一個最小的單行JSON響應(yīng)尋找那個難以捉摸的字符串!突出顯示漂亮模式中的鏈接,點(diǎn)擊它們可以使用鏈接URL在Postman中加載GET請求。對于導(dǎo)航大響應(yīng),單擊左側(cè)的向下三角形(▼)以折疊大部分響應(yīng)。要使PostMan自動格式化Body,請確保返回適當(dāng)?shù)腃ontent-Type標(biāo)題。如果API不這樣做,那么您可以強(qiáng)制使用JSON或XML進(jìn)行格式化。您可以通過從“detectionlanguage”下拉菜單中選擇“JSON”,在“

Setting”模式的“

General”選項(xiàng)卡下強(qiáng)制使用JSON格式。在響應(yīng)中查找項(xiàng)目:

可以使用CMD/CTRL+F

打開搜索欄,然后使用CMD/CTRL+G

滾動結(jié)果。第二十四頁,共162頁。RESPONSERaw原始視圖只是一個響應(yīng)體的大文本區(qū)域。它可以幫助您判斷您的回應(yīng)是否縮小。第二十五頁,共162頁。RESPONSEPreview預(yù)覽選項(xiàng)卡會在沙盒iframe中呈現(xiàn)響應(yīng)。一些Web框架默認(rèn)情況下返回HTML錯誤,預(yù)覽模式在這里特別有用。由于iframe沙盒限制,JavaScript和圖像在iframe中被禁用。您可以最大化body占據(jù)整個postman窗口。如果你打算花費(fèi)大量的時間來應(yīng)對這個問題,那就是要走的路。如果您的API端點(diǎn)返回圖像,Postman將自動檢測并呈現(xiàn)。對于二進(jìn)制響應(yīng)類型,您應(yīng)該選擇“Sendanddownload”,這將使您將響應(yīng)保存到硬盤。然后,您可以使用適當(dāng)?shù)牟榭雌鞑榭此?。這使您可以靈活地測試音頻文件,PDF,zip文件或API拋出的任何內(nèi)容。第二十六頁,共162頁。RESPONSEHeadersHeaders

在“

Headers

”選項(xiàng)卡下顯示為鍵值對。懸停在標(biāo)題名稱上可以根據(jù)HTTP規(guī)范給出對標(biāo)題的描述。如果您發(fā)送HEAD請求,Postman將默認(rèn)顯示Headers

標(biāo)簽。第二十七頁,共162頁。RESPONSEResponse

TImeResponse

SizePostMan自動計(jì)算響應(yīng)從服務(wù)器到達(dá)所花費(fèi)的時間。這對于性能的一些初步測試是有用的。PostMan將響應(yīng)大小分解為正文和標(biāo)題。響應(yīng)大小是近似值。Response狀態(tài)第二十八頁,共162頁。RESPONSECookie服務(wù)器發(fā)送的Cookie可在專用選項(xiàng)卡中顯示。要在Postman中管理本地應(yīng)用程序的Cookie,請使用管理COOKIES模式。如果您在PostmanChrome應(yīng)用程序中工作,可以使用Interceptor擴(kuò)展來幫助管理Cookie。Tests除了從請求的服務(wù)器獲得的所有內(nèi)容之外,還可以查看針對請求運(yùn)行的測試的結(jié)果。了解更多有關(guān)Postman

測試的信息。第二十九頁,共162頁。HistoryHISTORY您使用PostMan發(fā)送的所有請求均存儲在您可以使用左邊欄訪問的歷史記錄(history)中。歷史可讓您快速嘗試各種請求,而不會浪費(fèi)時間從頭開始構(gòu)建請求。您可以通過單擊請求名稱來加載先前的請求。如果您創(chuàng)建一個帳戶并登錄到PostMan,您的歷史記錄將與我們的服務(wù)器同步,實(shí)時備份,并可在您的設(shè)備上檢索。如果您退出您的PostMan帳戶,然后重新登錄,最后10個請求將保留在您的歷史記錄中。PostmanPro和Enterprise用戶將可以訪問最近的100個請求。相同的政策適用于收集運(yùn)行。請記住,您可以隨時在收藏中保存盡可能多的請求。第三十頁,共162頁。history從側(cè)欄中的“

history”選項(xiàng)卡瀏覽請求單擊此選項(xiàng)卡中的請求,以在構(gòu)建器中加載確切的請求配置。您可以使用鍵盤上的向上和向下箭頭鍵瀏覽請求。PostMan將以預(yù)覽狀態(tài)加載請求。按

Enter鍵

將確保請求不被其他請求替換。查找請求請求按時間排序,最上面的請求顯示在頂部。PostMan避免在歷史記錄中使用相同的URL復(fù)制GET請求。如果您的請求歷史記錄變大,請使用搜索輸入字段在邊欄中過濾請求。PostMan將您的歷史記錄中的請求網(wǎng)址與搜索字詞進(jìn)行匹配。多選擇請求

按住CTRL(MAC中的CMD),然后單擊要選擇的每個請求。您可以通過列表頂部的操作,啟動對這些請求的保存(saving),共享(sharing),記錄(documenting),模擬(mocking),監(jiān)控(monitoring)或刪除(deleting

)等操作。第三十一頁,共162頁。history要組織常用的請求,您可以將它們從歷史記錄中保存到集合中。要將一個請求保存到集合中,請將鼠標(biāo)懸停在其上,然后單擊旁邊顯示的加號圖標(biāo)(+)。選擇多個請求時,加號圖標(biāo)(+)將顯示在側(cè)欄的頂部。點(diǎn)擊加號圖標(biāo)(+)。選擇現(xiàn)有的集合,或創(chuàng)建一個新的集合,將請求保存到集合。將請求保存到集合第三十二頁,共162頁。history刪除請求如果要擺脫歷史記錄中的所有請求,請選擇邊欄頂部的“

DeleteAll”。要刪除單個請求,請將鼠標(biāo)懸停在其上,然后單擊旁邊顯示的垃圾桶圖標(biāo)。您也可以通過點(diǎn)擊邊框頂部的邊框旁邊的垃圾桶圖標(biāo)來選擇要刪除的請求,然后多次選擇并刪除您不想在歷史記錄中看到的請求。第三十三頁,共162頁。DebuggingandlogsDebuggingandlogsPostMan應(yīng)用程序是PostMan廠家進(jìn)行過廣泛的測試和測試版本。也就是說,可能是應(yīng)用程序崩潰或出現(xiàn)意外行為的情況。如果你一直無法

排除

在自己的問題,你可以在文件中的問題GitHub的跟蹤,或訪問PostMan支持中心

,如果你想包含機(jī)密數(shù)據(jù)。將應(yīng)用程序的控制臺日志包含在報(bào)告中將提供一些有用的數(shù)據(jù)進(jìn)行故障排除。

PostMan控制臺類似于瀏覽器的開發(fā)者控制臺,除了適用于API開發(fā)。如果API或API測試不符合您的期望,那么這將是您在調(diào)試時進(jìn)行深度潛水的地方。只要控制臺窗口打開,您的所有API活動將被記錄在這里,以查看發(fā)生什么了事情。

PostMan控制臺記錄以下信息:發(fā)送的實(shí)際請求,包括所有底層請求標(biāo)頭和變量值等。由Postman處理服務(wù)器之前發(fā)送的確切響應(yīng)用于請求的代理配置和證書。來自測試或預(yù)請求腳本的錯誤日志console.log()

在腳本中使用()或console.warn()在適當(dāng)?shù)奈恢脤⒂兄谔崛≌谄鹱饔玫拇_切的代碼行。如果你知道你console.log()

在JavaScript的方式,這是相似的。第三十四頁,共162頁。DebuggingandlogsDevTools控制臺日志要訪問控制臺日志,請按照下列步驟操作:對于Mac/Windows/Linux的本機(jī)應(yīng)用程序轉(zhuǎn)到View應(yīng)用程序菜單,然后單擊“showDevTools”。在DevTools窗口中,單擊頂級控制臺選項(xiàng)卡應(yīng)顯示應(yīng)用程序的調(diào)試日志。第三十五頁,共162頁。Debuggingandlogs網(wǎng)絡(luò)通話與PostMan控制臺對于Mac/Windows/Linux的本機(jī)應(yīng)用程序前往View應(yīng)用程序菜單,然后單擊“showPostMan

console”或使用鍵盤快捷鍵(CMD/CTRL+ALT+C)。與DevTools類似,每個調(diào)用及其頭和有效載荷將被記錄到Postman控制臺。第三十六頁,共162頁。Authorization授權(quán)(Authorization)當(dāng)請求編輯器強(qiáng)大到足以構(gòu)建任何類型的請求時,有時您可能需要一些幫助。PostMan有“helper”,可以簡化一些重復(fù)和復(fù)雜的任務(wù)。目前的助手讓您輕松處理身份驗(yàn)證協(xié)議。您可以使用所有幫助器的環(huán)境變量。您可以選擇將幫助數(shù)據(jù)保存到收集請求。這將導(dǎo)致每次重新生成簽名。這些助手甚至?xí)诩~曼工作!第三十七頁,共162頁。Authorization基本認(rèn)證(BasicAuth)輸入用戶名和密碼字段,并點(diǎn)擊“UpdateRequest”生成授權(quán)頭第三十八頁,共162頁。AuthorizationDigestAuthDigestauth比基本認(rèn)證更復(fù)雜,并使用當(dāng)前在請求中設(shè)置的值來生成授權(quán)頭。在生成標(biāo)題之前,請確保它們已正確設(shè)置。PostMan如果已經(jīng)存在,將刪除現(xiàn)有的標(biāo)題。第三十九頁,共162頁。AuthorizationOAuth1.0aPostMan的OAuth幫助器可以讓您簽署支持基于OAuth1.0a身份驗(yàn)證的請求。目前,它不允許您獲取訪問令牌。這是API提供商需要的。OAuth1.0幫助器可以在頭或查詢參數(shù)中設(shè)置值。隨后的OAuth請求可能會期望不同的隨機(jī)值,如果啟用了自動添加參數(shù),Postman可以在發(fā)送請求之前刷新OAuth簽名。OAuth1.0規(guī)范相當(dāng)復(fù)雜,有很多變化。Postman包括的幾個選項(xiàng):Addparamstoheader如果啟用此復(fù)選框,則params將添加到標(biāo)題中。如果沒有,GET請求的URL參數(shù)和POST/PUT請求的請求體。AddemptyparamstosignatureOAuth1.0的一些實(shí)現(xiàn)需要將空參數(shù)添加到簽名中第四十頁,共162頁。AuthorizationOAuth2.0PostMan支持獲取OAuth2.0令牌,并將其輕松添加到請求中。要從OAuth2.0提供程序獲取訪問令牌,請按照下列步驟操作:單擊“GetNewAccessToken”按鈕打開Model。您將看到回調(diào)URL。從您的API提供商獲取授權(quán)URL,訪問令牌URL,客戶端ID和客戶機(jī)密鑰的值。這些值將被提供給你的API提供者。或者,您可以設(shè)置一些API所需的Scope參數(shù),以設(shè)置在API中具有的訪問級別。按“RequestToken”按鈕啟動OAuth2.0流程。如果一切都正確設(shè)置,您將被重定向到Postman服務(wù)器,該服務(wù)器將接收您的訪問令牌并將其發(fā)送到Postman應(yīng)用程序。要完成向PostMan添加令牌,請給它一個名稱,以便以后可以快速訪問。如果您的OAuth2提供程序不可公開訪問(托管在本地或內(nèi)部網(wǎng)),請確保啟用“RequestAccessTokenLocally’”選項(xiàng)。訪問令牌存儲在本地,并將顯示在幫助列表中。要向請求添加訪問令牌,請單擊Token名稱。第四十一頁,共162頁。AuthorizationHawkauthenticationHawk是使用消息認(rèn)證碼(MAC)算法來提供部分HTTP請求加密驗(yàn)證的HTTP認(rèn)證方案。第四十二頁,共162頁。AuthorizationAWSauthenticationAWS用戶必須使用基于密鑰HMAC(哈希消息認(rèn)證碼)的自定義HTTP方案進(jìn)行身份驗(yàn)證。PostMan支持這個開箱即用。詳細(xì)了解AWS簽名AWS文檔:第四十三頁,共162頁。CookiesCookiesPostMan的本機(jī)應(yīng)用程序提供了一個

MANAGECOOKIES

模式,可讓您編輯與每個域相關(guān)聯(lián)的Cookie。

cookie管理器打開管理COOKIES模式,請單擊發(fā)送按鈕下的Cookies鏈接。第四十四頁,共162頁。Cookiescookie管理器上述操作將打開“

MANAGECOOKIES”模式,并顯示一個域列表和與之相關(guān)聯(lián)的cookie。第四十五頁,共162頁。Cookies要為域添加新的cookie,請單擊添加Cookie按鈕。

將創(chuàng)建根據(jù)HTTP狀態(tài)管理標(biāo)準(zhǔn)的預(yù)生成的cookie字符串,但您可以使用其下方顯示的文本輸入進(jìn)行編輯。點(diǎn)擊保存按鈕將保存到相關(guān)域下的應(yīng)用程序的Cookie存儲區(qū)。創(chuàng)建一個cookie第四十六頁,共162頁。Cookies添加域(Addingadomain)如果要為域列表中不存在的域添加cookie,可以通過http://在頂部的輸入框中輸入主機(jī)名(不帶端口或)來添加一個。單擊添加按鈕將其添加到域列表。然后,您可以通過選擇該域添加Cookie,并按上述方式輸入新的Cookie值。第四十七頁,共162頁。Cookies更新Cookies要更新現(xiàn)有的Cookie,請從域列表中轉(zhuǎn)到域,然后單擊要編輯的cookie。您可以編輯任何屬性,然后點(diǎn)擊Save更新。###

通過Set-Cookie頭添加Cookie您還可以通過Set-Cookie標(biāo)頭通過響應(yīng)來添加/編輯Cookie

。第四十八頁,共162頁。GeneratecodesnippetsGeneratecodesnippets(生成代碼)一旦您確定并將您的請求保存在Postman中,您可能希望從您自己的應(yīng)用程序發(fā)出相同的請求。PostMan可以讓您以各種語言和框架生成代碼段,從而幫助您執(zhí)行此操作。您需要點(diǎn)擊

藍(lán)色發(fā)送按鈕下的

代碼鏈接打開GENERATECODESNIPPETS模式。第四十九頁,共162頁。Generatecodesnippets選擇語言使用下拉菜單選擇語言-某些語言有多個選項(xiàng)。這可以讓您選擇不同的框架來提出請求。LanguageFrameworkHTTPNone(RawHTTPrequest)CLibCurlcURLNone(Raw

cURL

command)C#RestSharpGoBuilt-in

httppackageJavaOkHttpJavaUnirestJavaScriptjQueryAJAXJavaScriptBuilt-in

XHRNodeJSBuilt-in

http

moduleNodeJSRequestNodeJSUnirestObjective-CBuilt-in

NSURLSessionOCamlCohttpPHPHttpRequestPHPpecl_httpPHPBuilt-in

curlPythonBuilt-in

http.client

(Python3)PythonRequestsRubyBuilt-in

NET::HttpShellwgetShellHTTPieShellcURLSwiftBuilt-in

NSURLSessionPostMan支持以下選項(xiàng)第五十頁,共162頁。CollectionsExamplesDataformatsCreatingcollectionsSharingcollectionsManagingcollections第五十一頁,共162頁。創(chuàng)建集合什么是PostMan集合?PostMan集合可以將個別請求分組在一起。這些請求可以進(jìn)一步組織成文件夾。

為什么要創(chuàng)建集合?組織-將請求組合到文件夾和集合中,以便您不必一遍一遍地搜索歷史記錄。文檔-向請求,文件夾,集合添加名稱和描述。在PostMan中,您可以使用收藏瀏覽器查看此文檔。使用PostmanPro,您可以創(chuàng)建和發(fā)布漂亮的API文檔頁面。測試套件-將測試腳本附加到請求并構(gòu)建集成測試套件。條件工作流程-使用腳本,您可以在API請求之間傳遞數(shù)據(jù),并構(gòu)建反映您的實(shí)際用例的API的工作流。Creatingcollections第五十二頁,共162頁。創(chuàng)建一個新集合轉(zhuǎn)到邊欄中的收藏標(biāo)簽。點(diǎn)擊下面橙色的新收藏圖標(biāo)。輸入您的收藏的名稱(和可選描述)。Creatingcollections第五十三頁,共162頁。將請求保存到集合Creatingcollections在構(gòu)建器中創(chuàng)建一個新請求。點(diǎn)擊Save按鈕。選擇現(xiàn)有集合或新集合,然后點(diǎn)擊Save。第五十四頁,共162頁。保存到歷史的集合Creatingcollections1、要將一個請求保存到集合中,將鼠標(biāo)懸停在“

History”選項(xiàng)卡下的請求中,然后單擊加號圖標(biāo)(+)2、當(dāng)選擇多個請求,單擊加圖標(biāo)(+顯示在邊欄的頂部)。3、選擇現(xiàn)有集合或新集合,然后點(diǎn)擊Save。第五十五頁,共162頁。復(fù)制現(xiàn)有集合Creatingcollections1.單擊省略號(...)以展開控件下拉列表2.從菜單中選擇“Duplicate”。第五十六頁,共162頁。分享收藏Sharingcollections您必須登錄您的PostMan帳戶才能上傳或分享收藏。單擊要共享的集合旁邊的省略號(...)。選擇“Share”以打開SHARECOLLECTION模式,其中包含可以共享集合的大多數(shù)方式。第五十七頁,共162頁。與您的團(tuán)隊(duì)共享一個集合(Pro功能)Sharingcollections如果您是使用PostmanPro或Enterprise的團(tuán)隊(duì)成員,則可以與團(tuán)隊(duì)其他成員共享一個集合。在SHARECOLLECTION模式的“TeamSharing”選項(xiàng)卡下,您可以為團(tuán)隊(duì)指定查看或編輯權(quán)限。您還可以選擇與整個團(tuán)隊(duì)共享集合,或?yàn)閳F(tuán)隊(duì)成員分配個人權(quán)限。第五十八頁,共162頁。分享收藏模式Sharingcollections

鏈接共享為其他人生成一個可共享的鏈接來訪問您的收藏。這不是共享集合的推薦方法。收集鏈接將集合作為時間快照反映出來,并且必須進(jìn)行更新以刷新集合的更改。在

RuninPostman中分享在SHARECOLLECTION模式的“RuninPostman”標(biāo)簽下,您可以創(chuàng)建一個在Postman按鈕來共享您的收藏。只要收集鏈接,集合應(yīng)該手動更新,以反映集合中的新變化。作為文件共享收藏集可以作為JSON文件下載,您可以通過您的PostMan帳戶登錄,或與其他人共享。第五十九頁,共162頁。管理集合

Managingcollections從側(cè)欄中的集合選項(xiàng)卡:

瀏覽集合點(diǎn)擊一個集合來顯示或隱藏構(gòu)成集合的請求。使用鍵盤上的向上和向下箭頭鍵瀏覽集合。編輯并查看收藏細(xì)節(jié)展開右角括號(>)以顯示集合的詳細(xì)信息視圖。折疊左角括號(<)隱藏詳細(xì)信息視圖。您可以添加名稱和描述等元數(shù)據(jù),以便開發(fā)人員使用您的API所需的所有信息都可以輕松獲得。第六十頁,共162頁。重新排列集合

收藏集合Managingcollections集合可以按名稱或上次更新時間按字母順序排序。為此,請選擇右上角的“排序”圖標(biāo),然后選擇Sortbyname或Sortbydate。如果您正在專門研究幾個系列,您可以點(diǎn)擊星形圖標(biāo)將收藏集列在列表的頂部。第六十一頁,共162頁。過濾收藏

刪除集合Managingcollections如果您有很多集合,請使用搜索輸入字段在側(cè)邊欄中過濾集合。單擊集合旁邊的省略號(...),然后選擇“Delete”。如果您不想刪除該集合,您可以點(diǎn)擊Postman應(yīng)用程序頂部顯示的通知中的Undo

鏈接。第六十二頁,共162頁。其他收藏功能Managingcollections重新排序請求在集合或文件夾中,您可以使用拖放對請求進(jìn)行重新排序。您還可以使用拖放來重新排列集合中的文件夾。保存回復(fù)存儲在集合中時,請求也可以存儲樣本響應(yīng)。使用example通過示例,您可以模擬原始響應(yīng)并將其保存到集合中。然后,您可以使用Postman的模擬服務(wù)為每個用戶生成一個模擬端點(diǎn)。添加腳本存儲在集合中的請求可以包含用于向集合添加動態(tài)行為的腳本。第六十三頁,共162頁。添加文件夾Managingcollections文件夾是將集合中的API端點(diǎn)組織成直觀和邏輯組的一種方法,可以鏡像您的工作流。在要添加文件夾的集合旁邊,單擊省略號(...)并選擇“AddFolder”。在文件夾中添加名稱和說明。文件夾最初按名稱按字母順序排列,文件夾的名稱和描述將反映在您的API文檔中。第六十四頁,共162頁。添加文件夾Managingcollections可以為文件夾添加更深層次的嵌套。拖放文件夾以重新排序它們以創(chuàng)建最終的自定義文件夾結(jié)構(gòu)。第六十五頁,共162頁。ExamplesExamples開發(fā)人員可以在發(fā)送實(shí)際請求或設(shè)置單個端點(diǎn)返回響應(yīng)之前,在Postman中模擬請求和響應(yīng)。在API開發(fā)最早期間建立一個Example需要團(tuán)隊(duì)成員之間的明確溝通,使其期望達(dá)到一致,意味著開發(fā)人員和測試人員可以更快地開始使用。第六十六頁,共162頁。什么是一個例子?Examples一個例子是一個緊密耦合的請求和響應(yīng)對。例如,在這個例子中,'200Okcustomresponse'是一個例子的名字,它包含一個’requestexample’和’responseexample'。第六十七頁,共162頁。為什么使用例子?Examples通常情況下,創(chuàng)建和保存幾個example響應(yīng)以及一個請求(200,404,500等的狀態(tài)代碼)可以讓您的API更容易理解。因此,查看您的API的同事可以快速查看這些example,并了解特定請求將返回的響應(yīng)-所有這一切,而無需在請求上按“Send”。此外,假設(shè)您將使用尚不存在的端點(diǎn)構(gòu)建API,否則您的服務(wù)器尚未準(zhǔn)備就緒。通過example,您可以模擬原始響應(yīng)并保存它們。然后,您可以使用Postman的模擬服務(wù)為每個客戶端生成一個模擬端點(diǎn)。通過此設(shè)置,開發(fā)人員可以向模擬端點(diǎn)發(fā)出請求,并根據(jù)模擬端點(diǎn)返回的模擬響應(yīng)開始前端開發(fā)或編寫測試。第六十八頁,共162頁。添加一個例子Examples向每個API端點(diǎn)添加示例只需點(diǎn)擊幾下。假設(shè)您正在處理保存在集合中的請求。您可以使用新的自定義響應(yīng)或從服務(wù)器收到的響應(yīng)為此請求添加示例。第六十九頁,共162頁。一個新的自定義ResponseExamples通過讓您從頭開始創(chuàng)建自己的自定義response,您可以通過示例來定義response應(yīng)該是什么樣子。下面的圖示概述了創(chuàng)建具有新response的示例的步驟。第七十頁,共162頁。一個新的自定義responseExamples單擊“examples”下拉列表。單擊添加示例按鈕?;菊埱笞鳛槭纠庉嬈髦械摹皉equestexample”加載。輸入你的例子的名字。編輯示例的請求部分。輸入狀態(tài)碼。為您的示例創(chuàng)建一個新的響應(yīng)。單擊構(gòu)建器右上角的保存示例按鈕以保存示例。第七十一頁,共162頁。Examples從服務(wù)器收到的響應(yīng)收到服務(wù)器的響應(yīng)后,您可能希望以當(dāng)前請求和響應(yīng)對保存為例。這樣做的步驟類似于從頭開始創(chuàng)建一個新的響應(yīng)。(之前圖)稍后,您可以返回到您的基本請求,并通過點(diǎn)擊構(gòu)建器左上角的請求名稱繼續(xù)在您離開的位置。第七十二頁,共162頁。Examples訪問您保存的示例單擊構(gòu)建器右上角的“examples”下拉列表以訪問所有保存的示例。第七十三頁,共162頁。Examplesexamples如何在Postman文檔中顯示postman有API文檔,只需點(diǎn)擊一下即可發(fā)布到網(wǎng)絡(luò)上。示例顯示在您的API文檔中,為您的API提供其他詳細(xì)信息和說明。您可以隨時返回并編輯這些示例,并對文檔進(jìn)行實(shí)時更新!這允許團(tuán)隊(duì)模擬示例請求和響應(yīng),以及使用模擬服務(wù)器模擬端點(diǎn)。前端和后端開發(fā)人員和測試人員都可以根據(jù)商定的示例并行開始工作。詳細(xì)發(fā)布方式后面會講。第七十四頁,共162頁。Dataformats數(shù)據(jù)格式PostMan可以將收藏,環(huán)境,全局變量和標(biāo)題預(yù)設(shè)導(dǎo)出和導(dǎo)出為文件和鏈接。導(dǎo)出和導(dǎo)入PostMan資料PostMan可以導(dǎo)出和導(dǎo)入以下格式作為文件或生成的URL。從Postman應(yīng)用程序?qū)С黾蠒r,導(dǎo)出的文件是一個JSON文件。該文件包含Postman在導(dǎo)入Postman時重新創(chuàng)建集合所需的所有數(shù)據(jù)(和元數(shù)據(jù)),或由Newman從命令行界面(CLI)運(yùn)行集合所使用的所有數(shù)據(jù)(和元數(shù)據(jù))。第七十五頁,共162頁。Dataformats導(dǎo)出PostMan資料集合(collections)PostMan可以導(dǎo)出兩種格式的集合-v1和v2。Collectionv1和v2都作為JSON文件下載;v2是更多功能和最常用的選擇。環(huán)境(Environments)環(huán)境可以從MANAGEENVIRONMENTS模式導(dǎo)出,并在這里導(dǎo)入。數(shù)據(jù)轉(zhuǎn)儲(Datadumps)從SETTINGS模式的“Data”選項(xiàng)卡,Postman允許您將所有集合,環(huán)境,全局變量和標(biāo)題預(yù)設(shè)導(dǎo)出到一個JSON文件中。PostMan不會導(dǎo)出您的歷史記錄。您可以將此數(shù)據(jù)導(dǎo)入Postman。第七十六頁,共162頁。Dataformats導(dǎo)入PostMan資料postman數(shù)據(jù)可以從SETTINGS模式的“Data”選項(xiàng)卡中導(dǎo)入,也可以使用頭文件工具欄中的“導(dǎo)入”按鈕導(dǎo)入。使用IMPORT模式導(dǎo)入collection,environment,datadump,cUrlcommand或RAML/WADL/Swagger(v1/v2)/Runscope文件。導(dǎo)入cURL最有效的cURL(僅HTTP)命令可以導(dǎo)入Postman。PostMan的importer支持以下cURL選項(xiàng):見下一頁第七十七頁,共162頁。Dataformats導(dǎo)入PostMan資料選項(xiàng)描述-A,-user-agent可選的用戶代理字符串-d,-data將指定的數(shù)據(jù)發(fā)送到具有application/x-www-form-urlencoded類型的服務(wù)器-data-ASCII將指定的數(shù)據(jù)發(fā)送到具有application/x-www-form-urlencoded類型的服務(wù)器-data-進(jìn)行urlencode將指定的數(shù)據(jù)發(fā)送到具有application/x-www-form-urlencoded類型的服務(wù)器-data二進(jìn)制數(shù)據(jù)按原樣發(fā)送-F,-form<name=content>單個表單數(shù)據(jù)字段(可以多次使用)-G,-get強(qiáng)制要發(fā)送的請求為GET,附加到查詢字符串的-data參數(shù)-H,開頭添加標(biāo)題(可多次使用)-X,-request指定要使用的自定義請求方法-url指定URL的另一種方式可以導(dǎo)入的幾個命令包括cURL影響curl/get在Postman中創(chuàng)建GET請求,并預(yù)先填充URLcurl-requestPOST-url/post-formcolor=red-formcolor=green使用多值表單數(shù)據(jù)行創(chuàng)建POST請求curl-XPUT-data-binaryhello/put使用原始數(shù)據(jù)創(chuàng)建POST請求curl-XPUT-data-ascii'a=b&c=d'/put-H'AccessToken:1234'使用urlencoded表單數(shù)據(jù)和自定義標(biāo)頭創(chuàng)建PUT請求第七十八頁,共162頁。Dataformats導(dǎo)入RAML將RAML文件夾保存為集合將包含RAML定義的存儲庫克隆到本地計(jì)算機(jī),或?qū)⑵浔镜卮鎯槲募A。單擊import按鈕,然后選擇導(dǎo)入文件夾選項(xiàng)卡。3.單擊選擇文件夾并上傳RAML文件夾。4.完成了!PostMan將檢測所有RAML定義并將其內(nèi)部轉(zhuǎn)換為PostMan,然后顯示導(dǎo)入成功消息。下載一個RAML文件examples:

github-api-v3.raml第七十九頁,共162頁。DataformatsImporterSwaggerSwaggerAPI定義通常以單個文件形式存在,因此我們只支持導(dǎo)入單個swagger文件。如果文件夾中有很多不相關(guān)的Swagger文件,可以通過文件夾導(dǎo)入器導(dǎo)入這些文件。將Swagger文件保存為集合1.將包含Swagger定義的存儲庫克隆到本地計(jì)算機(jī)。如果你把它當(dāng)作文件保存在本地,那當(dāng)然可以。2.單擊導(dǎo)入按鈕,然后選擇導(dǎo)入文件選項(xiàng)卡。如果文件夾中有很多不相關(guān)的Swagger文件,可以通過文件夾導(dǎo)入器導(dǎo)入這些文件。3.點(diǎn)擊文件并上傳Swagger文件完成!PostMan將檢測所有Swagger定義并將其內(nèi)部轉(zhuǎn)換為PostMan,然后向您顯示導(dǎo)入成功消息。Swagger2.0Examples:https:

///OAI/OpenAPI-Specification/tree/master/examples/v2.0第八十頁,共162頁。Dataformats導(dǎo)入WADLPostMan也可以導(dǎo)入W??ADL規(guī)范。雖然所有方面都不受支持,但您可以期待Postman使用的各種參數(shù)(集合,文件夾,請求,標(biāo)頭,請求有效載荷(Collection,folder,request,header,requestpayload))正確生成。

<applicationxmlns="/2009/02">

<resourcesbase="/api"><resourcepath="books"><methodname="GET"/><resourcepath="{bookId}">

<paramrequired="true"style="template"name="bookId"/><methodname="GET"/>

<methodname="DELETE"/>

<resourcepath="reviews"><methodname="GET">

<request><paramname="page"required="false"default="1"style="query"/><paramname="size"required="false"default="20"style="query"/>

</request></method></resource></resource></resource><resourcepath="readers"><methodname="GET"/></resource>

</resources></application>

示例WADL文件第八十一頁,共162頁。Dataformats驗(yàn)證收集JSON文件要驗(yàn)證JSON文件是否采用正確的集合格式,可以使用PostMan的

schemafilesforcollections。模式文件位于

。相關(guān)文檔可以在找到。一切都存儲在GitHub/postmanlabs/schemas上。要查看使用模式和is-my-json-valid驗(yàn)證器)的數(shù)據(jù)驗(yàn)證示例,請查看此文。第八十二頁,共162頁。PostMan腳本什么是PostMan腳本?預(yù)請求腳本測試腳本測試示例分支和循環(huán)PostMan沙盒第八十三頁,共162頁。什么是PostMan腳本PostMan腳本Postman包含一個基于Node.js的強(qiáng)大的運(yùn)行時,它允許您向請求和集合添加動態(tài)行為。這允許您編寫測試套件,構(gòu)建可以包含動態(tài)參數(shù)的請求,在請求之間傳遞數(shù)據(jù)等等。您可以在流程中的兩個事件中添加要執(zhí)行的JavaScript代碼:在將請求發(fā)送到服務(wù)器之前,作為Pre-requestScript選項(xiàng)卡下的預(yù)請求腳本。收到響應(yīng)后,作為“Tests”選項(xiàng)卡下的測試腳本。Postman中單個請求的請求執(zhí)行流程如下所示:第八十四頁,共162頁。這怎么用?這是魔法嗎不,這是PostMan

Sandbox。PostmanSandbox是一個JavaScript執(zhí)行環(huán)境,您可以在為請求(在PostMan和紐曼州)撰寫預(yù)請求和測試腳本時可用。這些部分中寫入的代碼都是在這個沙盒中執(zhí)行的。調(diào)試腳本調(diào)試腳本可以在“

Pre-requestscripts”

選項(xiàng)卡或“Tests”

選項(xiàng)卡下編寫,并在PostmanConsole中記錄有用的消息

。第八十五頁,共162頁。預(yù)請求腳本是與發(fā)送請求之前執(zhí)行的收集請求相關(guān)聯(lián)的代碼片段。這對于例如在請求頭中包含時間戳或在URL參數(shù)中發(fā)送隨機(jī)字母數(shù)字字符串的用例非常適用。例如,要在請求標(biāo)頭中包含時間戳,可以使用從函數(shù)返回的值來設(shè)置環(huán)境變量。然后,您可以通過鍵入來訪問頭數(shù)據(jù)編輯器中的timestampHeader變量。當(dāng)請求發(fā)送時,您的預(yù)請求腳本將被執(zhí)行,并且timestampHeader的值將被發(fā)送代替。{{timestampHeader}}{{timestampHeader}}注意:

要設(shè)置環(huán)境變量,環(huán)境必須處于活動狀態(tài)。預(yù)請求腳本使用JavaScript編寫,語法與

Testsscript

完全相同,但響應(yīng)對象不存在。預(yù)請求腳本(pre-requestscript)第八十六頁,共162頁。使用Postman,您可以使用JavaScript語言為每個請求編寫和運(yùn)行測試。測試腳本第八十七頁,共162頁。寫PostMan測試Postman測試本質(zhì)上是為特殊測試對象設(shè)置值的JavaScript代碼。測試腳本在發(fā)送請求后執(zhí)行,允許訪問響應(yīng)對象。您可以為對象中的元素設(shè)置描述性鍵,然后說明是否為true。例如,tests[“Bodycontainsuser_id”]=responseBody.has(“user_id”);將檢查響應(yīng)正文是否包含user_id字符串。您可以根據(jù)需要添加任意數(shù)量的密鑰,具體取決于您要測試的內(nèi)容。查看一些Postman測試的例子。測試作為收集請求的一部分被保存。這對于后端和前端開發(fā)人員都是完美的,以確保一切都能正常運(yùn)行。第八十八頁,共162頁。PostMan測試在沙盒環(huán)境中運(yùn)行,這與應(yīng)用程序的執(zhí)行環(huán)境是分開的。Sandbox代碼段雖然在編寫測試時,幾乎沒有什么需要記住的東西,但Postman會嘗試通過在編輯器旁邊列出常用的代碼段來簡化此過程。您可以選擇要添加的代碼段,并將相應(yīng)的代碼添加到測試編輯器中。這是快速構(gòu)建測試用例的好方法。第八十九頁,共162頁。查看結(jié)果PostMan每次運(yùn)行請求時都會運(yùn)行測試。當(dāng)然,您可以選擇不查看測試結(jié)果!結(jié)果顯示在響應(yīng)查看器下的“Tests”選項(xiàng)卡中。該選項(xiàng)卡標(biāo)題顯示了傳遞了多少測試,并在此列出了在測試變量中設(shè)置的鍵。如果值為true,則測試通過。第九十頁,共162頁。測試腳本在發(fā)送請求并從服務(wù)器收到響應(yīng)后運(yùn)行。我們來看一些Postman測試的例子。大多數(shù)這些在Postman中可以作為片段。大多數(shù)測試與單行JavaScript語句一樣簡單。您可以按要求提供許多測試。1.設(shè)置環(huán)境變量postman.setEnvironmentVariable("key","value");2.將嵌套對象設(shè)置為環(huán)境變量vararray=[1,2,3,4];postman.setEnvironmentVariable("array",JSON.stringify(array,null,2));varobj={a:[1,2,3,4],b:{c:'val'}};postman.setEnvironmentVariable("obj",JSON.stringify(obj));3.獲取環(huán)境變量postman.getEnvironmentVariable("key");測試示例第九十一頁,共162頁。測試示例4.獲取一個環(huán)境變量(其值是一個字符串對象)//Thesestatementsshouldbewrappedinatry-catchblockifthedataiscomingfromanunknownsource.vararray=JSON.parse(postman.getEnvironmentVariable("array"));varobj=JSON.parse(postman.getEnvironmentVariable("obj"));5.清除環(huán)境變量postman.clearEnvironmentVariable("key");6.設(shè)置一個全局變量postman.setGlobalVariable("key","value");7.獲取全局變量postman.getGlobalVariable("key");8.清除全局變量postman.clearGlobalVariable("key");9.檢查響應(yīng)體是否包含一個字符串tests["Bodymatchesstring"]=responseBody.has("string_you_want_to_search");10.將XML體轉(zhuǎn)換為JSON對象varjsonObject=xml2Json(responseBody);11.檢查響應(yīng)體是否等于一個字符串tests["Bodyiscorrect"]=responseBody==="response_body_string";12.檢查JSON值vardata=JSON.parse(responseBody);tests["Yourtestname"]=data.value===100;13.內(nèi)容類型存在(不區(qū)分大小寫的檢查)tests["Content-Typeispresent"]=postman.getResponseHeader("Content-Type");//Note:thegetResponseHeader()methodreturnstheheadervalue,ifitexists.14.內(nèi)容類型存在(區(qū)分大小寫)tests["Content-Typeispresent"]=responseHeaders.hasOwnProperty("Content-Type");15.響應(yīng)時間小于200mstests["Responsetimeislessthan200ms"]=responseTime<200;16.響應(yīng)時間在一個特定的范圍內(nèi)(包括下限,上限排除)tests["Responsetimeisacceptable"]=_.inRange(responseTime,100,1001);//_istheinbuiltLodashv3.10.1object,documentedat/docs/3.10.117.狀態(tài)碼是200tests["Statuscodeis200"]=responseCode.code===200;18.代碼名稱包含一個字符串tests["Statuscodenamehasstring"]=responseC.has("Created");19.POST請求狀態(tài)代碼成功tests["SuccessfulPOSTrequest"]=responseCode.code===201||responseCode.code===202;第九十二頁,共162頁。20.將TinyValidator用于JSON數(shù)據(jù)varschema={"items":{"type":"boolean"}};vardata1=[true,false];vardata2=[true,123];tests["ValidData1"]=tv4.validate(data1,schema);tests["ValidData2"]=tv4.validate(data2,schema);console.log("Validationfailed:",tv4.error);21.解碼base64編碼數(shù)據(jù)varintermediate,base64Content,//assumethishasabase64encodedvaluerawContent=base64Content.slice('data:application/octet-stream;base64,'.length);intermediate=CryptoJS.enc.Base64.parse(base64content);//CryptoJSisaninbuiltobject,documentedhere:/package/crypto-jstests["Contentsarevalid"]=CryptoJS.enc.Utf8.stringify(intermediate);//acheckfornon-emptiness測試示例示例數(shù)據(jù)文件JSON文件由鍵/值對組成。下載JSON文件對于CSV文件,頂行需要包含變量名。下載CSV文件第九十三頁,共162頁。運(yùn)行集合時,您可以使用該postman.setNextRequest("request_name");功能在Postman中分支和循環(huán)使用API??請求。設(shè)置要執(zhí)行的請求停止工作流執(zhí)行postman.setNextRequest("request_name");postman.setNextRequest(null);分支和循環(huán)一些關(guān)鍵點(diǎn)postman.setNextRequest():指定后續(xù)請求的名稱或ID,集合運(yùn)行者將處理其余請求。它可以在預(yù)請求或測試腳本中使用。在多于一個作業(yè)的情況下,考慮最后一個設(shè)定值。如果postman.setNextRequest()在請求中不存在,則收集運(yùn)行器默認(rèn)為線性執(zhí)行并移動到下一個請求第九十四頁,共162頁。PostMan沙盒postmanSandbox是一個JavaScript執(zhí)行環(huán)境,您可以在編寫預(yù)請求腳本和測試腳本(在Postman和Newman中)時可用。在這個沙箱中執(zhí)行您在預(yù)請求/測試腳本部分中寫入的代碼。Lodash:JS實(shí)用程序庫cheerio:一個快速,精簡的核心jQueryAPI實(shí)現(xiàn)(版本4.6.0及更高版本)BackboneJS

已棄用:提供簡單的模型,視圖和集合。這將在以后版本的沙箱中刪除。SugarJS

已棄用:使用有用的方法擴(kuò)展本機(jī)JS對象。這將在以后版本的沙箱中刪除。tv4JSON模式驗(yàn)證器:根據(jù)json-schema草案的v4驗(yàn)證JSON對象CryptoJS:標(biāo)準(zhǔn)和安全的加密算法。支持的算法:AES,DES,EvpKDF,HMAC-MD5,HMAC-SHA1/3/256/512,MD5,PBKDF2,Rabbit,SHA1/3/224/256/512,TripleDESxml2Json(xmlString):這個功能在Newman和Postman中是一樣的xmlToJson(xmlString)

已棄用:此功能在Newman和Postman中的行為不相同postman.getResponseHeader(headerName)

Test-only:返回名稱為“headerName”的響應(yīng)頭(如果存在)。如果沒有這樣的頭存在,則返回null。

注意:根據(jù)W3C規(guī)范,頭名不區(qū)分大小寫。這個方法是照顧這個。

postman.getResponseHeader("Content-type")

postman.getResponseHeader("content-Type")

返回相同的值。注意:自版本以來,jQuery支持已經(jīng)停用第九十五頁,共162頁。環(huán)境和全局變量postman.setEnvironmentVariable(variableName,variableValue):設(shè)置一個環(huán)境變量“variableName”,并為其分配字符串“variableValue”。您必須為此方法選擇一個環(huán)境才能工作。

注意:只能存儲字符串。存儲其他類型的數(shù)據(jù)將導(dǎo)致意外的行為。postman.getEnvironmentVariable(variableName):返回環(huán)境變量“variableName”的值,用于預(yù)先請求和測試腳本。您必須為此方法選擇一個環(huán)境才能工作。postman.setGlobalVariable(variableName,variableValue):設(shè)置一個全局變量“variableName”,并為其分配字符串“variableValue”。

注意:只能存儲字符串。存儲其他類型的數(shù)據(jù)將導(dǎo)致意外的行為。postman.getGlobalVariable(variableName):返回全局變量“variableName”的值,用于預(yù)請求和測試腳本。postman.clearEnvironmentVariable(variableName):清除名為“variableName”的環(huán)境變量。您必須為此方法選擇一個環(huán)境才能工作。postman.clearGlobalVariable(variableName):清除名為“variableName”的全局變量。postman.clearEnvironmentVariables():清除所有環(huán)境變量。您必須為此方法選擇一個環(huán)境才能工作。postman.clearGlobalVariables():清除所有全局變量。environment:當(dāng)前環(huán)境中的變量字典。使用

environment["foo"]

訪問“foo”的環(huán)境變量的值。注意:這只能用于讀取變量。使用

setEnvironmentVariable()

設(shè)置值。globals全局變量字典

使用

globals["bar"]

訪問“欄中的”全局變量的值。注意:這只能用于讀取變量。使用

setGlobalVariable()

設(shè)置值第九十六頁,共162頁。動態(tài)變量PostMan還有一些動態(tài)變量,您可以在您的請求中使用。請注意,動態(tài)變量不能在沙盒中使用。您只能以請求URL/headers/body中的格式使用它們。{{..}}{{$guid}}{{$timestamp}}{{$randomInt}}添加v4風(fēng)格的guid添加當(dāng)前時間戳添加0到1000之間的隨機(jī)整數(shù)第九十七頁,共162頁。CookiesresponseCookies{array}

Postman-only獲取為域設(shè)置的所有Cookie。您將需要啟用

攔截器

才能工作。postman.getResponseCookie(cookieName)

Postman-only獲取具有給定名稱的響應(yīng)cookie。您將需要啟用攔截器才能工作。查看博客文章。第九十八頁,共162頁。請求/響應(yīng)相關(guān)屬性request{object}:Postman在寫腳本時使請求對象可以使用。該對象是只讀的。更改此對象的屬性將不起作用。注意:變量不會在請求對象中解析。請求對象由以下內(nèi)容組成:data{object}

-這是請求的表單數(shù)據(jù)字典。(request.data[“key”]==”value”)headers{object}

-這是請求的標(biāo)題字典(request.headers[“key”]==”value”)method{string}

-GET/POST/PUT等url{string}

-請求的url。responseHeaders{object}

已棄用,

僅測試:這是響應(yīng)頭的映射。這是區(qū)分大小寫的,不應(yīng)該使用。檢查postman.getResponseHeader()

上面列出的

方法。responseBody{string}

僅測試:包含原始響應(yīng)正文文本的字符串。您可以將其用作JSON.parse或xml2Json的輸入。responseTime{number}

僅測試:響應(yīng)時間(以毫秒為單位)responseCode{object}

測試:包含三個屬性:code{number}:響應(yīng)代碼(200為OK,404為NotFound等)name{string}:狀態(tài)碼文本detail{string}:響應(yīng)代碼的說明tests{object}

僅測試:此對象用于填充。PostMan將將此對象的每個屬性作為布爾測試。iteration{number}:僅在CollectionRunner和Newman中可用。表示當(dāng)前測試運(yùn)行索引。從0開始。僅測試:此對象僅在測試腳本部分可用。在預(yù)先請求的腳本中使用它會拋出錯誤。第九十九頁,共162頁。數(shù)據(jù)文件如果您在CollectionRunner或Newman中使用數(shù)據(jù)文件,則可以訪問data對象,該對象是當(dāng)前測試運(yùn)行中數(shù)據(jù)值的字典。第一百頁,共162頁。環(huán)境和全局變量變量管理環(huán)境管理全局變量第一百零一頁,共162頁。變量(Variables)什么是變量?

變量是可以采用不同值的符號。您可能熟悉來自其他語言的變量,從您以前的編程經(jīng)驗(yàn)。Postman中的變量工作方式相同。

為什么要用變量?變量允許您在多個位置重用值,以便您可以保留代碼DRY(不要重復(fù)自己)。另外,如果要更改值,您可以通過其他代碼中的影響級聯(lián)來更改變量一次。假設(shè)您有3個使用相同域的API端點(diǎn)。您可在該網(wǎng)站保存為一個變量,而不是重復(fù)的值,可以使用和在請求建設(shè)者?,F(xiàn)在,如果您的域更改為,您只需要更改此值一次。{{domain}}/endpoint1{{domain}}/使用Postman的腳本引擎,您可以設(shè)置變量值,從一個請求復(fù)制數(shù)據(jù)并將其用于另一個請求等。第一百零二頁,共162頁。變量(Variables)變量范圍以下范圍可供您使用:GlobalEnvironmentLocalData范圍可以被看作是值存在的不同種類的桶。如果一個變量在兩個不同的范圍內(nèi),則具有較高優(yōu)先級的范圍將勝出,并且該變量從那里獲取其值。PostMan使用這種從廣泛到窄范圍的層次結(jié)構(gòu)來解決范圍。

如果來自當(dāng)前活動環(huán)境的變量與全局變量共享其名稱,則環(huán)境變量將優(yōu)先。換句話說,全局變量被環(huán)境變量覆蓋,這些變量被數(shù)據(jù)變量覆蓋

(僅在集合運(yùn)行程序中可用

)。第一百零三頁,共162頁。變量(Variables)訪問請求構(gòu)建器中的變量變量可以在Postman用戶界面中以下列形式使用。當(dāng)Postman解析變量時,字符串{{variableName}}將替換為相應(yīng)的值。例如,對于具有值“http://localhost”的環(huán)境變量“url”,您必須在請求URL字段中使用。將在請求發(fā)送時被替換。由于使用字符串替換來訪問請求構(gòu)建器中的變量,因此可以在請求構(gòu)建器中的任何位置使用它們,您可以在其中添加文本。這包括URL,URL參數(shù),標(biāo)題,授權(quán),請求正文和標(biāo)題

溫馨提示

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

評論

0/150

提交評論