前言
postman中的測(cè)試
在postman中,可以通過(guò)添加腳本到請(qǐng)求當(dāng)中,來(lái)使用動(dòng)態(tài)變量、在請(qǐng)求之間傳遞數(shù)據(jù)以及編寫(xiě)測(cè)試。寫(xiě)在Pre-request Scripttab中的代碼會(huì)在請(qǐng)求發(fā)送之前執(zhí)行,而寫(xiě)在Teststab中的代碼會(huì)在響應(yīng)到達(dá)之后執(zhí)行。
postman測(cè)試用的語(yǔ)言是JavaScript。
所以對(duì)于前端開(kāi)發(fā)者來(lái)說(shuō)幾乎沒(méi)有學(xué)習(xí)成本。對(duì)于一個(gè)單獨(dú)的請(qǐng)求來(lái)說(shuō),如果它有測(cè)試腳本,那么在請(qǐng)求發(fā)送之后,在Test Resultstab可以看到對(duì)應(yīng)的測(cè)試結(jié)果。
另外為了可以快速編寫(xiě)測(cè)試腳本,postman提供了一些通用的代碼片段(code snippets)。
對(duì)應(yīng)的功能結(jié)構(gòu)圖:
測(cè)試腳本編寫(xiě)
例子:
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的規(guī)范,所有測(cè)試代碼必須寫(xiě)在pm.test()的function里面。第一個(gè)參數(shù)是該測(cè)試的名稱(chēng),第二個(gè)參數(shù)是一個(gè)返回boolean值的函數(shù)。也就是說(shuō)這個(gè)函數(shù)如果返回true,表示測(cè)試通過(guò),否則測(cè)試失敗。
pm.expect():
這個(gè)斷言函數(shù)是基于一個(gè)JavaScript測(cè)試庫(kù)ChaiJS BDD構(gòu)建的。通過(guò)類(lèi)似的語(yǔ)法,你可以很方便的對(duì)響應(yīng)里的數(shù)據(jù)或者一些變量進(jìn)行斷言。
pm.response.to.be.*:
這個(gè)對(duì)象可以提供對(duì)響應(yīng)常見(jiàn)的檢查。如狀態(tài)碼是否符合預(yù)期等。
tv4.validate():
第一個(gè)參數(shù)是被檢驗(yàn)的數(shù)據(jù),第二個(gè)參數(shù)是json schema。通過(guò)則返回true,失敗則返回false。
運(yùn)行測(cè)試:
我們通常會(huì)給多個(gè)api運(yùn)行測(cè)試,因?yàn)槲覀冇泻芏郺pi,或者一個(gè)測(cè)試場(chǎng)景由多個(gè)api所組成。所以我們會(huì)把他們添加到一個(gè)集合(Collections)當(dāng)中來(lái)運(yùn)行。
postman(用戶界面)
這里注意,請(qǐng)求是按照Collections當(dāng)中的順序線性執(zhí)行。
如果想改變執(zhí)行順序,可以修改Collections中的順序,或者使用
postman.setNextRequest(“request_name”);
如果想要停止整個(gè)流程,可以執(zhí)行postman.setNextRequest(null);
newman(令行工具)
1、從postman當(dāng)中導(dǎo)出為json格式的Collections
2、全局安裝newman,npm install -g newman 3.執(zhí)行命令,newman run sample-collection.json
結(jié)合Jenkins自動(dòng)化
一個(gè)通用的方案是在代碼在提交后,或者合入倉(cāng)庫(kù)分支后,執(zhí)行 newman -c jenkins_demo.postman_collection --exitCode 1。
注意到–exitCode參數(shù),這是為了告訴Jenkins,如果測(cè)試失敗,將會(huì)返回值為1的退出碼。這樣就Jenkins就可以得知測(cè)試運(yùn)行的成功與否了。
下面是我整理的2023年最全的軟件測(cè)試工程師學(xué)習(xí)知識(shí)架構(gòu)體系圖 |
一、Python編程入門(mén)到精通
二、接口自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
三、Web自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
四、App自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
五、一線大廠簡(jiǎn)歷
六、測(cè)試開(kāi)發(fā)DevOps體系
七、常用自動(dòng)化測(cè)試工具
八、JMeter性能測(cè)試
九、總結(jié)(尾部小驚喜)
心若向陽(yáng),夢(mèng)即綻放;困苦是階梯,奮斗是密碼。把握今天,超越昨天;堅(jiān)持不懈,成就明天。不論遇到何種困難,努力奮斗,終將迎來(lái)輝煌的人生篇章!
夢(mèng)想是航向遠(yuǎn)方的指南針,勇氣是驅(qū)散黑暗的燈塔。堅(jiān)持拼搏,不停追求,勇往直前,無(wú)畏風(fēng)雨。踏上征程,放飛心靈,奮斗的汗水定將綻放出絢麗的輝煌!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-756686.html
在每一個(gè)艱難的時(shí)刻,都要記住,勇敢是戰(zhàn)勝困難的力量。保持堅(jiān)定信念,放飛夢(mèng)想的翅膀,積極拼搏,奮斗不止。唯有努力,方能讓生命綻放出最燦爛的光芒!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756686.html
到了這里,關(guān)于Postman接口自動(dòng)化測(cè)試實(shí)戰(zhàn),從0到1一篇徹底打通...的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!