HttpRunner(8):接口关联及断言

关联

第一个test接口获取token,并提取出存储到变量中,在第二个test接口中直接调用该变量,如下图

# 接口关联
- config:
    name: 微信接口
    base_url: https://api.weixin.qq.com

- test:
    name: 获取token
    request:
      url: /cgi-bin/token
      method: GET
      params:
        grant_type: client_credential
        appid: wxf144190
        secret: 92a113bd4b5
    extract:
      - token: content.access_token
      - time: content.expires_in
    validate:
      - eq: [$time,7200]


- test:
    name: 获取用户所有标签
    request:
      url: /cgi-bin/tags/get
      method: GET
      params:
        access_token: $token  # 引用上面的token实现关联
    extract:
      - id: content.tags.0.id
      - name: content.tags.0.name
    validate:
      - eq: [$id,2]
      - eq: [$name,"星标组"]

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

 

常用断言 

HttpRunner 常用断言

validate: 断言设置  可以对响应数据做多个断言验证 

注:断言操作一般都用在testcases用例层做业务断言,api层只是做简单的断言

格式为:

    validate:
      - eq: [status_code,200]
相关断言

eq、equals、==、is,判断实际结果和期望结果是否相等
lt、less_than,判断实际结果小于期望结果
le、less_than_or_equals,判断实际结果小于等于期望结果
gt、greater_than,判断实际结果大于期望结果
ge、greater_than_or_equals,判断实际结果大于等于期望结果
ne、not_equals, 判断实际结果和期望结果不相等
str_eq、string_equals 判断转字符串后对比实际结果和期望结果是否相等
len_eq、length_equals、count_eq 判断字符串或list长度
len_gt、length_greater_than、count_gt、count_greater_than 判断实际结果的长度大于和期望结果
len_ge、length_greater_than_or_equals、count_ge、count_greater_than_or_equals实际结果的长度大于等于期望结果
len_lt、length_less_than、count_lt、count_less_than实际结果的长度小于期望结果
len_le、length_less_than_or_equals、count_le count_less_than_or_equals实际结果的长度小于等于期望结果

注: 断言一般用在测试步骤层里面,如下图
# 断言
- config:
    name: 测试百度网站
    base_url: https://www.baidu.com

- test:
    name: 接口名称 百度接口
    request:
      url: /
      method: GET
    validate:
      - eq: [status_code,200]  # 判断相等的4种写法 [实际结果,预期结果]
      - is: [status_code,200]
      - ==: [status_code,200]
      - equals: [status_code,200]

 注:在yaml文件中,断言引用函数需要加引号 " ",如下图

 HttpRunner(8):接口关联及断言_第1张图片

你可能感兴趣的:(mysql,服务器,数据库,测试工具,python,自动化,httprunner)