一、概念
1、Postman是一款功能強(qiáng)大的網(wǎng)頁(yè)調(diào)試與發(fā)送網(wǎng)頁(yè)HTTP請(qǐng)求的Chrome插件,Postman分為Postman native app和Postman Chrome app兩個(gè)版本。目前Chrome app已經(jīng)停止維護(hù),官方也不推薦使用該版本。
2、官網(wǎng)下載地址:http://www.getpostman.com
3:官方文檔:http://www.getpostman.com/docs
二、基礎(chǔ)測(cè)試流程
1、第一步:新建接口集,管理所有接口
2、第二步:新建接口請(qǐng)求
3、第三步:填寫相應(yīng)參數(shù),添加斷言
4、第四步:運(yùn)行接口集
5、第五步:得到用例結(jié)果
三、接口請(qǐng)求方式
1、get請(qǐng)求:點(diǎn)擊Params,輸入?yún)?shù)及value,可輸入多個(gè),即時(shí)顯示在URL鏈接上
2、POST請(qǐng)求:
1)參數(shù)格式
2)二進(jìn)制文件提交:
3)可以直接使用快捷方式將body或者params數(shù)據(jù)導(dǎo)入
四、設(shè)置變量與測(cè)試沙箱
1、環(huán)境變量
1)第一步:創(chuàng)建 Environment 變量
2)第二步:調(diào)用Environment變量,調(diào)用參數(shù)方式是:{{變量名稱}}
2、全局變量
1)創(chuàng)建Globals變量
2)調(diào)用Globals變量
3、測(cè)試沙箱
1)Postman測(cè)試沙箱其實(shí)是結(jié)合JS腳本完成測(cè)試中的功能,在請(qǐng)求發(fā)起前后實(shí)現(xiàn)部分測(cè)試操作。
2)常用功能:請(qǐng)求前腳本( pre request scripts )設(shè)置請(qǐng)求前置操作如設(shè)置變量等。
請(qǐng)求后對(duì)狀態(tài)碼、響應(yīng)頭、響應(yīng)正文等信息進(jìn)行斷言操作。
五、斷言
1、概念:斷言就是對(duì)預(yù)期結(jié)果與實(shí)際結(jié)果的判斷,預(yù)期==實(shí)際,就通過;預(yù)期!=通過則失敗
2、Postman的斷言是JavaScript語言編寫的,寫在tests標(biāo)簽頁(yè)里,在sandbox中運(yùn)行
3、常見斷言:可參考:https://www.cnblogs.com/suim1218/p/8931159.html
1)Get an environment variable (獲取環(huán)境變量)
2)Get a global variable (獲取一個(gè)全局變量)
3)Response body:contains string (檢查響應(yīng)主體是否包含字符串)
4)Response body:is equal to a string (檢查響應(yīng)主體是否等于一個(gè)字符串)
4、Json斷言
1)編寫JS語句:判斷返回的結(jié)果中city值是否正確
var 變量名 = JSON.parse(responseBody); tests["標(biāo)題"] = 變量名.鍵名 === "值"
var 變量名 = JSON.parse(responseBody); tests["標(biāo)題"] = 變量名.列表名[0].鍵名 === "值"
判斷data列表中第一個(gè)元素data的值是否正確
2)調(diào)用postman方法
a、判斷返回的結(jié)果中city值是否正確
b、判斷data列表中第一個(gè)元素data的值是否正確
5、參數(shù)化斷言:基本格式:data.變量名
六、測(cè)試集與數(shù)據(jù)驅(qū)動(dòng)
1、測(cè)試集的使用:為了更方便地管理接口請(qǐng)求的執(zhí)行,可以通過postman 測(cè)試集(collection)來完成測(cè)試的操作,每一個(gè)測(cè)試請(qǐng)求可以看成一個(gè)測(cè)試用例(testcase),
collections能夠一次管理多個(gè)測(cè)試用例來執(zhí)行。通過save,能夠?qū)⒄?qǐng)求保存到collections中使用。
2、數(shù)據(jù)驅(qū)動(dòng):當(dāng)需要進(jìn)行數(shù)據(jù)驅(qū)動(dòng)方式運(yùn)行多次Postman腳本時(shí),可以通過csv文件或者json格式的文件對(duì)接口測(cè)試數(shù)據(jù)進(jìn)行管理,以方便用例管理執(zhí)行。
在接口請(qǐng)求中,參數(shù)使用變量名獲取,之后在創(chuàng)建數(shù)據(jù)文件時(shí),使用這些變量名編輯測(cè)試數(shù)據(jù)。在測(cè)試沙箱中,參數(shù)的獲取用data.參數(shù)名的形式來進(jìn)行讀取。
3、當(dāng)需要進(jìn)行數(shù)據(jù)驅(qū)動(dòng)方式運(yùn)行多次Postman 腳本時(shí),可以通過csv文件或者json格式的文件對(duì)接口測(cè)試數(shù)據(jù)進(jìn)行管理,以方便用例管理執(zhí)行。
1)創(chuàng)建測(cè)試數(shù)據(jù):創(chuàng)建一個(gè)csv格式文件之后,通過notepad++或者excel進(jìn)行編輯。
注意:文件需要使用UTF-8編碼,創(chuàng)建了csv文件之后,在notepad++中使用編碼菜單中的轉(zhuǎn)為UTF-8編碼功能將文件轉(zhuǎn)為UTF-8編碼使用。
文件中第一行必須是接口請(qǐng)求使用的變量名,后續(xù)每行填寫本次執(zhí)行使用的變量值。
2)使用測(cè)試數(shù)據(jù)文件
在collection runner中data選項(xiàng)選擇編輯好的測(cè)試數(shù)據(jù)文件,preview能夠查看文件預(yù)覽,確保文件讀取內(nèi)容無誤。
七、Postman持續(xù)集成
1、安裝nodejs
1)下載地址: http://nodejs.cn/download/
2)安裝之后確認(rèn)環(huán)境變量中已經(jīng)添加了node所在目錄,否則手動(dòng)添加。在cmd中通過node v和npm v命令確認(rèn)node環(huán)境已經(jīng)搭建成功
2、安裝newman:通過newman來執(zhí)行postman測(cè)試腳本,并生成測(cè)試報(bào)告
1)npm install -g newman --registry=https://registry.npm.taobao.org
2)newman -v 查看版本,檢測(cè)是否安裝成功
3、安裝html報(bào)告:npm install -g newman-reporter-html
4、Newman執(zhí)行測(cè)試
1)從Postman導(dǎo)出測(cè)試集合
2)Newman執(zhí)行collection導(dǎo)出的Json文件
命令行中輸入newman run導(dǎo)出的Json文件名通過Newman命令行運(yùn)行測(cè)試集
5、Newman常用參數(shù)
1)-e,--environment:使用環(huán)境變量文件或url
使用時(shí),首先在環(huán)境變量中通過導(dǎo)出功能將環(huán)境變量導(dǎo)出,然后用如下命令引用。
2)-g, --global:使用全局變量文件或url
類似環(huán)境變量使用,在使用前,先導(dǎo)出全局變量文件,再通過g指定文件使用
3)-d, --iteration-data:指定使用的數(shù)據(jù)驅(qū)動(dòng)文件
4)-n:指定測(cè)試集循環(huán)次數(shù)iterations
6、Newman生成測(cè)試報(bào)告
Newman提供的測(cè)試報(bào)告中,常用的包括cli、json和html三種格式,可以通過-r或者--reporter命令指定所用格式
1)cli格式為在 cmd 客戶端呈現(xiàn)的報(bào)告模板, newman 默認(rèn)使用該格式。
2)json格式可以導(dǎo)出json格式的報(bào)告,通過-r json進(jìn)行設(shè)置,并加上--reporter-json-export參數(shù)指定報(bào)告生成的路徑。
3)html格式可以導(dǎo)出html格式的報(bào)告,通過-r html進(jìn)行設(shè)置,并加上--reporter-html-export參數(shù)指定報(bào)告生成的路徑。
在使用之前需要通過npm install -g newman-reporter-html先完成安裝。
7、定時(shí)任務(wù)執(zhí)行腳本
在實(shí)現(xiàn)了newman對(duì)測(cè)試集的命令行運(yùn)行之后,可以通過編寫ba 腳本,將其設(shè)置為windows定時(shí)任務(wù),以完成測(cè)試腳本的定時(shí)運(yùn)行。
1)編寫bat腳本
2)設(shè)置定時(shí)任務(wù)
在計(jì)算機(jī)上右鍵管理,在彈出菜單里的任務(wù)計(jì)劃程序里創(chuàng)建定時(shí)任務(wù)配置執(zhí)行。
8、Jenkins持續(xù)集成
1)創(chuàng)建自由風(fēng)格項(xiàng)目后,在構(gòu)建觸發(fā)器里,配置定時(shí)構(gòu)建選項(xiàng),指定任務(wù)定時(shí)執(zhí)行。
五個(gè)參數(shù)分別代表 分 時(shí) 天 月 星期 的周期維度。
2)在構(gòu)建時(shí),添加構(gòu)建步驟選擇執(zhí)行windows批處理命令,將Newman命令寫入即可
注意:如果Jenkins輸出中文亂碼,在環(huán)境變量中,添加一個(gè)變量JAVA_TOOL_OPTIONS值為Dfile.encoding=UTF 8 ,重啟Jenkins
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對(duì)于【軟件測(cè)試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬個(gè)測(cè)試工程師們走過最艱難的路程,希望也能幫助到你!?文章來源:http://www.zghlxwxcb.cn/news/detail-735550.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-735550.html
到了這里,關(guān)于接口自動(dòng)化測(cè)試工具,Postman使用詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!