介面測試很難嗎?教你用Postman輕鬆搞定介面測試

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

作為一個介面自動化測試工具,Postman的大名,一直是在耳邊圍繞,目前只要是測試工程師,技能那一欄必然會有“介面測試經驗,精通Postman等介面測試工具”,Postman到底是個啥,又是怎麼用的呢,讓我這個Postman的小白,一同帶您回顧一下小白在使用Postman進行測試時用到的各種功能吧!

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

首先下載安裝完成後開啟Postman,展現給大家的是它的主頁面。主要的介面功能,小白用一圖來給大家直觀的介紹,這裡就不給大家贅述了。

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

當大家拿到了需要測試的介面文件後,會了解到具體的介面訪問的方式是POST還是GET,具體的引數格式是:form-data、x-www-form-urlencoded、JSON還是XML等,介面所需傳參的引數定義及相關的值域範圍等資訊,按照具體的介面文件要求可以在下圖進行相應的配置。

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

跟大家簡單的介紹一下小白在專案中主要用到的三種請求的格式:

form-data:

可以理解成以表單的形式將資料進行請求;

 x-www-form-urlencoded:

它是將表單內的資料轉換為鍵值對進行請求;

raw:

可以上傳任意型別的文字,如text、json、xml等,因為小白專案多為JSON格式的報文請求,所以raw-json是小白在專案中用的最多的。

下面,我們以非常簡單的某天氣的介面為例,來具體的介紹介面測試的方式。

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

根據介面文件要求,我們知道theUserID及theCityCode兩個引數,透過x-www-form-urlencoded方式進行訪問,其中,theUserID作為使用者身份可不賦值,theCityCode為城市碼為中文,如果想查詢上海市的天氣情況,可將theCityCode填寫為“上海”,引數配置完成後,點選“Send”按鈕,Response的響應報文Body中可直接檢視到具體的響應報文。

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

那我們如何驗證介面返回報文是否正確,介面服務是否正常呢?這裡我們就要用到Postman的Tests了。

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

在Tests中我們可以使用Postman常用函式對介面進行驗證,第一想到的就是如何自動化的驗證介面是否可用,返回報文是否正常,那我們就要用到以下方法:

pm。test(“Body matches string”, function () {

pm。expect(pm。response。text())。to。include(“string_you_want_to_search”);

});

這個方法主要透過對Response返回報文中字串進行比對,如命中字串則認定Response返回報文正常,介面驗證透過。比如以天氣查詢介面的返回報文為例:

pm。test(“Body matches string”, function () {

pm。expect(pm。response。text())。to。include(“直轄市 上海”);

});

透過對“直轄市 上海”字串比對,可以判定介面驗證透過,返回正常,同時我們也可以使用以下方法對整個響應進行比對。

pm。test(“Body is correct”, function?() {

pm。response。to。have。body(“response_body_string”);

});

我們還可以使用以下方法對響應時間進行驗證,驗證此介面返回報文的響應時間是否符合我們要求的時間。

pm。test(“Response time is less than 200ms”, function () {

pm。expect(pm。response。responseTime)。to。be。below(200);

});

我們也可以使用下列方法將響應報文從XML格式轉化成JSON格式,方便對響應報文進行進一步的處理。

var jsonObject = xml2Json(responseBody);

當需要驗證多個介面,且下一個驗證介面的傳送報文中需傳送上一個介面的響應返回的值時,我們該怎麼辦?需要我們寫大段的程式碼來實現這個功能麼?不,Postman只需要2行程式碼就可以實現了,如下所示:

var jsonData = JSON。parse(responseBody);

pm。environment。set(“TOKEN5”, jsonData。XXX。XX);

將響應報文賦予jsonData,將所需響應報文中的值賦予環境變數“TOKEN5”中。同時在下一個介面請求中可以使用{{TOKEN5}}使用已存入環境變數“TOKEN5”的值如下所示:

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

當多個介面同時使用多個變數時,Postman提供了方便快捷的變數修改功能和檢視功能,可以使用右上角的“齒輪”圖示和“眼睛”圖示來實現:

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

最後在Tests標籤頁有17函式方法的快捷使用欄,方便大家可以透過輕鬆的點選實現斷言的驗證、對響應報文的格式轉換等方法,對於小白的我來說,So Easy!專案經理再也不用擔心我的介面測試了。

介面測試很難嗎?教你用Postman輕鬆搞定介面測試

請關注+私信回覆:“測試”就可以免費拿到Python自動化測試學習路線及軟體測試西學習資料包,快速讓自己變強!

介面測試很難嗎?教你用Postman輕鬆搞定介面測試