Postman 使用小結(jié)

一借卧、Postman的其他鏈接教程


http://www.reibang.com/p/13c8017bb5c8

尤其是上面鏈接的總結(jié)非常全面客税,簡介易懂

二拣度、主要功能和遇到的問題


1短曾、Collections: 根據(jù)不同的測試需求和接口分類登舞,可自行創(chuàng)建或修改框产;后續(xù)的Runner中會用到凄杯,Runner的最大單位是Collection。

2秉宿、Sendbox:包括Url戒突、Get/Post、Headers描睦、Body膊存、Pre-request Script、Tests

Url忱叭、Get/Post(請求方式)隔崎、Headers、Body這幾塊韵丑,官方教程里面都有較詳細(xì)說明爵卒,且與測系統(tǒng)的相關(guān)性非常緊密,如果有問題撵彻,可以自己查看對應(yīng)的接口文檔或開發(fā)人員钓株,在這里不作贅述实牡;


Pre-request Script 和 Tests主要用來寫測試腳本和數(shù)據(jù)準(zhǔn)備,其中Pre-request Script里面寫此接口的前置任務(wù)轴合,Tests中主要用來寫測試腳本创坞,并通過Postman的

? ? ? ? tests["你想輸出的內(nèi)容"] = true/false;?

來實(shí)現(xiàn),true顯示為綠色PASS受葛,false顯示為紅色FAIL题涨。

其中true等價于1,false等價于0总滩,即上述代碼也可以這么寫 ?tests["你想輸出的內(nèi)容"] = 1/0;

詳見如下參數(shù):

Tests

3纲堵、Environments


Current Environment?- 可設(shè)置多個環(huán)境,根據(jù)不同的接口和需求進(jìn)行切換即可咳秉;

Globals Environment - 全局環(huán)境婉支,適用于所有Collections和Runner;


遇到的問題:當(dāng)前Environment中設(shè)置的key值名稱必須是唯一的澜建,即使沒有選中,直接用相同key值去setEnvironmentVariable蝌以,不會報錯炕舵,但實(shí)際沒有設(shè)置成功;如下案例:

“VivaVideo_Android”環(huán)境中的“DevicesID”沒有勾選跟畅,但已經(jīng)在“VivaVideo_Android”環(huán)境中存在咽筋,所以,當(dāng)在sandbox中再次設(shè)置環(huán)境變量時(如下)徊件,則新的DevicesID無法生效奸攻,但不會報錯;

? ? ? ? postman.setEnvironmentVariable("DeviceID", "aaa");? //設(shè)置環(huán)境變量DeviceID為aaa

所以虱痕,一定注意:環(huán)境中的key值不要重名睹耐。

Environment

4、Runner


Runner中可以添加本地的Data File文件部翘,包括.csv和.json兩種格式文件硝训;如果包含多條數(shù)據(jù),每次執(zhí)行一條數(shù)據(jù)新思,具體Demo可在開頭的第一個鏈接中找到窖梁;

Runner中添加本地.csv測試文件示例

Runner Data File
Runner .csv

Sample data files


Download JSON file

Download CSV file

JSON files are composed of key/value pairs:

For CSV files, the top row needs to contain variable names。如上圖“Runner .csv”夹囚。

5纵刘、Import: 將導(dǎo)出的.json文件(包括接口和環(huán)境)可以共享給其他人,然后通過import的方式荸哟,將數(shù)據(jù)和環(huán)境一起全部導(dǎo)入即可假哎;

6瞬捕、Console調(diào)試

console.log(); 如何通過chrome的調(diào)試模式查看console的輸出內(nèi)容;

在Chrome瀏覽器中輸入chrome://flags/

搜索packed位谋,找到如下擴(kuò)展山析,點(diǎn)擊“啟用”

Chrome flags

然后重啟Chrome和Postman即可,在Postman中任意位置點(diǎn)擊右鍵掏父,菜單中可以看到“檢查”笋轨,然后就可以開心調(diào)試了。

7赊淑、漢字輸入問題

Chrome瀏覽器版本為54.xxx時爵政,Postman中輸入漢字會出現(xiàn)異常;恢復(fù)到Chrome老版本52.xxx可正常輸入漢字陶缺。

8钾挟、Response Body圖片無法顯示

當(dāng)Interceptor是打開狀態(tài)時,請求的圖片饱岸,在Response Body中顯示不出來掺出,如下:

Interceptor Open

當(dāng)Interceptor 處于關(guān)閉狀態(tài)時,可正常顯示圖片苫费,如下:

Interceptor Close

出現(xiàn)上述問題的具體原因暫不了解汤锨,有了解的童鞋可留言說明,在此謝過百框!

9闲礼、Environment遇到的問題補(bǔ)充

Tests中寫腳本,引用環(huán)境中的變量铐维,常用的一種方式是:environment.key.

如果當(dāng)前環(huán)境中沒有配置Appkey柬泽,但Global環(huán)境中配置了Appkey,用上述environment.Appkey方式調(diào)用Appkey參數(shù)做如下操作時嫁蛇,會報 Cannot read property 'slice' of undefined. 錯誤锨并,如下所示:

Property of Undefined

當(dāng)前環(huán)境中沒有配置Appkey時,調(diào)試發(fā)現(xiàn)environment.Appkey返回的是 'undefined'棠众,slice無法識別琳疏,因此會報如上錯誤。

因此闸拿,有如上兩種方式解決以上問題:1空盼、在當(dāng)前環(huán)境中添加Appkey參數(shù),用environment.Appkey 方式調(diào)用新荤;2揽趾、使用postman.getGlobalVariable("Appkey") 方式來直接調(diào)用Global中的Appkey,如下圖所示:

