Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wu-clan/httpfpt
python3 + pytest + parametrize + requests / httpx + yaml + allure + redis + mysql + pydantic + log + 飞书 / 钉钉 /企微/ 邮箱通知... 低代码数据驱动接口自动化测试框架
https://github.com/wu-clan/httpfpt
apiautotest autotest-framework parametrize pytest testing
Last synced: about 8 hours ago
JSON representation
python3 + pytest + parametrize + requests / httpx + yaml + allure + redis + mysql + pydantic + log + 飞书 / 钉钉 /企微/ 邮箱通知... 低代码数据驱动接口自动化测试框架
- Host: GitHub
- URL: https://github.com/wu-clan/httpfpt
- Owner: wu-clan
- License: mit
- Created: 2022-03-30T08:42:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T15:48:35.000Z (6 months ago)
- Last Synced: 2024-05-22T16:52:33.188Z (6 months ago)
- Topics: apiautotest, autotest-framework, parametrize, pytest, testing
- Language: Python
- Homepage: https://wu-clan.github.io/httpfpt_docs/
- Size: 898 KB
- Stars: 79
- Watchers: 5
- Forks: 17
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# HttpFPT
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/wu-clan/httpfpt/ci.yml?logo=github)
[![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/)
[![GitHub](https://img.shields.io/github/license/wu-clan/httpfpt)](https://github.com/wu-clan/httpfpt/blob/master/LICENSE)
![Static Badge](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)
![GitHub release (with filter)](https://img.shields.io/github/v/release/wu-clan/httpfpt)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)基于 HTTP 请求的快速数据驱动 pytest 接口自动化测试框架
我在掘金发表了关于 HttpFPT 的前身和由来,包括部分功能点的说明, 感兴趣
的小伙伴可以一睹为快,[点击跳转](https://juejin.cn/post/7224314619867136037)
## 功能点
- 多项目分级,自由切换,互不干扰
- 测试数据隔离,自动解析与验证
- 测试数据错误定位(参数错误,重复测试用例ID...)
- 多环境自定义配置,不同用例可以选择不同的运行环境
- 动态环境配置,自动识别和应用当前请求所需的基础环境配置
- 动态参数化,可通过全局变量,局部变量,缓存变量,关联变量等方式进行参数化
- 数据依赖,支持接口返回数据共享,轻松实现接口依赖
- 钩子函数,支持调用自定义钩子函数,实现更多的自定义功能
- 日志记录,自动记录测试过程中的请求数据日志
- 多元化断言,json 断言,sql 断言,json-schema 断言,正则断言,原生 python assert 断言
- 兼容 yaml / json 两种文件格式编写测试数据
- 测试用例自动生成,可以根据测试数据文件自动生成测试用例
- 自动测试报告,html, allure
- 自动测试结果通知,飞书,钉钉,企业微信,邮箱
- ......## 流程图
![httpfpt_flowchart](https://github.com/wu-clan/image/blob/master/httpfpt_flowchart.png?raw=true)
## ⬇️ 下载
Clone:
```shell
git clone https://github.com/wu-clan/httpfpt.git
```## 🧑💻 Use
1. 安装依赖:
```shell
pip install -r requirements.txt
```2. 安装 redis 数据库并启动服务
[Redis Windows](https://github.com/redis-windows/redis-windows)
[Linux / macOS](https://redis.io/download/)
[Docker](https://hub.docker.com/_/redis)
3. 安装 mysql 数据库(可选,如果你需要本地数据库)
[Windows / Linux / macOS](https://dev.mysql.com/downloads/installer/)
[Docker](https://hub.docker.com/_/mysql)
> [!WARNING]
> allure 测试报告默认使用 allure-pytest 生成,但是不能直接访问,有以下选择
> 1. 本地访问:你必须安装 [allure](https://www.yuque.com/poloyy/python/aiqlmi)
程序和 [Java JDK](https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot) 才能进行本地可视化浏览
> 2. Jenkins(文档内包含集成教程): 将 allure 测试报告集成到到 Jenkins 中,通过 Jenkins 进行浏览## 帮助
有关更多详细信息,请参阅 [文档](https://wu-clan.github.io/httpfpt_docs)
## 互动
[TG / Discord](https://wu-clan.github.io/homepage/)
## 状态
![Alt](https://repobeats.axiom.co/api/embed/98343c7bb6875c60a529fff021611eceecb296f1.svg "Repo beats analytics image")
## 赞助
如果此项目能够帮助到你,你可以赞助作者一些咖啡豆表示鼓励:[:coffee: Sponsor :coffee:](https://wu-clan.github.io/sponsor/)
[![Stargazers over time](https://starchart.cc/wu-clan/httpfpt.svg?variant=adaptive)](https://starchart.cc/wu-clan/httpfpt)