假设管理员进行一个场景:为网站新增品牌,内容为品牌名:冬青及服务商名:兰禹,并验证是否新增成功
(注意:请在登录和将Token作为全局变量的前提下进行以下操作)
根据打开给的接口文档,我们获取到新增品牌接口,及列表品牌接口,以及品牌详情页接口
打开APIFOX的自动化测试,新建测试用例,
找到提前写好的新增品牌接口导入进去
点击自动生成代码,删除非必要关键字,保留"Name"和"MerchantId",
填入品牌名:冬青和品牌商兰禹的id:6,发送并保存
(注意:品牌商兰禹的id可从接口文档得出)
于是,我们就新增成功了
那么我们怎么验证这个新增是存在的呢
我们调用了品牌详情接口,但是,我们并不知道新建品牌的ID号,这可怎么办呢?
于是我们调用了品牌列表接口,输入参数进行搜索,试图查询到想要的ID
但是我们要的是最后一个ID号,目前开发请求参数并没有做搜索最后一个参数的设置,
当数据库的数据查过三十条,搜索就比较难了,可见这是行不通的
我们采用数据库进行查询操作,得知ID为54
于是我们通过详情接口传入ID为54的品牌号,得知现在新增商品的详情:品牌名:冬青及服务商名:兰禹
到这一步看起来已经完成任务了,但是呢
我们不想每次都是人眼去看响应详情以验证结果是否复合我们预期
那么,我们做了以下断言:
品牌名:冬青 服务商名:兰禹
验证成功!
但是呢?这样还是不够方便,并且有以下几个问题:
一:当我们的品牌商和品牌名有调整,我需要手动修改断言参数
二:我需要肉眼查看详情参数,才知道响应结果符不符合我的预期
三:新增的品牌ID号需要去数据库手动查询,依旧不能实现我们想偷懒的想法
我们利用删除接口,将刚才创建的品牌删除,重新来一次~
首先:我们才尝试使用变量实现,将新建的品牌名字和品牌商ID设为变量:
新建一个接口,在前置操作的自定义脚本里面设置环境变量:品牌名字和品牌商ID两个变量
并将环境变量写入新建品牌接口的参数里面
于是当我点击发送时就新建了一个品牌
按照之前,在品牌详情接口输入从数据库里查到的最后一条数据的ID号,填入就可以看到新建品牌的详情了
这次在前置操作选择数据库操作,连接数据库进行操作
连接数据库,使用sql语句查询,提取变量id,
(注意:在APIFOX连接数据库的前提下,以及本机远程连接服务器为前提进行操作!)
(注意:SQL语句可先到数据库查询看是否起效;表达式可参考详情返回值或者提示例子,在排除错误是注意变量类型是否有误)
将前置操作的ID提取到请求参数中,如下
为了自动化验证我们的响应数据符合预期,我们在后置操作里添加了断言脚本
验证通过
最后,所有测试用例一起运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现