HttpRunner接口自动化

1.httprunner介绍

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

中文用户手册:

https://cn.httprunner.org/

开发设计文档:

HttpRunner · DebugTalk

  1. 核心特性
  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性
  • 测试用例支持分层机制,充分实现测试用例的复用
  • 测试用例支持参数化和数据驱动机制
  • 使用 skip 机制实现对测试用例的分组执行控制
  • 支持热加载机制,在文本测试用例中轻松实现复杂的动态计算逻辑
  • 基于 HAR 实现接口录制和用例生成功能(har2case
  • 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 具有可扩展性,便于扩展实现 Web 平台化(HttpRunnerManager
  1. 环境配置

HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS、Linux、Windows 系统平台上。

Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5/3.6/3.7。虽然 HttpRunner 暂时保留了对 Python 2.7 的兼容支持,但强烈建议使用 Python 3.4 及以上版本。

HttpRunner 的稳定版本托管在 PyPI 上,可以使用 pip 进行安装。

控制台上使用

pip install httprunner

建议使用PyCharm进行安装:

File--->Settings--->Project Interpreter--->+ 搜索httprunner选择安装。

坑:安装httprunner固定版本2.3.2

安装成功后,找到hrun.exe所在的目录,添加到环境变量path中

  

cmd验证

hrun -V

  1. pycharm中设置json文件打开方式        
  2. HttpRuuner json用例基本格式

注意 httprunner中所有的键 都是固定

         

config 接口配置

base_url 主机路径

name 所属模块名称

variables 环境变量(参数化)....根据需要的话,添加这个variables

teststeps测试步骤(指的是每一条接口测试用例)

{}表示一条测试用例

每一条测试用例包含:

name:接口名称

request:表示一个接口请求对象

method:请求方式

url:请求路径

params:get方式的请求参数

data:post方式的请求参数

json:表示上传json格式数据

headers:请求头

validate:预期结果,预期结果可以有多个 ---列表

{}表示一条预期结果

eq=equals 预期结果和实际结果是否一致

contains 实际结果是否包含预期结果

content用于表示返回的实体内容 ----> 类似于postman里面用json表示返回实体内容对象

  1. 发送get请求
    1. 不带参数

                

    1. 带参数

         

  1. 发送post请求

         

  1. 配置json创建模板        
  1. 上传json格式报文        
  1. 参数化
    1. base_url基准路径

            

    1. variables

作用于整个测试用例(json/yml文件),可用于里面的每个请求中

         

    1. debugtalk.py调用python函数

HttpRunner 的实现方式为,支持热加载的插件机制(debugtalk.py),可以在 YAML/JSON 中调用 Python 函数

我们可以在测试用例文件的同级或其父级目录中创建一个 debugtalk.py 文件,然后在其中定义相关的函数和变量

在 YAML/JSON 测试用例文件中,引用变量的方式是采用$ + 变量名称的方式;调用函数的方式为${函数名()}

 

  1. 文件上传

debugtalk.py中编写函数提供上传文件对象

json测试用例编写

https://www.cnblogs.com/falling-maple/p/6230248.html

  1. 接口依赖+添加请求头

在 HttpRunner 中,支持接口之间的依赖,提取参数值使用extract关键字和引用提取的数据使用$var,extract 的列表中可指定一个或多个需要提取的参数

在提取参数时,当 HTTP 的响应结果为 JSON 格式,则可以采用.运算符的方式,逐级往下获取到参数值;响应结果的整体内容引用方式为 content 或者 body

第一个接口:

第二个接口:

  1. html测试报告解析        

        

 

  

  1. 分包及其他整体操作

项目结构如下:

    1. 使用指令生成项目基本结构

在python工作目录下创建一个项目模板

进入到Python工作目录-->输入以下命令:

hrun --startproject 项目名称

    1. 将项目导入到pycharm,示例文件生成

        

    1. 导入自己的json/yml用例文件

放置到testcases目录中,可以单个执行用例,也可以执行套件

    1. 单个执行演示

使用pycharm中teminal执行即可

    1. testsuite执行

在testsuites目录下,创建test_suite.json

执行

    1. 查看报告

        

    1. csv参数化

1.data文件夹下面发csv数据,第一行为变量名称

2.测试套件testsuites里面 关联需要测试的测试用例文件 并读取csv数据

3.测试用例里面引用,就可以实现写一个接口用例 执行多次

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭雨晏

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值