<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          API測(cè)試之Postman使用完全指南,超詳細(xì) (原來使用 Postman測(cè)試API如此簡(jiǎn)單)

          共 7013字,需瀏覽 15分鐘

           ·

          2020-10-23 18:49

          Postman是一個(gè)可擴(kuò)展的API開發(fā)和測(cè)試協(xié)同平臺(tái)工具,可以快速集成到CI/CD管道中。旨在簡(jiǎn)化測(cè)試和開發(fā)中的API工作流。

          Postman 工具有 Chrome 擴(kuò)展和獨(dú)立客戶端,推薦安裝獨(dú)立客戶端。

          Postman 有個(gè) workspace 的概念,workspace 分 personal 和 team 類型。Personal workspace 只能自己查看的 API,Team workspace 可添加成員和設(shè)置成員權(quán)限,成員之間可共同管理 API。

          當(dāng)然我個(gè)人使用一般是不登錄的,因?yàn)榈卿浿髸?huì)自動(dòng)將你的測(cè)試歷史數(shù)據(jù)保存到賬戶里,你可以登陸網(wǎng)頁端進(jìn)行查看。


          因?yàn)锳PI的很多數(shù)據(jù)是很敏感的,有的含有Token,或者就是一些私密信息,雖然Postman自己也強(qiáng)調(diào)說這樣很安全,不會(huì)私下窺探用戶的信息之類的,但是呢還是至少做一點(diǎn)有效的防范吧,自己不上傳,因?yàn)榫W(wǎng)絡(luò)并沒有絕對(duì)的安全。


          所以我每次測(cè)試之后會(huì)將數(shù)據(jù)(Case)保存在本地,下次使用或者換設(shè)備的情況下將數(shù)據(jù)拷貝過來又可以繼續(xù)使用了。


          下面正式開始介紹如何使用Postman吧。

          為什么選擇Postman?

          如今,Postman的開發(fā)者已超過1000萬(來自官網(wǎng)),選擇使用Postman的原因如下:
          簡(jiǎn)單易用?- 要使用Postman,你只需登錄自己的賬戶,只要在電腦上安裝了Postman應(yīng)用程序,就可以方便地隨時(shí)隨地訪問文件。
          使用集合?- Postman允許用戶為他們的API調(diào)用創(chuàng)建集合。每個(gè)集合可以創(chuàng)建子文件夾和多個(gè)請(qǐng)求。這有助于組織測(cè)試結(jié)構(gòu)。
          多人協(xié)作?- 可以導(dǎo)入或?qū)С黾虾铜h(huán)境,從而方便共享文件。直接使用鏈接還可以用于共享集合。
          創(chuàng)建環(huán)境?- 創(chuàng)建多個(gè)環(huán)境有助于減少測(cè)試重復(fù)(DEV/QA/STG/UAT/PROD),因?yàn)榭梢詾椴煌沫h(huán)境使用相同的集合。這是參數(shù)化發(fā)生的地方,將在后續(xù)介紹。
          創(chuàng)建測(cè)試?- 測(cè)試檢查點(diǎn)(如驗(yàn)證HTTP響應(yīng)狀態(tài)是否成功)可以添加到每個(gè)API調(diào)用中,這有助于確保測(cè)試覆蓋率。
          自動(dòng)化測(cè)試?- 通過使用集合Runner或Newman,可以在多個(gè)迭代中運(yùn)行測(cè)試,節(jié)省了重復(fù)測(cè)試的時(shí)間。
          調(diào)試?- Postman控制臺(tái)有助于檢查已檢索到的數(shù)據(jù),從而易于調(diào)試測(cè)試。
          持續(xù)集成——通過其支持持續(xù)集成的能力,可以維護(hù)開發(fā)實(shí)踐。

          如何下載安裝Postman?

          Step 1) 官網(wǎng)主頁:

          https://www.postman.com/downloads/

          下載所需版本進(jìn)行安裝即可。
          Step2)安裝完成之后會(huì)要求你必須登錄才能使用,沒有賬號(hào)可以進(jìn)行注冊(cè),注冊(cè)是免費(fèi)的。(也可使用Google賬號(hào),不過基本不能登錄,你懂的)

          Step3)在Workspace選擇你要使用的工具并點(diǎn)擊“Save My Preferences”保存。
          Step4)你將看到啟動(dòng)后的頁面如下

          如何使用Postman?

          下圖是Postman的工作區(qū)間,各個(gè)模塊功能的介紹如下:

          1、New,在這里創(chuàng)建新的請(qǐng)求、集合或環(huán)境;還可以創(chuàng)建更高級(jí)的文檔、Mock Server 和 Monitor以及API。
          2、Import,這用于導(dǎo)入集合或環(huán)境。有一些選項(xiàng),例如從文件,文件夾導(dǎo)入,鏈接或粘貼原始文本。
          3、Runner,可以通過Collection Runner執(zhí)行自動(dòng)化測(cè)試。后續(xù)介紹。
          4、Open New,打開一個(gè)新的標(biāo)簽,Postman窗口或Runner窗口。
          5、My Workspace - 可以單獨(dú)或以團(tuán)隊(duì)的形式創(chuàng)建新的工作區(qū)。
          6、Invite - 通過邀請(qǐng)團(tuán)隊(duì)成員在工作空間上進(jìn)行協(xié)同工作。
          7、History - 所有請(qǐng)求的歷史記錄,這樣可以很容易地跟蹤你所做的操作。
          8、Collections - 通過創(chuàng)建集合來組織你的測(cè)試套件。每個(gè)集合可能有子文件夾和多個(gè)請(qǐng)求。請(qǐng)求或文件夾也可以被復(fù)制。
          9、Request tab - 這將顯示您正在處理的請(qǐng)求的標(biāo)題。默認(rèn)對(duì)于沒有標(biāo)題的請(qǐng)求會(huì)顯示“Untitled Request”。
          10、HTTP Request - 單擊它將顯示不同請(qǐng)求的下拉列表,例如 GET, POST, COPY, DELETE, etc. 在測(cè)試中,最常用的請(qǐng)求是GET和POST。
          11、Request URL - 也稱為端點(diǎn),顯示API的URL。.
          12、Save - 如果對(duì)請(qǐng)求進(jìn)行了更改,必須單擊save,這樣新更改才不會(huì)丟失或覆蓋。
          13、Params - 在這里將編寫請(qǐng)求所需的參數(shù),比如Key - Value。
          14、Authorization - 為了訪問api,需要適當(dāng)?shù)氖跈?quán)。它可以是Username、Password、Token等形式。
          15、Headers - 請(qǐng)求頭信息
          16、Body - 請(qǐng)求體信息,一般在POST中才會(huì)使用到
          17、Pre-request Script - 請(qǐng)求之前 先執(zhí)行腳本,使用設(shè)置環(huán)境的預(yù)請(qǐng)求腳本來確保在正確的環(huán)境中運(yùn)行測(cè)試。
          18、Tests - 這些腳本是在請(qǐng)求期間執(zhí)行的。進(jìn)行測(cè)試非常重要,因?yàn)樗O(shè)置檢查點(diǎn)來驗(yàn)證響應(yīng)狀態(tài)是否正常、檢索的數(shù)據(jù)是否符合預(yù)期以及其他測(cè)試。
          19、Settings - 最新版本的有設(shè)置,一般用不到。

          如何處理GET請(qǐng)求

          Get請(qǐng)求用于從指定的URL獲取信息,不會(huì)對(duì)端點(diǎn)進(jìn)行任何更改。
          在這里我們使用如下的URL作為演示:

          https://jsonplaceholder.typicode.com/users

          在Postman的工作區(qū)中:
          1、選擇HTTP請(qǐng)求方式為GET
          2、在URL區(qū)域輸入 鏈接
          3、點(diǎn)擊 “Send”按鈕
          4、你將看到下方返回200狀態(tài)碼
          5、在正文中應(yīng)該有10個(gè)用戶結(jié)果,表明您的測(cè)試已經(jīng)成功運(yùn)行。

          **注意:**在某些情況下,Get請(qǐng)求失敗可能由于URL無效或需要身份驗(yàn)證。

          如何處理POST請(qǐng)求

          Post請(qǐng)求與Get請(qǐng)求不同,因?yàn)榇嬖谟脩粝蚨它c(diǎn)添加數(shù)據(jù)的數(shù)據(jù)操作。使用之前GET 請(qǐng)求中相同數(shù)據(jù),現(xiàn)在添加我們自己的用戶。
          Step 1)創(chuàng)建一個(gè)新請(qǐng)求

          Step 2 )在新請(qǐng)求中
          1、選擇HTTP請(qǐng)求方式為GET
          2、在URL區(qū)域輸入 鏈接:https://jsonplaceholder.typicode.com/users
          3、切換到Body選項(xiàng)

          Step 3)?Body選項(xiàng)
          1、選中raw選項(xiàng)
          2、選擇JSON

          Step 4)?復(fù)制前面GET請(qǐng)求返回的json內(nèi)容的第一節(jié)
          更改id為11,更改name以及uesrname和email

          [
          {
          "id": 11,
          "name": "Krishna Rungta",
          "username": "Bret",
          "email": "Sincere@april.biz
          ",
          "address": {
          "street": "Kulas Light",
          "suite": "Apt. 556",
          "city": "Gwenborough",
          "zipcode": "92998-3874",
          "geo": {
          "lat": "-37.3159",
          "lng": "81.1496"
          }
          },
          "phone": "1-770-736-8031 x56442",
          "website": "hildegard.org",
          "company": {
          "name": "Romaguera-Crona",
          "catchPhrase": "Multi-layered client-server neural-net",
          "bs": "harness real-time e-markets"
          }
          }
          ]

          注意:?檢查Body里用到的JSON格式很重要,以確保數(shù)據(jù)正確。
          檢測(cè)的工具比如:https://jsonformatter.curiousconcept.com/


          Step 5 )發(fā)送請(qǐng)求
          1、完成上述的信息輸入,點(diǎn)擊Send按鈕
          2、Status:應(yīng)該是201,顯示為創(chuàng)建成功
          3、在Body里返回?cái)?shù)據(jù)

          如何將請(qǐng)求參數(shù)化

          數(shù)據(jù)參數(shù)化是Postman最有用的特征之一。你可以將使用到的變量進(jìn)行參數(shù)化,而不是使用不同的數(shù)據(jù)創(chuàng)建相同的請(qǐng)求,這樣會(huì)事半功倍,簡(jiǎn)潔明了。
          這些數(shù)據(jù)可以來自數(shù)據(jù)文件環(huán)境變量。參數(shù)化有助于避免重復(fù)相同的測(cè)試,可用于自動(dòng)化迭代測(cè)試。

          參數(shù)通過使用雙花括號(hào)創(chuàng)建:{{sample}}
          比如下面的請(qǐng)求:

          接下來創(chuàng)建一個(gè)參數(shù)化get請(qǐng)求:
          Step 1)?創(chuàng)建一個(gè)參數(shù)化get請(qǐng)求
          1、將HTTP請(qǐng)求設(shè)置為GET
          2、輸入U(xiǎn)RL:https://jsonplaceholder.typicode.com/users;將鏈接的域名部分替換為參數(shù),例如
          {{url}}。請(qǐng)求url現(xiàn)在應(yīng)該是{{url}}/users。
          3、點(diǎn)擊Send按鈕。
          應(yīng)該沒有響應(yīng),因?yàn)槲覀儧]有設(shè)置參數(shù)的源,如下圖:

          Step 2)?使用環(huán)境設(shè)置所需的參數(shù)
          1、點(diǎn)擊眼睛圖標(biāo)
          2、單擊Edit將該變量設(shè)置為可在所有集合中使用的全局環(huán)境。

          Step 3)?變量–variable
          1、將名稱設(shè)置為url,該url為https://jsonplaceholder.typicode.com
          2、點(diǎn)擊保存按鈕

          Step 4)?如果看到下面截圖的樣式,請(qǐng)單擊Close
          Step 5 )?回到你的Get請(qǐng)求頁面,然后單擊發(fā)送Send按鈕,Get請(qǐng)求應(yīng)該就會(huì)返回結(jié)果了,如下圖:

          注意:請(qǐng)確保所有的參數(shù)都有準(zhǔn)確的源數(shù)據(jù),不管是環(huán)境變量還是數(shù)據(jù)文件,以避免出錯(cuò)。

          如何創(chuàng)建Postman Tests

          Postman Tests在請(qǐng)求中添加JavaScript代碼來協(xié)助驗(yàn)證結(jié)果,如:成功或失敗狀態(tài)、預(yù)期結(jié)果的比較等等。
          通常從pm.test開始。它可以與斷言相比較,驗(yàn)證其他工具中可用的命令。
          接下來創(chuàng)建一個(gè)包含Tests的請(qǐng)求:
          Step 1)?創(chuàng)建一個(gè)Get請(qǐng)求
          1、切換到Tests選項(xiàng),右邊是代碼片段選項(xiàng)。
          2、從右邊的代碼片段選項(xiàng)里面選中 “Status code: Code is 200”
          3、JS代碼就自動(dòng)出現(xiàn)在窗口中

          Step 2)?點(diǎn)擊發(fā)送請(qǐng)求按鈕。測(cè)試結(jié)果就顯示出來了,如下圖:
          Step 3)?回到Tests選項(xiàng)卡,讓我們添加另一個(gè)測(cè)試。這次我們將比較預(yù)期結(jié)果和實(shí)際結(jié)果。
          在右邊的SNIPPETS區(qū)域選擇"Response body:JSON value check"選項(xiàng),我們將檢查L(zhǎng)eanne Graham是否擁有userid 1。

          Step 4)
          1、將代碼中的“Your Test Name”替換為“Check if user with id1 is Leanne Graham”,以便測(cè)試名稱確切描述我們想測(cè)試的內(nèi)容。
          2、使用jsonData[0].name代替jsonData.value; 獲取路徑,在獲取結(jié)果之前檢查Body。因?yàn)長(zhǎng)eanne Graham是userid 1,所以jsonData在第一個(gè)結(jié)果中,這個(gè)結(jié)果應(yīng)該從0開始。如果你想獲得第二個(gè)結(jié)果,那么對(duì)后續(xù)結(jié)果使用jsonData[1] 即可。
          3、在eql中,輸入“Leanne Graham”

          pm.test("Check if user with id1 is Leanne Graham", function () {
          var jsonData = pm.response.json();
          pm.expect(jsonData[0].name).to.eql("Leanne Graham");
          });


          Step 5)?點(diǎn)擊發(fā)送請(qǐng)求,可以看到你的請(qǐng)求之后測(cè)試結(jié)果中有兩項(xiàng)顯示測(cè)試通過。

          注意:
          有不同種類的測(cè)試可以在Postman中創(chuàng)建。嘗試探索這個(gè)工具,看看哪些測(cè)試適合你實(shí)際測(cè)試。

          如何創(chuàng)建測(cè)試集合

          集合在組織測(cè)試套件中扮演著重要的角色。它可以被導(dǎo)入和導(dǎo)出,使得在團(tuán)隊(duì)之間共享集合變得很容易。在本教程中,我們將學(xué)習(xí)如何創(chuàng)建和執(zhí)行集合。

          Step 1)?單擊頁面左上角的New按鈕,如下圖:



          Step 2)?選擇Collection(集合). 創(chuàng)建collection窗口彈出,如下圖.
          Step 3)?輸入所需的集合名稱和描述,然后單擊create。
          現(xiàn)在已經(jīng)創(chuàng)建了一個(gè)集合。

          Step 4 )?和前面的Get請(qǐng)求一樣,點(diǎn)擊保存。
          Step5 )
          1、選擇Postman 測(cè)試集合(Test Collection)。
          2、點(diǎn)擊保存Postman Test Collection

          Step 6)?Postman test collection現(xiàn)在應(yīng)該包含了一個(gè)請(qǐng)求,如下圖:
          Step 7)?重復(fù)上述的Step4-5,繼續(xù)創(chuàng)建請(qǐng)求,這樣,測(cè)試集合就應(yīng)該有2個(gè)請(qǐng)求了,如下圖。

          如何使用Collection Runner 運(yùn)行集合

          有兩種方式來運(yùn)行一個(gè)集合,即Collection Runner和Newman。
          Collection Runner:
          Step 1)?單擊頁面頂部導(dǎo)入按鈕旁邊的Runner按鈕,如下圖。

          Step 2)Collection Runner頁面應(yīng)該出現(xiàn)如下所示。以下是對(duì)各個(gè)字段的描述
          Step 3)?做如下設(shè)置,運(yùn)行你的測(cè)試集合

          • 選擇Postman測(cè)試集合-集合迭代次數(shù)為3

          • 設(shè)置延遲為2500毫秒

          • 點(diǎn)擊Start Run按鈕

          Step 4)?單擊Run按鈕后將顯示Run結(jié)果頁。根據(jù)延遲的不同,你應(yīng)該在測(cè)試執(zhí)行的同時(shí)看到顯示的結(jié)果。

          1、一旦測(cè)試完成,你就可以看到測(cè)試狀態(tài)是通過還是失敗,以及每個(gè)迭代的結(jié)果。
          2、你將看到Get請(qǐng)求的Pass狀態(tài);
          3、由于我們沒有任何Post測(cè)試,所以應(yīng)該會(huì)出現(xiàn)請(qǐng)求沒有任何測(cè)試的消息。

          可以出在請(qǐng)求中進(jìn)行測(cè)試是多么重要,這樣你就可以驗(yàn)證HTTP請(qǐng)求狀態(tài)是否成功,以及是否創(chuàng)建或檢索了數(shù)據(jù)。

          如何使用Newman運(yùn)行集合

          運(yùn)行集合的另一種方式是通過Newman。Newman和Collection Runner之間的主要區(qū)別如下:
          1、Newman是Postman的替代品,所以需要單獨(dú)安裝Newman;
          2、Newman使用命令行,而Collection Runner使用UI界面;
          3、Newman可以用于持續(xù)集成。

          安裝Newman并運(yùn)行Collection,步驟如下:
          Step 1)?下載并安裝NodeJs: http://nodejs.org/download/
          Step 2)?打開命令行窗口并輸入下面命令:

          npm install -g newman

          安裝后 如下圖:
          Step 3 )
          Newman安裝好之后,讓我們回到Postman的workspace。在Collections框中,單擊三個(gè)點(diǎn)??會(huì)出現(xiàn)新的選擇選項(xiàng),可看到Export選項(xiàng),如下圖:

          Step 4 )
          選擇導(dǎo)出集合,默認(rèn)使用推薦的集合版本,比如此處是v2.1,然后單擊導(dǎo)出:

          Step 5 )?選擇你想要保存的地址之后點(diǎn)擊保存,這里建議專門新建一個(gè)文件夾來存放你的Postman tests。
          Step 6 )?另外還需要導(dǎo)出我們的環(huán)境(enviroment)。單擊全局環(huán)境下拉菜單旁邊的eye圖標(biāo),選擇JSON格式下載。選擇你想要的位置,然后單擊Save。最好將環(huán)境放在與Step5 導(dǎo)出的集合相同的文件夾中。

          Step 7 )?導(dǎo)出Environment 到集合文件夾后,現(xiàn)在回到命令行,將目錄更改為保存集合和環(huán)境的位置。

          cd C:\Users\Asus\Desktop\Postman Tests

          Step 8 )?使用下面的命令運(yùn)行你的測(cè)試集合:

          newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json

          運(yùn)行的結(jié)果應(yīng)該如下圖:

          關(guān)于Newman的一些基礎(chǔ)指導(dǎo)如下:
          1、只運(yùn)行集合(如果沒有環(huán)境或測(cè)試數(shù)據(jù)文件依賴關(guān)系,則可以使用此選項(xiàng)。)

          newman run <collection name>

          2、運(yùn)行集合和環(huán)境(參數(shù)-e 是environment)

          newman run <collection name> -e <environment name>

          3、使用所需的編號(hào)運(yùn)行集合的迭代。

          newman run <collection name> -n <no.of iterations>

          4、運(yùn)行數(shù)據(jù)文件

          newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name>

          5、設(shè)置延遲時(shí)間。(這一點(diǎn)很重要,因?yàn)槿绻捎谡?qǐng)求在后臺(tái)服務(wù)器上,完成前一個(gè)請(qǐng)求時(shí)沒有延遲時(shí)間直接啟動(dòng)下一個(gè)請(qǐng)求,測(cè)試可能會(huì)失敗。)

          newman run <collection name> -d <delay time>


          送書活動(dòng)直通車

          大廠的Java面試題,你遇到過嗎?你會(huì)嗎?
          《Python自動(dòng)化測(cè)試實(shí)戰(zhàn)
          留言主題:

          你都使用什么工具做API接口測(cè)試呢?
          可在本文留言
          也可到上面直通車文章中留言

          瀏覽 77
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲成人性爱av 亚洲成人综合日本 | 奇米色一区二区三区 | 亚洲波多野结衣在线 | 国产素人无码 | 中国毛片播放 |