• httprunner4学习总结1 - 相关概念


    1、概要

    HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。

    • V3的最新版本 3.1.11
    • V2的最新版本 2.5.9
      在这里插入图片描述

    2、核心特性

    • 多格式可选:测试用例支持 YAML/JSON/go test/pytest 格式,并且支持格式互相转换
    • 双执行引擎:同时支持 golang/python 两个执行引擎,兼具 go 的高性能和的丰富生态
    • 录制 & 生成:可使用/Postman/Swagger/curl 等生成测试用例;基于链式调用的方法提示也可快速编写测试用例
    • 复杂场景:基于variables/extract/validate/hooks机制可以方便地创建任意复杂的测试场景
    • 插件化机制:内置丰富的函数库,同时可以基于主流编程语言(go/python/java)编写自定义函数轻松实现更多能力
    • 性能测试:无需额外工作即可实现压力测试;单机可轻松支撑1w+VUM,结合分布式负载能力可实现海量发压
    • 网络性能采集:在场景化接口测试的基础上,可额外采集网络链路性能指标(DNS 解析、TCP 连接、SSL 握手、网络传输等)
    • 一键部署:采用二进制命令行工具分发,无需环境依赖,一条命令即可在 macOS/Linux/Windows 快速完成安装部署

    3、核心概念

    3.1测试用例

    • 测试用例应该是完整且独立的,每条测试用例应该是都可以独立运行的
    • 在 HttpRunner 中,每个 YAML/JSON/pytest/go test 文件对应一条测试用例
    • HttpRunner 以 TestCase 为核心,将任意测试场景抽象为有序步骤的集合

    3.2插件机制

    • Golang plugin over gRPC:Go 代码编写,要求编译为 debugtalk.bin 文件
    • Golang plugin over net/rpc:Go 代码编写,要求编译为 debugtalk.bin 文件
    • Python plugin over gRPC:Python 代码编写,无需编译,要求命名为 debugtalk.py 文件
    • Golang official plugin:Go 代码编写,要求编译为 debugtalk.so 文件

    3.3 目录结构

    1. 项目根目录
      基于约定大于配置的思路,HttpRunner 通过定位插件文件的位置来确定项目的根目录,以此作为相对路径的基准,同时,定位插件文件存在优先级:
      1、debugtalk.bin
      2、debugtalk.py
      3、debugtalk.so

    2. 简单了解下变量,后面编写用例的博客有详细实例
      https://httprunner.com/docs/user-guide/enhance-tests/variables/

    3. 函数约定通过 ${} 的形式来调用插件函数:

    "${func{$a, $b}}"
    
    • 1

    3.4、支持的开发语言

    3.4.1 文本形态

    1. json 跟V2.X基本一致
    2. yaml 跟V2.X基本一致

    3.4.2 代码形态

    1. pytest 完整支持pytest格式的脚本,体验上和V3.X基本一样
    2. go test HttpRunner v4.0 不需要用户具有 Golang 基础,专业性能测试,最好选择golang语言,单机发压性能(QPS)可以达到 2w 以上,这是 Python 插件远远无法达到的。

    3.5、版本对比

    在使用体验和用例格式兼容性方面,v4 也会与之前的 v2/v3/ 通过·hrp·命令做到兼容,因此后续 HttpRunner 的维护工作都将转到 v4 版本,之前的版本将不再单独维护

    4、命令行工具

    1. hrp startproject - 创建一个脚手架项目
    2. hrp pytest - 使用 pytest 运行 API 测试
    3. hrp run - 使用 go 引擎运行 API 测试
    4. hrp convert - 转换为 JSON/YAML/gotest/pytest 测试用例
    5. hrp boom - 使用 boomer 运行负载测试
    6. hrp build - 用于测试的构建插件
  • 相关阅读:
    JAVA番剧资讯检索系统计算机毕业设计Mybatis+系统+数据库+调试部署
    6种方法轻松将PDF转换为Word文档,办公必备!
    探索ClickHouse——使用MaterializedPostgreSQL同步PostgreSQL数据库
    nginx日志切割/截断
    SSM便民自行车管理系统毕业设计-附源码191633
    vueRouter个人笔记
    Thread 和 ThreadPool 简单梳理(C#)【并发编程系列_3】
    怎么批量提取文件名字到Excel中?
    vue3: 1.如何利用 effectScope 自己实现一个青铜版pinia 一 state篇
    nodejs+vue教室管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
  • 原文地址:https://blog.csdn.net/weixin_45451320/article/details/125530393