首页 > 其他分享 >接口测试|HttpRunner接口关联与常用断言

接口测试|HttpRunner接口关联与常用断言

时间:2023-02-02 17:37:26浏览次数:56  
标签:count HttpRunner 断言 结果 equals 接口 token than

HttpRunner接口关联与常用断言

接口关联

日常工作中,我们在请求很多接口的时候需要先登录获取cookie或者token,作为后续请求其他接口的凭证,这需要我们将接口关联起来。

以企业微信为例,我们调用服务端API时,需要先提供access_token。

接口测试|HttpRunner接口关联与常用断言_3c

第一个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: wxf14419077f707856
secret: 92a113bd4b5ffdc72144740dc7123c99
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,"星标组"]

这样我们就实现了接口的关联。

常用断言

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接口关联与常用断言_用例_02


标签:count,HttpRunner,断言,结果,equals,接口,token,than
From: https://blog.51cto.com/u_15640304/6033775

相关文章

  • 接口测试|HttpRunner环境变量与跨文件输出传递变量
    HttpRunner环境变量与跨文件输出传递变量配置环境变量为了减少网址和端口改动导致我们的文件需要进行很多内容修改时,我们可以将网址和端口等信息保存作为环境变量,发生变动时......
  • 接口测试|Charles的界面介绍
    Charles的界面介绍在发送网络请求的时候,charles工具界面会展示所有发送的请求数据包,如下图展示,本篇文章会对此界面逐一进行介绍。快捷图标:快捷图标从左至右依次为:扫把按钮:......
  • nodeJS+express搭建后台服务,node写后台接口
    确保电脑已安装node.新建个文件夹,准备存放服务文件,打开文件夹,按住shift右键快捷打开powershell窗口,执行命令npmiexpress然后依赖文件就安装好了   新建serve......
  • 接口测试|Charles证书的设置(抓HTTPS数据包)&SSL证书过期解决办法
    Charles证书的设置&SSL证书一年后过期解决办法Charles开启就可以直接开始抓取HTTP请求,需要抓取HTTPS请求时,则需要先安装证书,再进行抓取。设置证书抓取HTTPS的数据打开charle......
  • json格式数据,淘宝1688京东商品详情获取,便携式API接口
    商品详情API接口,万邦数据返回值说明,商品详情,关键词搜索,价格监控,卖家买家订单等相关数据接口商品详情获取 测试接口 json格式数据 "item":{ "num_iid":"583191269......
  • Python调用HTTP接口并传递cookie
    #get接口调用importurllibimporturllib2get_url="http://10.10.3.63/test?id=123&name=nba"cookie_headers={"Cookie":"person_id=2468"}req=urllib2.Req......
  • Java基础-普通类、抽象类、接口类
    普通类和抽象类的区别普通类可以有普通方法,不能有抽象方法;抽象类可以有普通方法和抽象方法普通类可以实例化,抽象类不能实例化普通类必须实现抽象类的抽象方法抽象类......
  • F12 XHR可以显示出接口的名称
    F12 XHR可以显示出接口的名称。 双击接口名,可以显示出这个接口的相关信息。    ......
  • 用各种思路实现五个接口的编写
    目录用各种思路实现五个接口的编写一、基于Django原生写五个接口1.视图层代码2.路由层代码二、基于drf实现五个接口的编写1.视图层代码2.序列化代码3.路由层代码三、基于序......
  • 函数式接口
    函数式接口函数式接口:有且仅有一个抽象方法的接口函数式接口适用于Lambda表达式只有确保接口中有且仅有一个抽象方法,Lambda才能顺利推导定义一个函数式接口@Funct......