在做接口測(cè)試的時(shí)候,有的接口需要進(jìn)行大量的數(shù)據(jù)進(jìn)行測(cè)試萝映,還不能是重復(fù)的數(shù)據(jù)吴叶,這個(gè)時(shí)候就需要隨機(jī)生產(chǎn)數(shù)據(jù)進(jìn)行測(cè)試了。這里教導(dǎo)大家使用mock.js生成各種隨機(jī)數(shù)據(jù)序臂。
mock.js是用于生成隨*機(jī)數(shù)據(jù),攔截 Ajax 請(qǐng)求奥秆。 通過(guò)攔截 Ajax 請(qǐng)求逊彭,根據(jù)數(shù)據(jù)模板生成并返回模擬數(shù)據(jù),讓前端攻城師獨(dú)立于后端進(jìn)行開(kāi)發(fā)构订,幫助編寫單元 測(cè)試侮叮。
1、增加單元測(cè)試的真實(shí)性
通過(guò)隨機(jī)數(shù)據(jù)悼瘾,模擬各種場(chǎng)景囊榜。
2、開(kāi)發(fā)無(wú)侵入
不需要修改既有代碼分尸,就可以攔截 Ajax 請(qǐng)求锦聊,返回模擬的響應(yīng)數(shù)據(jù)。 用法簡(jiǎn)單
符合直覺(jué)的接口箩绍。
3孔庭、數(shù)據(jù)類型豐富
支持生成隨機(jī)的文本、數(shù)字材蛛、布爾值圆到、日期、郵箱卑吭、鏈接芽淡、圖片、顏色等豆赏。
4挣菲、方便擴(kuò)展
支持?jǐn)U展更多數(shù)據(jù)類型,支持自定義函數(shù)和正則
5掷邦、總結(jié)
因?yàn)閙ock.js可以生產(chǎn)各種數(shù)據(jù)數(shù)據(jù)白胀,所以也可以用在接口測(cè)試上,生成各種接口參數(shù)值抚岗。
二或杠、如何在接口測(cè)試工具apipost中使用mock.js
1、apipost內(nèi)置了常用的mock字段變量
2宣蔚、在與執(zhí)行腳本中編寫自定義的mock.js變量
如:
1)生產(chǎn)一個(gè)隨機(jī)手機(jī)號(hào)向抢,熟悉mock.js的可以自己編寫一下认境,不會(huì)的可以直接百度,然后粘貼到與執(zhí)行腳本中挟鸠,在設(shè)置一個(gè)環(huán)境變量叉信,變量值為數(shù)據(jù)生產(chǎn)的手機(jī)號(hào):
const phonePrefix = [‘132’, ‘135’, ‘189’]
const index = Math.floor(Math.random() * phonePrefix.length)
var phone = phonePrefix[index] + Mock.mock(/\d{8}/)
apt.variables.set(“phone”, phone);
引用設(shè)置的變量,如圖;
2)生產(chǎn)一個(gè)隨機(jī)時(shí)間戳
var timestamp=Date.parse(new Date())
apt.variables.set(“timestamp”, timestamp);
引用隨機(jī)時(shí)間戳
有興趣深入mock.js可以去mock.js官網(wǎng)進(jìn)行學(xué)習(xí)艘希。