新聞中心
作為一個(gè)接口自動(dòng)化測(cè)試工具,Postman的大名,一直是在耳邊圍繞,目前只要是測(cè)試工程師,技能那一欄必然會(huì)有“接口測(cè)試經(jīng)驗(yàn),精通Postman等接口測(cè)試工具”,Postman到底是個(gè)啥,又是怎么用的呢,讓我這個(gè)Postman的小白,一同帶您回顧一下小白在使用Postman進(jìn)行測(cè)試時(shí)用到的各種功能吧!

首先下載安裝完成后打開Postman,展現(xiàn)給大家的是它的主頁面。主要的界面功能,小白用一圖來給大家直觀的介紹,這里就不給大家贅述了。
當(dāng)大家拿到了需要測(cè)試的接口文檔后,會(huì)了解到具體的接口訪問的方式是POST還是GET,具體的參數(shù)格式是:form-data、x-www-form-urlencoded、JSON還是XML等,接口所需傳參的參數(shù)定義及相關(guān)的值域范圍等信息,按照具體的接口文檔要求可以在下圖進(jìn)行相應(yīng)的配置。
跟大家簡(jiǎn)單的介紹一下小白在項(xiàng)目中主要用到的三種請(qǐng)求的格式:
form-data:可以理解成以表單的形式將數(shù)據(jù)進(jìn)行請(qǐng)求;
x-www-form-urlencoded:它是將表單內(nèi)的數(shù)據(jù)轉(zhuǎn)換為鍵值對(duì)進(jìn)行請(qǐng)求;
raw:可以上傳任意類型的文本,如text、json、xml等,因?yàn)樾“醉?xiàng)目多為JSON格式的報(bào)文請(qǐng)求,所以raw-json是小白在項(xiàng)目中用的最多的。
下面,我們以非常簡(jiǎn)單的某天氣的接口為例,來具體的介紹接口測(cè)試的方式。
根據(jù)接口文檔要求,我們知道theUserID及theCityCode兩個(gè)參數(shù),通過x-www-form-urlencoded方式進(jìn)行訪問,其中,theUserID作為用戶身份可不賦值,theCityCode為城市碼為中文,如果想查詢上海市的天氣情況,可將theCityCode填寫為“上?!?,參數(shù)配置完成后,點(diǎn)擊“Send”按鈕,Response的響應(yīng)報(bào)文Body中可直接查看到具體的響應(yīng)報(bào)文。
那我們?nèi)绾悟?yàn)證接口返回報(bào)文是否正確,接口服務(wù)是否正常呢?這里我們就要用到Postman的Tests了。
在Tests中我們可以使用Postman常用函數(shù)對(duì)接口進(jìn)行驗(yàn)證,第一想到的就是如何自動(dòng)化的驗(yàn)證接口是否可用,返回報(bào)文是否正常,那我們就要用到以下方法:
- pm.test("Body matches string", function () {
- pm.expect(pm.response.text()).to.include("string_you_want_to_search");
- });
這個(gè)方法主要通過對(duì)Response返回報(bào)文中字符串進(jìn)行比對(duì),如命中字符串則認(rèn)定Response返回報(bào)文正常,接口驗(yàn)證通過。比如以天氣查詢接口的返回報(bào)文為例:
- pm.test("Body matches string", function () {
- pm.expect(pm.response.text()).to.include("直轄市 上海");
- });
通過對(duì)“直轄市 上?!弊址葘?duì),可以判定接口驗(yàn)證通過,返回正常,同時(shí)我們也可以使用以下方法對(duì)整個(gè)響應(yīng)進(jìn)行比對(duì)。
- pm.test("Body is correct", function?() {
- pm.response.to.have.body("response_body_string");
- });
我們還可以使用以下方法對(duì)響應(yīng)時(shí)間進(jìn)行驗(yàn)證,驗(yàn)證此接口返回報(bào)文的響應(yīng)時(shí)間是否符合我們要求的時(shí)間。
- pm.test("Response time is less than 200ms", function () {
- pm.expect(pm.response.responseTime).to.be.below(200);
- });
我們也可以使用下列方法將響應(yīng)報(bào)文從XML格式轉(zhuǎn)化成JSON格式,方便對(duì)響應(yīng)報(bào)文進(jìn)行進(jìn)一步的處理。
- var jsonObject = xml2Json(responseBody);
當(dāng)需要驗(yàn)證多個(gè)接口,且下一個(gè)驗(yàn)證接口的發(fā)送報(bào)文中需發(fā)送上一個(gè)接口的響應(yīng)返回的值時(shí),我們?cè)撛趺崔k?需要我們寫大段的代碼來實(shí)現(xiàn)這個(gè)功能么?不,Postman只需要2行代碼就可以實(shí)現(xiàn)了,如下所示:
- var jsonData = JSON.parse(responseBody);
- pm.environment.set("TOKEN5", jsonData.XXX.XX);
將響應(yīng)報(bào)文賦予jsonData,將所需響應(yīng)報(bào)文中的值賦予環(huán)境變量“TOKEN5”中。同時(shí)在下一個(gè)接口請(qǐng)求中可以使用{{TOKEN5}}使用已存入環(huán)境變量“TOKEN5”的值如下所示:
當(dāng)多個(gè)接口同時(shí)使用多個(gè)變量時(shí),Postman提供了方便快捷的變量修改功能和查看功能,可以使用右上角的“齒輪”圖標(biāo)和“眼睛”圖標(biāo)來實(shí)現(xiàn):
最后在Tests標(biāo)簽頁有17函數(shù)方法的快捷使用欄,方便大家可以通過輕松的點(diǎn)擊實(shí)現(xiàn)斷言的驗(yàn)證、對(duì)響應(yīng)報(bào)文的格式轉(zhuǎn)換等方法,對(duì)于小白的我來說,So Easy!項(xiàng)目經(jīng)理再也不用擔(dān)心我的接口測(cè)試了。
當(dāng)前題目:接口測(cè)試很難嗎?教你用Postman輕松搞定接口測(cè)試
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/djhggcg.html


咨詢
建站咨詢
