Skip to main content

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

Project description

HttpFPT

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

[!IMPORTANT]
当前分支为 SDK 版本,如需修改源码进行功能定制,建议切换到 master 分支

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

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

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

功能点

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

流程图

httpfpt_flowchart

⬇️ 下载

pip install httpfpt

🧑‍💻 Use

  1. 安装 redis 数据库并启动服务

    Redis Windows

    Linux / macOS

    Docker

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

    Windows / Linux / macOS

    Docker

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

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

帮助

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

互动

WeChat / QQ

状态

Alt

赞助

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

Stargazers over time

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

httpfpt-0.7.0.tar.gz (58.3 kB view details)

Uploaded Source

Built Distribution

httpfpt-0.7.0-py3-none-any.whl (85.4 kB view details)

Uploaded Python 3

File details

Details for the file httpfpt-0.7.0.tar.gz.

File metadata

  • Download URL: httpfpt-0.7.0.tar.gz
  • Upload date:
  • Size: 58.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.1 CPython/3.12.5 Darwin/21.6.0

File hashes

Hashes for httpfpt-0.7.0.tar.gz
Algorithm Hash digest
SHA256 c6f26e8db20d47ee08374d68c869546a77bb108b52d72192ce47c0b8fb53554f
MD5 23d24aab32e2f0f1db04687ca78c1aac
BLAKE2b-256 1a675636d6c3e935361ef6495e6a466a2c1574ca36f8d9caace59a534317ffd1

See more details on using hashes here.

File details

Details for the file httpfpt-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: httpfpt-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 85.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.1 CPython/3.12.5 Darwin/21.6.0

File hashes

Hashes for httpfpt-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d192097f6b8abb0124070cf09ca73686e91e0b45a0f02e02b6206b0ed2b6275e
MD5 e3d27367271f70357edffc4ec19f1bc4
BLAKE2b-256 8abe53f2e134a05a352c2c31f7c3329056c1c87a0994b5856058dd0fa4460453

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page