赞
踩
后面找到了一款叫Apifox的工具,它本身不是专门做测试数据的,它更接近于国产Postman,它自己的定位是Apifox=Postman+Swagger+Jmeter+Mock, 也就是集成了接口文档管理,接口调试、测试、mock功能。
但我取我所需,把它的mock和接口自动化功能结合起来用,就成了为我量身**的测试数据工厂。 接下来我结合这几天的使用经验,给大家分享下要怎么用这款工具来造测试数据。
根据测试数据的类型,我们把它分为常规数据和专有数据,常规数据如姓名,年龄,手机号,邮箱,身份证号等等;
专有数据如电商项目的运单号,物流数据,订单号等。这部分可通过Apifox的mock智能引擎实现。
根据造数据的难易程度可以分为单个接口可直接生成的数据和需要中间变量、通过多个接口生成的测试数据。这部分可在mock的基础上,通过接口自动化实现。
而为了使构造出来的测试数据更加符合业务要求,在这个基础上可以对测试数据添加数据范围约束,mock期望或者使用mock自定义脚本。
基本上是遵循三个步骤:先构建测试数据字段,再构建接口响应数据,修改测试数据使之更符合业务数据要求。
造数据之前,我们还需要一份接口文档,造数据的基本规则是通过跑接口来造数据的。
Apifox支持Swagger、Postman、yapi等20多种格式的接口文档一键导入,所以无论你的团队用的什么接口管理工具,基本上都能无痛导入进来。
如果你跟开发要到的接口文档是word,html格式的,那就先问问为什么2022年了,还要用web1.0时代的东西,是因为村里还没通网吗?然后再骂骂咧咧、手动一个个把接口复制进apifox。
都导入、复制完成之后,一个整洁的项目接口页面如下,接下来就可以开始干活儿了。
对于测试数据中的常规数据,如姓名、电话号码、邮箱、地址等,Apifox已经内置了一批mock规则。
如下所示,Apifox的mock规则兼容mock.js的语法,并且可以通过正则表达式,灵活构造数据规则。可在项目设置-功能设置-mock设置
中查看所有内置规则、添加自定义规则。
使用的时候非常简单,选择测试数据对应的接口,在接口请求和响应的参数中选择变量所对应的造数规则,保存并发起请求,则每次都会生成对应的数据。 举例: 我们使用post接口来生成宠物数据。在请求参数mock规则框选择符合该字段要求的造数规则并保存、发起请求。
则接口保存并返回了对应的宠物数据:
上面生成的常规测试数据是直接使用内置造数规则,构造出来的,我们做的操作基本就是做选择题。这确实符合我们之前所说的低成本、高效造测试数据
。
如果是一些垂直行业内专用的业务数据,像刚刚说的物流号,订单号,保单号之类的数据。
Apifox的内置mock规则里没有现成可用的,但它提供了自定义mock规则来满足这类需求。
这里不需要复杂的代码,通过一行正则表达式即可完成造数逻辑。至于写出来的这行正则表达式是否能准确概括数据规则,可以通过一些在线的正则表达式检验器去校验,校验成功后才填到mock规则里。
举例:假设项目涉及到物流行业顺丰的运单号,那么可以在项目设置-智能mock设置
里,新建一个自定义mock规则,填入一个正确的正则表达式,之后再在接口响应参数里使用该规则
发起包含该字段的接口请求,可得到符合业务要求的运单号数据:
如果需要生成多条测试数据,则可以在接口设计页面-请求参数
中设置动态值,动态值的设置同样遵循mock规则,动态值使得每次提交的数据都不同,则对应的能生成不同的新测试数据。
将该用例保存,导入自动化测试中循环执行10次,则会生成10条测试数据。
有时候一个测试数据可能需要中间数据才能生成,这需要调用到多个接口,涉及到接口间的参数调用和接口关联的问题。 这里我一般是用apifox的接口自动化功能。 鉴于本文不是专门介绍接口自动化的,只稍微提一下用接口自动化来造测试数据的三个关键问题:
参数用例自动生成
单个接口的响应数据构造在上面已经提到,只需要将配置好的用例保存为参数,接着再自动化测试-新建测试用例-导入步骤
里绑定这条用例场景用例一键导入
根据执行一个业务场景所需要的接口按调用顺序进行拖曳排序,模拟实际操作场景
接口变量提取和接口关联
回到单个接口用例中,将供下游接口使用的参数提取到全局变量中,在需要使用上游接口变量的接口的请求参数中调用该变量。
最后再执行整条测试用例,完成最终测试数据的获取。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
图片转存中…(img-WWaMp9ji-1713025903784)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。