Skip to content

fastAPI + httpx + playwright + apscheduler 的UI、接口自动化平台能力

Notifications You must be signed in to change notification settings

Caoyongqi912/case_auto_hub

Repository files navigation

接口&UI自动化平台

FastAPI Python Httpx PlayWright Mysql Redis


🚀 功能特点

主要功能

核心功能

  • 基础 HTTP 请求:支持多种 HTTP 请求类型(GET、POST、PUT、DELETE 等)。
  • 变量提取与写入:可从响应中提取变量,支持在后续请求中使用。
  • 断言功能:提供响应状态码、内容等多种断言验证。
  • 前后置脚本:在用例执行前后执行自定义 Python 脚本。
  • 调试模式:逐步执行测试用例,便于精准排查问题。
  • 用例执行:支持单个或批量用例的执行。
  • 定时任务:定时执行接口测试任务,适用于定期测试。
  • 报告展示:自动生成并展示 HTML 格式的测试报告,明确显示成功与失败的详细信息。
  • 实时日志可视化:在测试执行过程中实时展示日志,便于进度监控。
  • 接口录制(未完善):录制接口请求并快速生成对应的测试用例。

UI 自动化功能

Playwright 集成

  • UI 自动化支持:集成了 Playwright,能够执行浏览器自动化测试,模拟用户操作界面。
  • 步骤录入:支持在 UI 测试中录入测试步骤,便于快速创建测试用例。
  • 前后置接口请求:每个步骤可与前后置接口请求结合,动态调整测试流程。
  • 全局变量:支持全局变量的管理,步骤和请求中的变量可以全局共享,方便管理和使用。
  • 公共步骤编辑:支持创建和管理公共步骤,可以重复使用,减少冗余,提升效率。
  • 任务管理:与接口测试类似,UI 测试任务支持定时执行与结果推送,支持企业微信等推送方式。

🖥️ UI 展示

📊 API 列表

展示所有接口的概览:

API列表


🔍 API 详情

查看单个接口的详细信息:

API详情


🖱️ APITry

支持在 UI 中直接执行接口请求,快速验证 API 可用性:

APITry


Case 添加 API

支持:

  • 添加公共 API
  • 手动录入 API
  • API 执行拖拽排序
  • 支持基本的 CRUD 操作

Case添加API


RunCase 执行用例

  • 同步执行:实时展示测试日志,确保每个步骤都可监控。 RunCase

  • 后台执行 & 轮询结果:适用于长期任务或需要在后台执行的测试。 RunCase


📅 Task 接口任务

任务可关联多个 API 用例,支持:

  • 定时任务执行
  • 执行结果推送(目前支持企业微信)

Task接口任务


📈 Task 任务报告

生成并展示任务执行后的详细报告,帮助团队了解测试状态。

Report


🛠️ 安装与使用

安装依赖

  1. 克隆项目:

    git clone <your-repository-url>
    cd <your-repository-directory>
  2. 安装所需依赖:

    pip install -r requirements.txt

📋 依赖

  • httpx:用于发送 HTTP 请求。
  • pytest:用于自动化测试执行和断言。
  • jsonpath-ng:用于解析和断言 JSON 响应。
  • schedule:任务调度库。
  • jinja2:生成报告的模板引擎。
  • loguru:用于实时日志展示。

💡 贡献

欢迎提交 Issues 或 Pull Requests,若有任何问题或建议,随时与我联系。


一起推动接口自动化测试工具的成长与发展!

About

fastAPI + httpx + playwright + apscheduler 的UI、接口自动化平台能力

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published