假设管理员进行一个场景:为网站新增品牌,内容为品牌名:冬青及服务商名:兰禹,并验证是否新增成功

(注意:请在登录和将Token作为全局变量的前提下进行以下操作)
根据打开给的接口文档,我们获取到新增品牌接口,及列表品牌接口,以及品牌详情页接口
打开APIFOX的自动化测试,新建测试用例,

找到提前写好的新增品牌接口导入进去

点击自动生成代码,删除非必要关键字,保留"Name"和"MerchantId",

填入品牌名:冬青和品牌商兰禹的id:6,发送并保存
(注意:品牌商兰禹的id可从接口文档得出)


于是,我们就新增成功了
那么我们怎么验证这个新增是存在的呢
我们调用了品牌详情接口,但是,我们并不知道新建品牌的ID号,这可怎么办呢?

于是我们调用了品牌列表接口,输入参数进行搜索,试图查询到想要的ID

但是我们要的是最后一个ID号,目前开发请求参数并没有做搜索最后一个参数的设置,
当数据库的数据查过三十条,搜索就比较难了,可见这是行不通的
我们采用数据库进行查询操作,得知ID为54

于是我们通过详情接口传入ID为54的品牌号,得知现在新增商品的详情:品牌名:冬青及服务商名:兰禹

到这一步看起来已经完成任务了,但是呢
我们不想每次都是人眼去看响应详情以验证结果是否复合我们预期
那么,我们做了以下断言:
品牌名:冬青 服务商名:兰禹


验证成功!
但是呢?这样还是不够方便,并且有以下几个问题:
一:当我们的品牌商和品牌名有调整,我需要手动修改断言参数
二:我需要肉眼查看详情参数,才知道响应结果符不符合我的预期
三:新增的品牌ID号需要去数据库手动查询,依旧不能实现我们想偷懒的想法
我们利用删除接口,将刚才创建的品牌删除,重新来一次~
首先:我们才尝试使用变量实现,将新建的品牌名字和品牌商ID设为变量:
新建一个接口,在前置操作的自定义脚本里面设置环境变量:品牌名字和品牌商ID两个变量

并将环境变量写入新建品牌接口的参数里面

于是当我点击发送时就新建了一个品牌
按照之前,在品牌详情接口输入从数据库里查到的最后一条数据的ID号,填入就可以看到新建品牌的详情了
这次在前置操作选择数据库操作,连接数据库进行操作
连接数据库,使用sql语句查询,提取变量id,
(注意:在APIFOX连接数据库的前提下,以及本机远程连接服务器为前提进行操作!)
(注意:SQL语句可先到数据库查询看是否起效;表达式可参考详情返回值或者提示例子,在排除错误是注意变量类型是否有误)

将前置操作的ID提取到请求参数中,如下

为了自动化验证我们的响应数据符合预期,我们在后置操作里添加了断言脚本

验证通过

最后,所有测试用例一起运行

浙公网安备 33010602011771号