【接口自动化测试基础之路 04】HttpRunner-接口关联和函数热加载

本文记录关于自动化测试的基础学习内容

使用的语言:python

从这里开始介绍 HTTPrunner 这个框架

需要学习它的思想,为后续自己封装接口框架打基础

操作不需要完全会,后续会记录pytest框架的使用


一、HTTP runner概念

HTTP runner是一个面向HTTP协议的通用测试框架
思想:
只需要维护yaml、json、py文件就可以实现接口自动化测试、性能测试、线上监控、持续集成

二、设计理念

1、充分利用开源项目,不追求重复造轮子,而是将市面上强大的轮子组装成战车(降低框架的开发、学习成本)
2、遵循约定大于临时配置的准则
3、使用配置来组织测试用例

三、HTTP runner环境

1、安装python
2、安装HTTP runner
安装:pip install httprunner
验证:hrun -v

四、HTTP runner快速上手

1、HTTP runner命令
httprunner:主命令,用于所有功能
hrun:用于运行yaml、json、py格式测试用例
hmake:用于将yaml、json格式的测试用例转为py格式用例
har2case:用于将har文件转为yaml、json、pyt格式的测试用例
locusts:用于性能测试

2、HTTP runner使用流程
第一步:
用抓包工具抓包——导出har文件——打开pycharm——新建包文件——将har文件移动到文件下

第二步:
使用har2case命令将har文件转为yaml或者json或者py格式的测试用例
har2case 文件名:转为py测试用例
har2case 文件名 -2y:转为yaml测试用例
har2case 文件名 -j:转为json测试用例

第三步:
使用hrun命令运行测试用例
hrun 文件名
(不管是运行yaml文件还是json文件,实际上pycharm都是重新生成并运行py文件)

五、yaml测试用例结构

每一个测试用例都是list of dict结构(字典列表),分为config(配置)和teststeps(步骤)
config:
  name: 用例名称
  variable: 全局变量
  verify: 是否开启https验证
  base_url: 服务器IP
teststeps:
  name: 步骤名称
  request: 请求
    headers: 请求头
    method: 请求方式
    params: 请求参数
    url: 请求路径
  vaildate: 断言

六、接口关联

提取方法:在request标签后面新增一个exteac标签,通过content或者body提取
config:
  name: 用例名称
  variable: 全局变量
  verify: 是否开启https验证
  base_url: 服务器IP
teststeps:
  name: 步骤名称
  request: 请求
    headers: 请求头
    method: 请求方式
    params: 请求参数
    url: 请求路径
  exteac: 提取返回值
    access_token: content.access_token
  vaildate: 断言

使用方法:直接在params参数下面,写变量名:$提取保存的变量名
params:
  token: $access_token
注意:可以直接用 $变量名 引用其他yml文件的变量,而不需要先导入文件

七、动态参数:通过debugtalk.py的热加载方式实现

1、创建一个debugtalk.py文件,在里面写函数
2、在yaml文件中,使用 $函数名(参数) 的方式调用

八、变量

在顶部config标签下的variable标签下,定义全局变量
在teststeps标签下的name标签后面,增加variable标签,定义局部变量

九、生成HTML报告(pycharm终端输入)

第一步:返回项目根路径
cd…
第二步:运行整个文件夹
hrun httprunners --html=httprunners/report.html

等号右边是生成报告的路径
生成的报告和pytest插件生成的一致

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值