Postman使用总结
Postman使用總結(jié)
Collection集合
-
在Postman里,所有的request請求都只能存放在collection集合目錄或者集合目錄下的子文件夾中
-
可以把一個collection當(dāng)做一個項目工程
-
同一個項目的接口測試請求全部放在一起
-
批量執(zhí)行接口請求(測試)的觸發(fā)單位就是collection
-
導(dǎo)出功能只支持導(dǎo)出整個collection,無法導(dǎo)出單個請求或者一整個子文件夾的請求
-
導(dǎo)出: JSON格式的文件的好處就是可以跨平臺,任何操作系統(tǒng)都支持和識別。我們在工作中,經(jīng)常會遇到需要在不同的電腦或者操作系統(tǒng)上做接口測試,所以collection項目工程是需要遷移的,所以需要使用導(dǎo)出和導(dǎo)入功能。
-
導(dǎo)入:
Folder接口模塊化管理
-
設(shè)計普通的功能測試用例的時候,我們也是基于模塊化劃分的方式去管理測試用例的
-
利用Postman具有在Collection下創(chuàng)建Folder文件夾的特性來搭建和管理一套基于模塊化劃分的接口測試框架
Request接口請求
手工接口測試
在請求區(qū)域(上半?yún)^(qū))選擇Params(默認),依次填寫KEY和VALUE,DESCRIPTION可以選填
- KEY:接口的參數(shù)名稱
- VALUE:入?yún)⒌闹?/li>
- DESCRIPTION:參數(shù)的說明,有時候參數(shù)很多,而且參數(shù)名是英文的,可以在輸入框中填寫中文說明
在Postman工具中,我們并不一定需要在Params區(qū)域里填寫參數(shù),可以直接利用GET請求的原理,直接在接口URL路徑上拼接參數(shù)
根據(jù)接口的業(yè)務(wù)要求,由于只有管理員賬號才可以獲取成員列表,所以我們需要在請求頭信息中設(shè)置Authorization參數(shù),參數(shù)的值填寫管理員賬號登錄后(通過接口調(diào)用的方式)的登錄授權(quán)碼(行業(yè)內(nèi)也喜歡叫token令牌號)
處理上下游接口依賴
比如上一個例子,獲取成員列表信息需要在請求頭中設(shè)置變量Authorization這是人工直接復(fù)制過來的,如果后期該值發(fā)生改變那么需要重寫修改很麻煩。
把上游接口的返回結(jié)果的某些想要使用的值提取出來,然后存放在一個公共的區(qū)域,待下游接口需要用到的時候,直接去公共區(qū)域拿就可以了,這個在接口測試的領(lǐng)域里也有另一個專業(yè)術(shù)語,叫做“數(shù)據(jù)傳遞”。
編輯公共環(huán)境變量
公共環(huán)境的變量引用
- 在Postman里,變量引用的方式是兩對大括號中間加上變量名稱,例如:{{ipAddress}}
不同接口間的數(shù)據(jù)傳遞
- 接口與接口之間往往都有業(yè)務(wù)上的聯(lián)系,比如:登錄與獲取成員列表,如果你不登錄,無法獲取成員列表,所以這個時候,我們稱“登錄”為上游接口,而“獲取成員列表”為下游接口。
- 一個上游接口往往可以為多個下游接口服務(wù),一個下游接口也往往需要多個上游接口提供“前置服務(wù)”,上游接口很像我們寫測試用例時前置條件的感覺。
- 這種上游接口把數(shù)據(jù)傳遞到下游接口的行為,我們叫做“數(shù)據(jù)傳遞”、“傳參”等
提取接口響應(yīng)內(nèi)容里的參數(shù)
-
使用編碼技術(shù)來完成接口的數(shù)據(jù)參數(shù)傳遞的工作,在上下游接口請求的Tests里編寫Java Script代碼(莫慌,大多數(shù)代碼可自動生成)來實現(xiàn):
上游接口:
(1) 提取接口服務(wù)返回的響應(yīng)內(nèi)容里的參數(shù)的值
(2) 把提取到的值賦值給一個自定義的變量名稱
(3) 把自定義的變量名稱傳遞給公共環(huán)境或指定的私有環(huán)境
下游接口:
(4) 在參數(shù)填寫或者在寫JSON字符串時,引用變量名稱
-
我們要寫的第一句代碼是“發(fā)送接口請求后,獲取所有服務(wù)器返回的響應(yīng)體內(nèi)容(包含headers頭部內(nèi)容或者body身體內(nèi)容)”,但是預(yù)置代碼里沒有非常合適的,所以我們只能人工寫
// 獲取響應(yīng)體的所有body內(nèi)容,賦值給變量jsonData // var是Javascript語言中聲明變量的語法關(guān)鍵字 // JSON是保留類,類里有一些方法是專門處理JSON字符串的 // responseBody是Postman的保留字,它就是響應(yīng)報文里的所有body內(nèi)容 // Javascript語言推薦每行代碼結(jié)束后要加英文的";"分號 var jsonData = JSON.parse(responseBody); // 獲取響應(yīng)體的Headers頭信息中的內(nèi)容,賦值給變量adminAuth, // 關(guān)于變量名稱,一般業(yè)務(wù)含義是什么,變量名稱就取什么名字, // 這里要提取的是頭信息中的Authorization登錄授權(quán)碼 // postman是Postman的保留字,可以點出一些方法,但Postman工具內(nèi)嵌的JS語言編譯環(huán)境并不完善, // 所以無法點出所有方法,有些被隱藏了,只能硬背或詢問度娘 // getResponseHeader方法可以拿到所有的響應(yīng)報文的headers頭信息, // 然后在方法名稱后的括號中以字符串的形式填寫指定的頭信息里的參數(shù),比如這里的Authorization var adminAuth = postman.getResponseHeader("Authorization") -
然后把adminAuth放到Postman的公共環(huán)境中,這個很方便,直接使用代碼生成器即可,選擇右側(cè)的預(yù)置代碼Set a global variable,然后改一下參數(shù)即可
-
Postman的原理是發(fā)送接口請求后,服務(wù)器會返回響應(yīng)內(nèi)容(顯示在下半?yún)^(qū)Response中),然后會執(zhí)行Tests腳本;所以通過上述的代碼,我們實現(xiàn)了提取頭信息的參數(shù)和其值,然后把值存放在公共環(huán)境中以變量進行管理,無論是公共環(huán)境還是私有環(huán)境,其實就是一個“數(shù)據(jù)的中轉(zhuǎn)站”。
下游接口的數(shù)據(jù)使用
總結(jié)
以上是生活随笔為你收集整理的Postman使用总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java学生通讯录_简单实现Java通讯
- 下一篇: 以太坊学习路线——(三)Solidity