{"repo":"liwanlei/FXTest","free":true,"listed":false,"github":"https://github.com/liwanlei/FXTest","clone":"git clone https://github.com/liwanlei/FXTest.git","description":"接口自动化测试平台——python+flask版，支持http协议,java 版本开发完毕https://github.com/liwanlei/plan","language":"Python","stars":756,"topics":["python3","flask","interface","test","mock-server","automated-testing","python-flask"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"FXTest 接口自动化测试平台 Flask + Python 3 + Bootstrap + APScheduler + Redis + SQLite/MySQL 实现的接口自动化测试平台。 ---------------- 项目简介 FXTest 是一套完整的接口自动化测试解决方案，支持： - 接口管理 ：项目管理、模块管理、接口 CRUD、接口参数配置 - 测试用例 ：用例创建、多用例组合执行、用例导入导出（Excel） - 定时任务 ：基于 APScheduler + Redis 持久化，支持定时执行测试用例 - Mock 服务 ：内置 Mock Server，支持 headers/params 校验、JSON/XML 返回 - 测试报告 ：HTML 格式报告自动生成，支持邮件 + 钉钉群通知 - 压测支持 ：一键将接口用例转化为 JMeter JMX 脚本并远程执行 - 用户权限 ：多角色权限管理（普通用户 / 管理员 / 超级管理员） - Flask-Admin ：后台管理系统 ---------------- 项目结构 ---------------- 快速开始 1. 环境要求 - Python 3.6+ - Redis（定时任务持久化依赖） - SQLite（默认）或 MySQL - Jenkins（可选，Jenkins 集成代码默认已注释） 2. 安装依赖 3. 配置环境变量 复制 .env 为实际配置文件并按需修改： 编辑 .env 填入真实值： 变量 说明 默认值 ------ ------ -------- SECRET KEY Flask 密钥 - DATABASE URL 数据库连接（留空使用 SQLite） - REDIS HOST / REDIS PORT Redis 连接 127.0.0.1:6379 REDIS PASSWORD Redis 密码 空 MAIL USERNAME / MAIL PASSWORD 邮件账号 空 DINGTALK ACCESS TOKEN 钉钉机器人 Token 空 JENKINS URL / JENKINS USER Jenkins（可选） localhost:8080 更多配置项见 config.py 和 .env 文件。 4. 启动应用 访问： http://127.0.0.1:5000/index ---------------- 升级记录 v4.x (当前) - ✅ 代码安全加固： eval() 替换为 ast.literal eval() / json.loads() - ✅ 密钥管理：所有敏感配置迁移至 .env 环境变量 - ✅ 目录规范化： app/Interface/ → app/interface/ ，统一小写命名 - ✅ 文件重命名：18 个 common/ 模块名从拼写错误/驼峰改为 lowercase underscore - ✅ 错误处理：修复空 except: → except Exception: ，统一返回值格式 - ✅ 跨平台： os.system('touch') → open(file, 'a').close() - ✅ 日志升级：调试 print() 替换为 logger 结构化日志 - ✅ 模板命名规范化 v3.x - ✅ 集成到 Jenkins - ✅ 测试用例执行引擎重构（基于 unittest） - ✅ 接口用例→JMeter JMX 脚本一键转化 - ✅ 通用参数配置支持 - ✅ 数据库结构优化 - ✅ 黑名单功能 - ✅ 冒烟/","default_branch":null,"files":null,"tree":[],"storefront":"/r/liwanlei","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/liwanlei/FXTest/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}