在测试SDK、游戏功能逻辑时,往往会通过调用其接口并观察返回值的方式来确认功能是否正常生效,接口返回内容是否符合需求描述等。
本文主要介绍一款常用的接口测试工具-Postman的使用小技巧
1. 常用接口地址环境配置
有时我们在回归一些接口时,由于已经测试过多次,在接口地址没有变更时,每次都要手敲往往十分麻烦。这时就可以使用Postman提供的环境配置功能将其存储在我们的常用环境中
(1)先创建一个环境并修改环境名称,方便后续在不同项目时切换使用,以免许多配置的接口混淆
(2)返回到接口界面,将环境切换到创建的分配下,点击右侧"小眼睛图标",在弹出的侧栏中点击edit
(3)将常用的接口地址输入到环境中,需注意initial value和current value要保持一致,添加后点击保存按钮
(4)返回到接口界面,在接口地址内输入{{存储的接口名}},即可实现快速配置地址
2. 常用Header环境配置
除了接口地址外,很多接口的Header都是通用的,为了简化接口配置流程,也可以对Header进行环境配置
(1)在接口界面中的Headers页签内,点击Presets-->Manage Presets-->Add进行添加
(2)添加header内容
(3)返回接口界面,点击Presets,选择刚刚配置的header即可自动添加参数
3. 项目群组设置
当你在很多项目都有测试内容时,你产生的各种接口就会相对混乱,为了方便管理,Postman支持创建项目群组来管理不同项目的接口
(1)点击左侧Collections-->加号按钮,添加项目群族
(2)在需要保存至群组内的接口上点击保存/另存为按钮
4. Postman 断言
通常我们测试接口时都是直接观察返回的结果来判断是否符合需求。但当返回的内容很多时,通过人力查看无论是效率上还是在准确度上都会有所折扣,因此我们可以通过使用Postman断言来进行自动检测。Postman断言使用JavaScript进行编写,当然Postman本身也提供了很多现成的断言方法。
(1)在接口界面点击Tests页签,跳转到断言测试界面
(2)选择想要添加的断言方法,在示例中我添加了Status code、Response body共计三种方法,断言检索后的结果如图所示:
注:断言的具体方法使用方式可以查看断言解析或直接检索方法名称
5. mock
(1)什么是mock?
mock是指在接口联调时,如果一些接口暂时还没开发好,就直接构建出该接口的返回值进行测试。
下面举一个例子:
目前需要设计一个功能:玩家在点击某个商城礼包后,返回礼包对应的信息
前端:我负责把玩家点击了哪个礼包的参数通过接口传给你哈~
后端:好嘞!我这边负责写不同礼包参数对应的返回内容,通过接口传给你,然后你那边进行展示哈~
QA:那我就负责测试你们的逻辑是否正常生效哈~
前端&后端&QA:开干!
......
前端:我写完了,测试你准备测吧
QA:后端,进度咋样了,前端都搞定了
后端:别吵吵,我忙别的呢,等我写完你再测
QA:好的哥(等你写完了我再加班不得累死(╯‵□′)╯︵┻━┻,我得想办法)
QA:既然前端已经写好接口了,那我就先根据开发的API文档规范伪造一个后端的返回值给前端,先测下前端的逻辑和表现
通过上面的例子,可以发现mock就是指把自己模拟成还未开发完的接口,给出预期的返回值给其他接口,从而不依赖于开发进度测试进行提前测试。
(2)mock的好处与坏处
①好处
有了mock后,测试进度就不必因为个别的开发未完成,导致整个测试无法进行;另外一些接口对实现的方式和环境有较高要求,难免会出现无法生成对应测试环境的情况,此时使用mock就可以简便的构造出测试环境,避免了等待程序开发完/模拟环境所消耗的时间,提前发现已开发完内容的问题,灵活安排工作。
②坏处
mock毕竟是模拟的一个“仿接口”,实际可能在返回内容、调用频率以及相关环境与真实的接口有一些差异性,过度的使用mock会导致测试的结果变成一个理想的伊甸园,从而失去了测试的意义。
(3)如何使用mock?
待补充