api
api是组成testcase的基本单位,testcase是测试步骤(teststeps)的有序集合,testcase中的每一个测试步骤对应一个 API 的请求描述
场景:
登录的测试用例中包含了提交登录信息、登陆后获取主页列表等步骤,这些步骤都是可以单独分离出来作为api,被其他用例重复调用的,以提交登录信息为例,将其分离出来作为单独的api
api/login_submit.yml
name: login api
variables:
password: ${ENV(PASSWORD)}
phone: ${ENV(USERNAME)}
request:
data:
password: ${password}
phone: ${phone}
remember: 'true'
headers:
content-type: application/x-www-form-urlencoded; charset=UTF-8
x-requested-with: XMLHttpRequest
method: POST
url: https://mubu.com/api/login/submit
validate:
- eq:
- status_code
- 200
testcses/login.yml
config:
name: login
verify: false
base_url: ${get_base_url()}
teststeps:
- name: login-submit
variables:
password: ${ENV(PASSWORD)}
phone: ${ENV(USERNAME)}
api: api/login_submit.yml # 引用submit API
validate:
- eq:
- status_code
- 200
⚠️
1.该用例步骤引用的api中对变量phone和password已经进行了赋值,用例中再次赋值后会覆盖api中的值,如果
用例中未设置或设置了一部分值,未设置的默认使用api中的赋值
2.用例中使用variables再次定义变量,提高了文件可读性,一眼明了该步骤需要哪些参数,推荐使用。