我平時(shí)測試api一般都用postman來發(fā)送http請求,然后看response是否符合預(yù)期泡躯。深入看了postman的說明文檔后贮竟,發(fā)現(xiàn)我用的都是它最簡單的功能,它有很多強(qiáng)大的特性较剃,能讓工作效率更高咕别,滿足更多的需求。
以下特性使用 Postman for Windows Version 5.5.2 版本進(jìn)行介紹
1. Enviroment
使用變量可避免硬編碼重付,只需要在一處修改變量顷级,各個(gè)使用變量的地方都能同時(shí)生效凫乖。比如一組api使用了相同的url确垫,如果不用變量的情況,我們想要修改url帽芽,就得為每個(gè)api修改url删掀。如果使用了變量,那只需要修改變量的值导街,一次操作就行了披泪。
環(huán)境在postman里的含義就是一組變量。為各個(gè)場景增加環(huán)境搬瑰,然后在特定環(huán)境下添加所需變量款票,這樣通過切換環(huán)境就能達(dá)到切換場景的作用控硼。比如我們開發(fā)一般添加三種環(huán)境:dev(開發(fā)環(huán)境),test(測試環(huán)境),prd(生產(chǎn)環(huán)境)。
環(huán)境設(shè)置:
使用環(huán)境變量:
{{環(huán)境變量名稱}}
2. Script
postman腳本可以定義在兩個(gè)地方艾少,一個(gè)Pre-requestScrpt(請求發(fā)送前執(zhí)行)卡乾,一個(gè)是Tests(請求完成后執(zhí)行)。
支持的JS庫:
Postman 沙箱介紹缚够,以及其支持的js庫
Postman自帶的js函數(shù)
3. Collection
Collection可以理解為一組相關(guān)的api幔妨。創(chuàng)建了Collection后,就可以針對一組api進(jìn)行一些操作谍椅。
- 為Collection設(shè)置變量误堡,變量的作用范圍就是這個(gè)Collection。
- 定義腳本雏吭。與請求的腳本類似锁施,不過Collection的Pre-requestScript在本Collection里的每次請求執(zhí)行前會執(zhí)行一次,Collection中的Folder也可以設(shè)置Pre-reqeustScript杖们,在Folder里的每次請求執(zhí)行前執(zhí)行沾谜。相應(yīng)的Collection的Test 腳本也是一樣。
- 編寫文檔胀莹。描述Collection里的api基跑,支持markdown格式。
- Monitors描焰,定期請求Collection里的api媳否,來監(jiān)控api的性能和返回報(bào)文的準(zhǔn)確性。
- Mocks荆秦,對Collection中的api進(jìn)行mock篱竭。
-
版本控制,可對每次Collection中api的改動進(jìn)行記錄步绸。
-
Runner掺逼,自定義規(guī)則執(zhí)行Collection中的api,可模擬實(shí)際的工作流瓤介。
4. 導(dǎo)入導(dǎo)出
Postman可以導(dǎo)入多種信息吕喘,比如Collection,Enviroment等信息刑桑。導(dǎo)入方式也是多樣的氯质,可以從文件,文件夾祠斧,url闻察,粘貼文本導(dǎo)入信息。
相應(yīng)的,Postman可以導(dǎo)出Collection辕漂,Enviroment信息呢灶。
5. Example
一個(gè)Example在Postman中代表一個(gè)api的request和response,一個(gè)api可以有多個(gè)example钉嘹。example可以供mock server使用填抬,當(dāng)做mock數(shù)據(jù)。example也可以體現(xiàn)在api 文檔中隧期,充當(dāng)api的示例飒责。
6. mock server
postman不僅可以發(fā)送請求驗(yàn)證api,它也可以當(dāng)做一個(gè)server提供mock服務(wù)仆潮。用來mock的數(shù)據(jù)就是上述提到的Example宏蛉。
7. api document
api document可以為我們自動生成api的說明文檔。它會將對collection性置,folder拾并,api request中的header等的描述信息整理到文檔中。
8. runner
runner可以跑一個(gè)collection中的所有api鹏浅,我們可通過腳本來定義api的運(yùn)行順序嗅义,從而達(dá)到模擬真實(shí)的api調(diào)用情況。由此來完成自動化測試隐砸。runner還可以加載data文件之碗,從而可以從外部導(dǎo)入請求報(bào)文等信息。
9. monitor
使用monitor可定期執(zhí)行collection中的api季希,可用于監(jiān)控api的性能與tests 腳本結(jié)合可驗(yàn)證api返回的準(zhǔn)確性褪那。如有執(zhí)行有失敗的情況,可發(fā)送警告給用戶式塌。