目錄:導讀
- 前言
- 一、Python編程入門到精通
- 二、接口自動化項目實戰
- 三、Web自動化項目實戰
- 四、App自動化項目實戰
- 五、一線大廠簡歷
- 六、測試開發DevOps體系
- 七、常用自動化測試工具
- 八、JMeter性能測試
- 九、總結(尾部小驚喜)
前言
postman中的測試
在postman中,可以通過添加腳本到請求當中,來使用動態變量、在請求之間傳遞數據以及編寫測試。寫在Pre-request Scripttab中的代碼會在請求發送之前執行,而寫在Teststab中的代碼會在響應到達之后執行。
postman測試用的語言是JavaScript。
所以對于前端開發者來說幾乎沒有學習成本。對于一個單獨的請求來說,如果它有測試腳本,那么在請求發送之后,在Test Resultstab可以看到對應的測試結果。
另外為了可以快速編寫測試腳本,postman提供了一些通用的代碼片段(code snippets)。
對應的功能結構圖:
測試腳本編寫
例子:
pm.test("response is ok", function () {pm.response.to.have.status(200);
});pm.test("environment to be production", function () { pm.expect(pm.environment.get("env")).to.equal("production");
});pm.test("response must be valid and have a body", function () {pm.response.to.be.ok;pm.response.to.be.withBody;pm.response.to.be.json;
});var schema = {type: 'object',properties: {appID: {type: 'number',},avatar: {type: 'string',}}
}
pm.test('Schema is valid', function() {var jsonData = pm.response.json().data;pm.expect(tv4.validate(jsonData, schema)).to.be.true;
});
pm.test():
為了遵循postman的規范,所有測試代碼必須寫在pm.test()的function里面。第一個參數是該測試的名稱,第二個參數是一個返回boolean值的函數。也就是說這個函數如果返回true,表示測試通過,否則測試失敗。
pm.expect():
這個斷言函數是基于一個JavaScript測試庫ChaiJS BDD構建的。通過類似的語法,你可以很方便的對響應里的數據或者一些變量進行斷言。
pm.response.to.be.*:
這個對象可以提供對響應常見的檢查。如狀態碼是否符合預期等。
tv4.validate():
第一個參數是被檢驗的數據,第二個參數是json schema。通過則返回true,失敗則返回false。
運行測試:
我們通常會給多個api運行測試,因為我們有很多api,或者一個測試場景由多個api所組成。所以我們會把他們添加到一個集合(Collections)當中來運行。
postman(用戶界面)
這里注意,請求是按照Collections當中的順序線性執行。
如果想改變執行順序,可以修改Collections中的順序,或者使用
postman.setNextRequest(“request_name”);
如果想要停止整個流程,可以執行postman.setNextRequest(null);
newman(令行工具)
1、從postman當中導出為json格式的Collections
2、全局安裝newman,npm install -g newman 3.執行命令,newman run sample-collection.json
結合Jenkins自動化
一個通用的方案是在代碼在提交后,或者合入倉庫分支后,執行 newman -c jenkins_demo.postman_collection --exitCode 1。
注意到–exitCode參數,這是為了告訴Jenkins,如果測試失敗,將會返回值為1的退出碼。這樣就Jenkins就可以得知測試運行的成功與否了。
下面是我整理的2023年最全的軟件測試工程師學習知識架構體系圖 |
一、Python編程入門到精通
二、接口自動化項目實戰
三、Web自動化項目實戰
四、App自動化項目實戰
五、一線大廠簡歷
六、測試開發DevOps體系
七、常用自動化測試工具
八、JMeter性能測試
九、總結(尾部小驚喜)
心若向陽,夢即綻放;困苦是階梯,奮斗是密碼。把握今天,超越昨天;堅持不懈,成就明天。不論遇到何種困難,努力奮斗,終將迎來輝煌的人生篇章!
夢想是航向遠方的指南針,勇氣是驅散黑暗的燈塔。堅持拼搏,不停追求,勇往直前,無畏風雨。踏上征程,放飛心靈,奮斗的汗水定將綻放出絢麗的輝煌!
在每一個艱難的時刻,都要記住,勇敢是戰勝困難的力量。保持堅定信念,放飛夢想的翅膀,積極拼搏,奮斗不止。唯有努力,方能讓生命綻放出最燦爛的光芒!