《上海悠悠接口自动化平台》-3.流程性用例,有关联的接口如何写?
前言
如何在平台上维护流程类的用例,接口之间有参数关联如何传参。
实现目标
实现一个流程类的用例,登录-添加商品-删除商品
接口1:用户登录
POST /api/v1/login
Content-Type: application/json
{ "username": "test1", "password": "123456" }
{
"code": 0,
"msg": "login success!",
"username": "test1",
"token": "29f4b9296b3dde3c3ee965918041a48cc8aaf1fe"
}
登录接口返回token,后面的接口需要在请求头部传token
接口2:添加商品
POST /api/v2/goods
Content-Type: application/json
{
"goodsname": "test_name",
"goodscode": "sp_1666857542"
}
接口返回:
{
"code": 0,
"msg": "success!",
"data": {
"id": 180931,
"create_time": "2022-10-27 15:59:03",
"update_time": "2022-10-27 15:59:03",
"goodscode": "sp_1666857542",
"goodsname": "test_name",
"merchantid": "",
"merchantname": "",
"goodsprice": 0.0,
"stock": 0,
"goodsgroupid": 0,
"goodsstatus": 1,
"price": 0.0
}
}
添加完商品会返回商品id, 需拿到这个商品id, 后面第3个删除商品接口会用到
接口3:删除商品
DELETE /api/v2/goods/${id}
接口返回
{
"code": 0,
"msg": "success!",
"data": {}
}
先添加API
上面流程涉及到3个API,所以先添加3个API
1.添加登录API,设置user和password 2个变量
API 里面只做基础校验,校验状态码接口访问的通就行了,不做业务逻辑校验
2.添加商品的API
添加商品需依赖登录返回的token,于是把token设置一个变量,在头部引用
同时设置token变量,给个默认初始值,能调试通过就行
API 里面只做基础校验,校验状态码接口访问的通就行了,不做业务逻辑校验
添加商品这里引用了一个辅助函数${register_user()}
可以直接写一段python代码,调用函数
3.删除商品API
删除商品依赖登录返回的token,于是把token设置变量
删除商品还依赖于添加商品后返回的sp_id,于是把sp_id也设置变量
API 里面只做基础校验,校验状态码接口访问的通就行了,不做业务逻辑校验
总的来说,API层,每个接口都是独立的,所谓的依赖只是依赖一个参数,设置变量就行,给个初始值,方便调试通过。
涉及到业务逻辑,在TestCase 层去写依赖关系
TestCase 层用例
TestCase 层用例专门解决接口的依赖关系,按业务流程一个个调用API
最后一步删除商品,由于前面2个步骤已经提取到token和sp_id了,第3个步骤在前面设置过变量。
这里步骤的变量优先级> API设置的初始变量,所以会自动替换掉API了的初始变量
保存后,我们就可以看到用例的3个步骤,非常清晰
查看报告
最后查看运行报告
每个步骤的接口记录都非常详细
使用过程中有不明白的,或者有更好的建议,可以直接联系我