v1.0
javascript
做者:ZBWhtml
繼利用Postman和Jmeter進行接口性能測試以後,咱們發現Postman做爲一款入門容易的工具,其內置的一些高級功能足夠幫助咱們對網站進行全面的接口測試。本文首先將介紹兩個比較關鍵的功能:環境(Environment)和附加代碼(Pre-request Script和Tests),這兩個功能可以幫助咱們對接口進行更加複雜的驗證,如驗證接口返回的信息等。除此以外,本文還將介紹文件上傳測試的運行方式。java
注:本文使用Native版本的Postman,以保證功能含有儘量少的Bug。json
設想這樣的兩個場景:api
Postman中提供了變量(Variable)的概念,專門用於解決以上的問題。特別地,Postman將一組變量成爲一個環境(Environment)。具體的說,一個環境能夠是一組常常被複用的鍵值對,也能夠是將先後測試關聯起來的內容。服務器
1.新建環境dom
打開Postman,能夠看到右上角有No Environment
字樣,說明咱們目前沒有應用任何環境變量。函數
點擊齒輪圖表打開環境的管理頁面:工具
進入後點擊Add
能夠新建一個環境,並看到以下界面。在該界面中能夠設置變量的名稱、初值、當前值。點擊Add保存。若是點擊Globals能夠配置全局的變量。post
2.切換環境
回到開始的界面,點擊No Environment
字樣能夠看到剛剛新建的環境,選中便可應用。
3.應用變量
Postman中以{{}}
括起來的內容即爲變量。這些內容能夠出如今任何地方,包括域名、請求頭、請求參數以及後文敘述的腳本代碼中。例如若是咱們想解決以上的第一個問題,能夠將每一個請求的域名字段改成
{{domain}}/api/to/test
以後配置不一樣的環境,分別有domain
變量指向不一樣網址便可。
一樣,試想以下的場景:
以上的場景分別可使用Postman附帶的請求前腳本和請求後測試腳原本實現。這二者本質上都是一段Javascript代碼,由Postman在請求發起先後放在沙盒(Postman Sandbox)中代爲執行,並可經過應用Postman對象獲取及修改測試相關的一些信息。
請求前/後腳本的修改均位於配置請求的頁面上,如圖所示。
之前述的獲取時間爲例。能夠按以下方式編寫腳本,而且在請求頭中使用{{timestamp}}獲取值。
pm.environment.set('timestamp', new Date());
該段代碼中pm爲Postman對象,environment能夠獲取當前使用的環境變量,set方法能夠用於設置一個環境變量。
這樣當運行測試時就會先運行這段代碼獲取時間並賦給timestamp變量。
咱們的項目中定義了一些錯誤碼,能夠經過錯誤碼驗證服務端是否返回錯誤信息。
1.例如在生成報告的測試中Tests部分添加以下代碼
var jsonData = pm.response.json(); pm.test("Status is right", function () { pm.expect(jsonData.status).to.eql("success"); }); pm.test("Errorcode is right", function () { pm.expect(jsonData.errorcode).to.eql("0000"); }); pm.test("ExperimentId is right", function () { pm.expect(jsonData.experimentId).to.eql("2110114"); }); pm.test("Return a pdf link", function () { pm.expect(jsonData.link).to.include(".pdf"); });
其中pm.response.json()
能夠獲取返回的響應信息並轉爲JSON對象。以後使用test
方法和expect
等函數對結果進行驗證。expect
相似於斷言,當在Runner中運行時若是出現檢查不過則測試即便返回HTTP 200 結果也爲失敗(Fail)。
2.這裏的代碼還能夠用於關聯測試。以咱們的測試中獲取生成報告的連接爲例。咱們首先請求生成報告的接口,生成一個報告,以後收藏這一報告。
在生成報告的請求的Tests字段中配置
pm.environment.set("pdflink", jsonData.link); pm.environment.set("reportId", jsonData.experimentId);
並在以後的收藏測試中請求信息爲:
link={{pdflink}}&reportId={{reportId}}
這樣以來即可以將以前響應結果傳入後續測試中。
配置文件上傳測試的方式主要分兩步。
1.肯定/配置工做路徑
打開Postman的設置,能夠看到Working Directory
的設置內容。這裏是Postman有權限讀取的文件位置,能夠將相關上傳的文件放在這裏。
2.在測試中添加文件
在form-data類的請求體中,能夠將Key的類型設置爲File
,以後點擊選擇文件即可以增長文件了。
特別地,在該測試導出後,若是別人導入到另外一臺電腦進行測試,那麼文件將從其電腦上設置的Postman工做目錄下讀取。