接口测试 - 使用 mock 生产随机数据
在做接口测试的时候,有的接口需要进行大量的数据进行测试,还不能是重复的数据,这个时候就需要随机生产数据进行测试了。这里教导大家使用 mock.js 生成各种随机数据。
一、什么是 mock.js
mock.js 是用于生成随*机数据,拦截 Ajax 请求。 通过拦截 Ajax 请求,根据数据模板生成并返回模拟数据,让前端攻城师独立于后端进行开发,帮助编写单元 测试。
1、增加单元测试的真实性
通过随机数据,模拟各种场景。
2、开发无侵入
不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。 用法简单
符合直觉的接口。
3、数据类型丰富
支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
4、方便扩展
支持扩展更多数据类型,支持自定义函数和正则
5、总结
因为 mock.js 可以生产各种数据数据,所以也可以用在接口测试上,生成各种接口参数值。
二、如何在接口测试工具 apipost 中使用 mock.js
1、apipost 内置了常用的 mock 字段变量


需要使用变量的时候,直接把变量名称复制到参数值中就可使用了,如图:

2、在与执行脚本中编写自定义的 mock.js 变量

如:
1)生产一个随机手机号,熟悉 mock.js 的可以自己编写一下,不会的可以直接百度,然后粘贴到与执行脚本中,在设置一个环境变量,变量值为数据生产的手机号:
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);

引用设置的变量,如图;

2)生产一个随机时间戳
var timestamp=Date.parse(new Date())
apt.variables.set(“timestamp”, timestamp);

引用随机时间戳

有兴趣深入 mock.js 可以去 mock.js 官网进行学习。
评论