/httpfpt

python3 + pytest + parametrize + requests / httpx + yaml + allure + redis + mysql + pydantic + log + 飞书 / 钉钉 /企微/ 邮箱通知... 低代码数据驱动接口自动化测试框架

Primary LanguagePythonMIT LicenseMIT

HttpFPT

GitHub Workflow Status (with event) Checked with pyright GitHub Static Badge GitHub release (with filter) Ruff

基于 HTTP 请求的快速数据驱动 pytest 接口自动化测试框架

我在掘金发表了关于 HttpFPT 的前身和由来,包括部分功能点的说明, 感兴趣

的小伙伴可以一睹为快,点击跳转

功能点

  • 多项目分级,自由切换,互不干扰
  • 测试数据隔离,自动解析与验证
  • 测试数据错误定位(参数错误,重复测试用例ID...)
  • 多环境自定义配置,不同用例可以选择不同的运行环境
  • 动态环境配置,自动识别和应用当前请求所需的基础环境配置
  • 动态参数化,可通过全局变量,局部变量,缓存变量,关联变量等方式进行参数化
  • 数据依赖,支持接口返回数据共享,轻松实现接口依赖
  • 钩子函数,支持调用自定义钩子函数,实现更多的自定义功能
  • 日志记录,自动记录测试过程中的请求数据日志
  • 多元化断言,json 断言,sql 断言,json-schema 断言,正则断言,原生 python assert 断言
  • 兼容 yaml / json 两种文件格式编写测试数据
  • 测试用例自动生成,可以根据测试数据文件自动生成测试用例
  • 自动测试报告,html, allure
  • 自动测试结果通知,飞书,钉钉,企业微信,邮箱
  • ......

流程图

httpfpt_flowchart

⬇️ 下载

Clone:

git clone https://github.com/wu-clan/httpfpt.git

🧑‍💻 Use

  1. 安装依赖:

    pip install -r requirements.txt
  2. 安装 redis 数据库并启动服务

    Redis Windows

    Linux / macOS

    Docker

  3. 安装 mysql 数据库(可选,如果你需要本地数据库)

    Windows / Linux / macOS

    Docker

Warning

allure 测试报告默认使用 allure-pytest 生成,但是不能直接访问,有以下选择

  1. 本地访问:你必须安装 allure 程序和 Java JDK 才能进行本地可视化浏览
  2. Jenkins(文档内包含集成教程): 将 allure 测试报告集成到到 Jenkins 中,通过 Jenkins 进行浏览

帮助

有关更多详细信息,请参阅 文档

互动

WeChat / QQ

状态

Alt

赞助

如果此项目能够帮助到你,你可以赞助作者一些咖啡豆表示鼓励:☕ Sponsor ☕

Stargazers over time