api层是对接口的描述
那testcases就是对API的有序调用
通过api字段引用接口定义,引用方式为API文件的路劲,基本推荐相对路径
路径基准为项目的根目录 即在跟目录上新建一个debugtalk.py作为api 的路径基础
config:
# 用例名称
name: 输入正确账号密码 输入成功
teststeps:
# 测试步骤
-
name: 测试步骤:login
api: api/gettoken.yml
# 使用关键字api来调用api层内容
validate:
- eq: [status_code,200]
- eq: [headers.Content-Type,application/json]
- eq: [content.code,0]
- len_eq: [content.data.access_token,36]
用例为测试失败时,需要用变量替换掉原来的参数
config:
# 用例名称
name: 输入错误账号密码 登录失败
teststeps:
# 测试步骤
-
name: 测试步骤:login
api: api/gettoken.yml
# 使用关键字api来调用api层内容
variables:
username: xxx
password: xxx
# 测试步骤中设置变量
validate:
- eq: [status_code,400]
- eq: [headers.Content-Type,application/json]
- eq: [content.msg,Bad credentials]
- eq: [content.code,'400']
不瞒你说 这个执行是失败的
为什么呢 ?因为用例里没有断言token 但在api里断言了 测试用例了没覆盖 所以断言失败
所以要么覆盖掉断言 要么去掉api中的断言,就这么简单
其实api中断言最基础的 状态码之类的 不去校验body的内容 因为传入的变量不同结果不同
,