HttpRunner测试框架

HttpRunner简介:

产生背景

  • 同时支撑多个业务线的项目,要求较强的通用性
  • 高速发展和扩张:业务增长、人员增长
  • 普遍具有功能回归测试、性能测试、持续集成、线上监控、测试数据生成等需求

what

  • 开源
  • 面向HTTP(S)的通用测试框架
  • 只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求(数据生成)
  • 一站式接口测试解决方案(融合最佳测试方案,不只局限于HTTP(S),微服务)
  • 项目地址
    • GitHub仓库
      • https://github.com/httprunner/httprunenr
    • 用户文档:https://cn.httprunner.org/
      • 备用地址:https://httprunner.debugtalk.com/
    • 开发文档
      • https://debugtalk.com/tags/HttpRunner/

设计理念

  • 充分复用优秀的开源项目,不追求重复造轮子,将强大的轮子组成战车
  • 遵循 约定大于配置 的准则,在框架功能中融合自动化测试最佳工程实践
  • 追求投入产出比,一份投入即可实现多中测试需求

设计思路

  • 充分复用开源项目
  • 借鉴优秀开源项目
    • debugtalk.py------------pytest conftest.py
    • 测试用例模板语言------------Jinja
    • 参数化机制------------LoadRunner
    • 环境变量管理------------POSTMAN
    • 测试用例分层管理------------Katalor
  • 借力行业标准
  • 整合生态工具链
  • 配置文件组织测试用例
  • 一次投入,多处复用

基本使用

  • 示例
  • 环境准备
    • Python环境
      • 支持 2.7/3.5/3.6/3.7(推荐使用Python3.5及以上版本)
    • 安装
      • pip install httprunner
    • hrun -v # 版本
    • hrun -h # 帮助
    • hrun --startproject demo # 脚手架
    • httprunner startproject demo
    • hrun -v
    • 测试报告自动生成

实战

高级特性

HttpRunner框架用例优化

  • 目录

  • 环境变量
    .env文件,在整个项目都可以调用

  • 全局变量理解
    api-login.yaml

  • debugtalk.py文件
    项目根目录
    get_user_agent

  • base_url与validate断言类型
    域名和端口相同,path不同(url很长)
    base_url:http://
    自动查找base_url
    写在debugtalk.py文件里

  • extract响应数据提取与接口依赖吹-测试步骤

  • 三种参数化方式理解

  • 平台化一个源

猜你喜欢

转载自blog.csdn.net/m0_37518413/article/details/106963300