一、概念
1、Postman是一款功能強大的網頁調試與發送網頁HTTP請求的Chrome插件,Postman分為Postman native app和Postman Chrome app兩個版本。目前Chrome app已經停止維護,官方也不推薦使用該版本。
2、官網下載地址:http://www.getpostman.com
3:官方文檔:http://www.getpostman.com/docs
二、基礎測試流程
1、第一步:新建接口集,管理所有接口
2、第二步:新建接口請求
3、第三步:填寫相應參數,添加斷言
4、第四步:運行接口集
5、第五步:得到用例結果
三、接口請求方式
1、get請求:點擊Params,輸入參數及value,可輸入多個,即時顯示在URL鏈接上
2、POST請求:
1)參數格式
2)二進制文件提交:
3)可以直接使用快捷方式將body或者params數據導入
四、設置變量與測試沙箱
1、環境變量
1)第一步:創建 Environment 變量
2)第二步:調用Environment變量,調用參數方式是:{{變量名稱}}
2、全局變量
1)創建Globals變量
2)調用Globals變量
3、測試沙箱
1)Postman測試沙箱其實是結合JS腳本完成測試中的功能,在請求發起前后實現部分測試操作。
2)常用功能:請求前腳本( pre request scripts )設置請求前置操作如設置變量等。
請求后對狀態碼、響應頭、響應正文等信息進行斷言操作。
五、斷言
1、概念:斷言就是對預期結果與實際結果的判斷,預期==實際,就通過;預期!=通過則失敗
2、Postman的斷言是JavaScript語言編寫的,寫在tests標簽頁里,在sandbox中運行
3、常見斷言:可參考:https://www.cnblogs.com/suim1218/p/8931159.html
1)Get an environment variable (獲取環境變量)
2)Get a global variable (獲取一個全局變量)
3)Response body:contains string (檢查響應主體是否包含字符串)
4)Response body:is equal to a string (檢查響應主體是否等於一個字符串)
4、Json斷言
1)編寫JS語句:判斷返回的結果中city值是否正確
var 變量名 = JSON.parse(responseBody); tests["標題"] = 變量名.鍵名 === "值"
var 變量名 = JSON.parse(responseBody); tests["標題"] = 變量名.列表名[0].鍵名 === "值"
判斷data列表中第一個元素data的值是否正確
2)調用postman方法
a、判斷返回的結果中city值是否正確
b、判斷data列表中第一個元素data的值是否正確
5、參數化斷言:基本格式:data.變量名
六、測試集與數據驅動
1、測試集的使用:為了更方便地管理接口請求的執行,可以通過postman 測試集(collection)來完成測試的操作,每一個測試請求可以看成一個測試用例(testcase),
collections能夠一次管理多個測試用例來執行。通過save,能夠將請求保存到collections中使用。
2、數據驅動:當需要進行數據驅動方式運行多次Postman腳本時,可以通過csv文件或者json格式的文件對接口測試數據進行管理,以方便用例管理執行。
在接口請求中,參數使用變量名獲取,之后在創建數據文件時,使用這些變量名編輯測試數據。在測試沙箱中,參數的獲取用data.參數名的形式來進行讀取。
3、當需要進行數據驅動方式運行多次Postman 腳本時,可以通過csv文件或者json格式的文件對接口測試數據進行管理,以方便用例管理執行。
1)創建測試數據:創建一個csv格式文件之后,通過notepad++或者excel進行編輯。
注意:文件需要使用UTF-8編碼,創建了csv文件之后,在notepad++中使用編碼菜單中的轉為UTF-8編碼功能將文件轉為UTF-8編碼使用。
文件中第一行必須是接口請求使用的變量名,后續每行填寫本次執行使用的變量值。
2)使用測試數據文件
在collection runner中data選項選擇編輯好的測試數據文件,preview能夠查看文件預覽,確保文件讀取內容無誤。
七、Postman持續集成
1、安裝nodejs
1)下載地址: http://nodejs.cn/download/
2)安裝之后確認環境變量中已經添加了node所在目錄,否則手動添加。在cmd中通過node v和npm v命令確認node環境已經搭建成功
2、安裝newman:通過newman來執行postman測試腳本,並生成測試報告
1)npm install -g newman --registry=https://registry.npm.taobao.org
2)newman -v 查看版本,檢測是否安裝成功
3、安裝html報告:npm install -g newman-reporter-html
4、Newman執行測試
1)從Postman導出測試集合
2)Newman執行collection導出的Json文件
命令行中輸入newman run導出的Json文件名通過Newman命令行運行測試集
5、Newman常用參數
1)-e,--environment:使用環境變量文件或url
使用時,首先在環境變量中通過導出功能將環境變量導出,然后用如下命令引用。
2)-g, --global:使用全局變量文件或url
類似環境變量使用,在使用前,先導出全局變量文件,再通過g指定文件使用
3)-d, --iteration-data:指定使用的數據驅動文件
4)-n:指定測試集循環次數iterations
6、Newman生成測試報告
Newman提供的測試報告中,常用的包括cli、json和html三種格式,可以通過-r或者--reporter命令指定所用格式
1)cli格式為在 cmd 客戶端呈現的報告模板, newman 默認使用該格式。
2)json格式可以導出json格式的報告,通過-r json進行設置,並加上--reporter-json-export參數指定報告生成的路徑。
3)html格式可以導出html格式的報告,通過-r html進行設置,並加上--reporter-html-export參數指定報告生成的路徑。
在使用之前需要通過npm install -g newman-reporter-html先完成安裝。
7、定時任務執行腳本
在實現了newman對測試集的命令行運行之后,可以通過編寫ba 腳本,將其設置為windows定時任務,以完成測試腳本的定時運行。
1)編寫bat腳本
2)設置定時任務
在計算機上右鍵管理,在彈出菜單里的任務計划程序里創建定時任務配置執行。
8、Jenkins持續集成
1)創建自由風格項目后,在構建觸發器里,配置定時構建選項,指定任務定時執行。
五個參數分別代表 分 時 天 月 星期 的周期維度。
2)在構建時,添加構建步驟選擇執行windows批處理命令,將Newman命令寫入即可
注意:如果Jenkins輸出中文亂碼,在環境變量中,添加一個變量JAVA_TOOL_OPTIONS值為Dfile.encoding=UTF 8 ,重啟Jenkins