postman.getGlobalVariable("key")

三苛骨、代碼示例


1篱瞎、時間戳

因業(yè)務(wù)需求苟呐,產(chǎn)品時間戳定義為YYYYMMDDHHMMSSS,在Pre-request Script用JS組裝俐筋,并設(shè)置為全局變量CurrentTime牵素,代碼如下:

//獲取系統(tǒng)當(dāng)前時間,并組裝成固定格式時間戳

var d = new Date();

//將日期組裝成2位

var timeDate = d.getDate().toString();

if(timeDate.length == 1){

timeDate = "0" + timeDate;

}

//將小時組裝成2位

var timeHour = d.getHours().toString();

if(timeHour.length == 1){

timeHour = "0" + timeHour;

}

//將分鐘組裝成2位

var timeMin = d.getMinutes().toString();

if(timeMin.length == 1){

timeMin = "0" + timeMin;

}

//將秒組裝成3位澄者,文檔和實(shí)際接口中毫秒沒有用到笆呆,但秒那部分顯示成用3位

var timeSec = d.getSeconds().toString();

if(timeSec.length == 1){

timeSec = "0" + timeSec;

}

//將毫秒組裝成3位

var timeMilliSec = d.getMilliseconds().toString();

if(timeMilliSec.length == 1){

timeMilliSec = "00" + timeMilliSec;

}

else if(timeMilliSec.length == 2){

timeMilliSec = "0" + timeMilliSec;

}

//組裝整個時間戳

var timesDate = d.getFullYear() + (d.getMonth()+1).toString() + timeDate + timeHour + timeMin + timeSec + timeMilliSec;

postman.setGlobalVariable("CurrentTime", timesDate);


2、Tests規(guī)范

為了使用Postman僅有的UI展現(xiàn)異常測試結(jié)果粱挡,特規(guī)范了Tests中的代碼結(jié)構(gòu)赠幕,如下:

if(responseCode.code === 200){

//如果狀態(tài)碼為200,接口請求成功

tests["Request Successed"] = true;

var jsonData = JSON.parse(responseBody);

if(jsonData.result === true){

//或者是if(jQuery.isEmptyObject(jsonData) === false){询筏,此種方式用于小影和小影記接口

//返回?cái)?shù)據(jù)結(jié)果正確

/*

此處填寫業(yè)務(wù)相關(guān)內(nèi)容

*/

}else{

//返回?cái)?shù)據(jù)結(jié)果錯誤

tests["Attention:No Data. Please Check!"] = false;

}

}

else{

//接口請求失敗

tests["Waring:Request Failed. Please Fix!"] = false;

}

四榕堰、交流社區(qū)


Postman官方文檔:https://www.getpostman.com/docs/

Github:https://github.com/postmanlabs/postman-app-support

向Postman官方提問題或建議:https://github.com/postmanlabs/postman-app-support/issues/new (親測,回答非诚犹祝快)

Slack:postmancommunity

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逆屡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子踱讨,更是在濱河造成了極大的恐慌康二,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勇蝙,死亡現(xiàn)場離奇詭異,居然都是意外死亡挨约,警方通過查閱死者的電腦和手機(jī)味混,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诫惭,“玉大人翁锡,你說我怎么就攤上這事∠ν粒” “怎么了馆衔?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怨绣。 經(jīng)常有香客問我角溃,道長,這世上最難降的妖魔是什么篮撑? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任减细,我火速辦了婚禮,結(jié)果婚禮上赢笨,老公的妹妹穿的比我還像新娘未蝌。我一直安慰自己驮吱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布萧吠。 她就那樣靜靜地躺著左冬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纸型。 梳的紋絲不亂的頭發(fā)上拇砰,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天,我揣著相機(jī)與錄音绊袋,去河邊找鬼毕匀。 笑死,一個胖子當(dāng)著我的面吹牛癌别,可吹牛的內(nèi)容都是我干的皂岔。 我是一名探鬼主播,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼展姐,長吁一口氣:“原來是場噩夢啊……” “哼躁垛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起圾笨,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤教馆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后擂达,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體土铺,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年板鬓,在試婚紗的時候發(fā)現(xiàn)自己被綠了悲敷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡俭令,死狀恐怖后德,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抄腔,我是刑警寧澤瓢湃,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站赫蛇,受9級特大地震影響绵患,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜棍掐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一藏雏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦掘殴、人聲如沸赚瘦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽起意。三九已至,卻和暖如春病瞳,著一層夾襖步出監(jiān)牢的瞬間揽咕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工套菜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亲善,地道東北人。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓逗柴,卻偏偏與公主長得像蛹头,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子戏溺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理渣蜗,服務(wù)發(fā)現(xiàn),斷路器旷祸,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • 1.環(huán)境變量 很多時候耕拷,我們在開發(fā)時會有多個部署位置,比如一個用于測試托享,一個用于生產(chǎn)骚烧。通常的流程是先使用測試部署進(jìn)...
    瘦到55KG好嗎閱讀 4,975評論 3 9
  • 博客已遷移,該文章也是我16年那會寫的了闰围,經(jīng)過幾年P(guān)ostman已經(jīng)有不少變化止潘,最近換團(tuán)隊(duì)為了推廣這個工具,我對P...
    博客已遷移I米陽閱讀 45,678評論 29 92
  • 一辫诅、Pre Request Scripts Postman v0.10+ 版本支持pre-request scri...
    常大鵬閱讀 68,409評論 4 69
  • 記錄今天中午在微信群里和大家分享關(guān)于書法的一點(diǎn)感受! 我的書法歷程: 小時候接觸書法涧狮,但那時完全不感興趣炕矮。在菲讀大...
    燕敏Lisa閱讀 1,797評論 1 5