api

api是组成testcase的基本单位,testcase是测试步骤(teststeps)的有序集合,testcase中的每一个测试步骤对应一个 API 的请求描述

场景:
登录的测试用例中包含了提交登录信息、登陆后获取主页列表等步骤,这些步骤都是可以单独分离出来作为api,被其他用例重复调用的,以提交登录信息为例,将其分离出来作为单独的api

api/login_submit.yml

  1. name: login api
  2. variables:
  3. password: ${ENV(PASSWORD)}
  4. phone: ${ENV(USERNAME)}
  5. request:
  6. data:
  7. password: ${password}
  8. phone: ${phone}
  9. remember: 'true'
  10. headers:
  11. content-type: application/x-www-form-urlencoded; charset=UTF-8
  12. x-requested-with: XMLHttpRequest
  13. method: POST
  14. url: https://mubu.com/api/login/submit
  15. validate:
  16. - eq:
  17. - status_code
  18. - 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再次定义变量,提高了文件可读性,一眼明了该步骤需要哪些参数,推荐使用。