Postman腳本批量轉(zhuǎn)接口自動(dòng)化用例
1、前言
作者之前已經(jīng)開(kāi)發(fā)了一個(gè)生成接口用例的工具 - API接口用例生成器,即將現(xiàn)有的 Postman 腳本轉(zhuǎn)化為接口用例。本篇介紹另一款最近剛開(kāi)發(fā)并項(xiàng)目落地的工具,將 Postman 的 json 腳本文件可以批量轉(zhuǎn)換生成接口用例 - APICase-PostmanForJSON。
2、簡(jiǎn)介
APICase-PostmanForJSON,采用 Python 編寫(xiě),利用了Tkinter 進(jìn)行 GUI 封裝。
特點(diǎn):
1、支持 GET、POST、PUT、DELETE 方法
2、支持 帶參數(shù)[Params]、帶請(qǐng)求頭[Header]、帶請(qǐng)求體[Body]
3、支持 POST方式的文件上傳接口[form-data]
4、支持 JSON格式類型:{}、[]、[{}]
5、支持 獲取環(huán)境變量[環(huán)境變量文件-Initial value]
6、支持 獲取全局變量[Variables]
7、支持 依賴接口的指定值獲取[Tests]
示例:
var jsonData =JSON.parse(responseBody);
postman.setGlobalVariable("pressure",jsonData.data.pressure);
var jsonData =JSON.parse(responseBody);
pm.environment.set("pressure",jsonData.data.pressure);
var jsonData =JSON.parse(responseBody);
pm.globals.set("pressure",jsonData.data.pressure);
var jsonData =JSON.parse(responseBody);
pm.collectionVariables.set("pressure",jsonData.data.pressure);
8、支持 按接口或流程來(lái)生成用例
9、支持 按生成用例方式為流程時(shí),提取返回值可以是值或方法
示例:
值:1006
方法:$('now',2,'res_body.data.pressure')
10、支持 自定義提取接口返回值
示例:
data
data.albumId
data[0].categoryId
11、支持 單接口缺省參數(shù)自動(dòng)填充
12、支持 Postman接口腳本的兩種方式[Add request、Add example]
13、支持 多接口[亂序],生成用例時(shí)相同接口歸類
3、快速上手
打開(kāi)APICase-PostmanForJSON。
主要就是導(dǎo)入Postman 的json 文件(接口文件為必填,環(huán)境變量文件為選填),根據(jù)所要生成用例的方式設(shè)置是接口還是流程,如果系統(tǒng)自定義提取值沒(méi)有想要獲取的元素,可以在自定義提取值那填寫(xiě)自己所要的值,之后點(diǎn)擊運(yùn)行就可以了,運(yùn)行過(guò)程中進(jìn)度條可以實(shí)時(shí)顯示進(jìn)度。
如下圖是Postman 一個(gè)接口示例,可以看到請(qǐng)求成功并返回值。
將Postman 的接口和環(huán)境變量json 文件導(dǎo)出來(lái)。
使用APICase-PostmanForJSON 將導(dǎo)出的 json 文件轉(zhuǎn)為接口用例。
導(dǎo)入json 文件,設(shè)置自定義提取值,生成用例方式為接口。
點(diǎn)擊運(yùn)行后,開(kāi)始生成用例,運(yùn)行日志會(huì)先統(tǒng)計(jì)有多少個(gè)接口,之后實(shí)時(shí)打印出來(lái)接口信息。
用例生成后,打印出用例文件路徑。
打開(kāi)用例文件,可以看到生成后的用例格式,按接口方式生成,即相同的接口歸為一類,可以看到有2類接口,自定義的提取值也提取出來(lái)了。
如果按照生成的用例方式為流程。
打開(kāi)用例文件,可以看到有多少個(gè)接口就會(huì)生成多少個(gè)sheet頁(yè)。本次示例有4個(gè)接口,那么就會(huì)生成4個(gè)sheet頁(yè)(每一個(gè)接口為1個(gè)sheet頁(yè))。
如想獲取此工具,可添加作者微信進(jìn)行獲取。