这款低成本、快速造出高可用的一款测试数据是Apifox的工具,这款APP的本身并不是专门做测试数据的,但是它更接近于国产Postman,它自己的定位是一个Apifox=Postman+Swagger+Jmeter+Mock, 也就是集成了接口文档管理,接口调试、测试和mock功能。
但我取我所需,把它的mock和接口自动化功能结合起来用,就成了为我量身定做的测试数据工厂。 接下来我结合这几天的使用经验,给大家分享下要怎么用这款工具来造测试数据。
根据测试数据的类型,我们把它分为常规数据和专有数据,常规数据如姓名,年龄,手机号,邮箱,身份证号等等;专有数据如电商项目的运单号,物流数据,订单号等。这部分可通过Apifox的mock智能引擎实现。
根据造数据的难易程度可以分为单个接口可直接生成的数据和需要中间变量、通过多个接口生成的测试数据。这部分可在mock的基础上,通过接口自动化实现。而为了使构造出来的测试数据更加符合业务要求,在这个基础上可以对测试数据添加数据范围约束,mock期望或者使用mock自定义脚本。
基本上是遵循三个步骤:先构建测试数据字段,再构建接口响应数据,修改测试数据使之更符合业务数据要求。Apifox的内置mock规则里没有现成可用的,但它提供了自定义mock规则来满足这类需求。
在这个Apifox的工具里不需要很多复杂的代码,只需要通过一行正则表达式就可以完成所需的造数逻辑。至于写出来的这行正则表达式是否能准确概括数据规则,可以通过一些在线的正则表达式检验器去校验,校验成功后才填到mock规则里。
如果需要生成多条测试数据,则可以在接口设计页面-请求参数中设置动态值,动态值的设置同样遵循mock规则,动态值使得每次提交的数据都不同,则对应的能生成不同的新测试数据。