Skip to content

Commit b7ac15c

Browse files
committed
Update READMEs
Update READMEs
1 parent b9ad876 commit b7ac15c

File tree

8 files changed

+1025
-51
lines changed

8 files changed

+1025
-51
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,4 @@ dmypy.json
152152
bing_cookies.*
153153
**/output
154154
.claude/settings.local.json
155+
/.claude/

README.md

Lines changed: 333 additions & 38 deletions
Large diffs are not rendered by default.

README/README_zh-CN.md

Lines changed: 333 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,333 @@
1+
# PyBreeze:自动化优先的 IDE
2+
3+
[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
4+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](../LICENSE)
5+
[![PySide6](https://img.shields.io/badge/GUI-PySide6-green.svg)](https://doc.qt.io/qtforpython/)
6+
7+
[English](../README.md) | [繁體中文](README_zh-TW.md)
8+
9+
![主界面](../images/main_gui.png)
10+
11+
**PyBreeze** 是一款专为自动化工程师打造的 Python IDE。它将 Web、API、GUI 和负载测试自动化整合到单一统一环境中——无需寻找插件、无需复杂的环境配置,打开即可开始自动化。
12+
13+
---
14+
15+
## 目录
16+
17+
- [功能特色](#功能特色)
18+
- [四维自动化](#四维自动化)
19+
- [IDE 核心功能](#ide-核心功能)
20+
- [内置工具](#内置工具)
21+
- [AI 辅助开发](#ai-辅助开发)
22+
- [插件系统](#插件系统)
23+
- [多语言界面](#多语言界面)
24+
- [架构设计](#架构设计)
25+
- [安装方式](#安装方式)
26+
- [快速开始](#快速开始)
27+
- [集成自动化模块](#集成自动化模块)
28+
- [项目结构](#项目结构)
29+
- [依赖项](#依赖项)
30+
- [目标用户](#目标用户)
31+
- [许可证](#许可证)
32+
33+
---
34+
35+
## 功能特色
36+
37+
### 四维自动化
38+
39+
PyBreeze 开箱即用,涵盖自动化测试的完整范围:
40+
41+
| 维度 | 模块 | 说明 |
42+
|---|---|---|
43+
| **Web 自动化** | [WebRunner](https://github.com/Intergration-Automation-Testing/WebRunner) | 浏览器交互模拟与测试,深度集成浏览器驱动与元素定位器 |
44+
| **API 自动化** | [APITestka](https://github.com/Intergration-Automation-Testing/APITestka) | RESTful API 开发与测试,内置请求构建器、响应分析器、Mock 服务器及断言验证 |
45+
| **GUI 自动化** | [AutoControl](https://github.com/Intergration-Automation-Testing/AutoControl) | 桌面应用程序自动化,支持图像识别、坐标定位、键盘鼠标控制及动作录制 |
46+
| **负载与压力测试** | [LoadDensity](https://github.com/Intergration-Automation-Testing/LoadDensity) | 高并发性能测试引擎,用于监控系统在极端压力下的稳定性 |
47+
48+
此外还包含:
49+
50+
- **文件自动化** — 通过 [automation-file](https://github.com/Intergration-Automation-Testing/AutomationFile) 模块实现自动化文件与目录操作
51+
- **邮件自动化** — 通过 [MailThunder](https://github.com/Intergration-Automation-Testing/MailThunder) 实现自动化邮件发送(例如测试报告投递)
52+
- **测试框架** — 通过 [TestPioneer](https://github.com/Intergration-Automation-Testing/TestPioneer) 实现结构化 YAML 驱动的测试执行
53+
54+
### IDE 核心功能
55+
56+
PyBreeze 不仅仅是一个代码编辑器——它是自动化生命周期的指挥中心:
57+
58+
- **语法高亮** — 内置 Python 语法高亮,针对自动化库(APITestka、AutoControl、WebRunner、LoadDensity 等)提供深度关键字识别。可通过插件添加自定义语法规则。
59+
- **代码编辑器** — 基于 [JEditor](https://github.com/Intergration-Automation-Testing/JEditor) 构建,提供完整的编辑器功能,包含标签页管理、文件树导航与项目工作区支持。
60+
- **脚本执行** — 直接在 IDE 中执行自动化脚本,并实时显示输出。支持单脚本与多脚本批量执行。
61+
- **报告生成** — 自动化模块可在测试执行后生成 HTML、JSON 和 XML 报告,并支持可选的电子邮件投递。
62+
- **集成 JupyterLab** — 在 PyBreeze 中直接以标签页方式启动 JupyterLab,进行交互式笔记本开发。若未安装 JupyterLab 将自动安装。
63+
- **虚拟环境感知** — 自动检测并使用项目的虚拟环境(`.venv``venv`)。
64+
65+
### 内置工具
66+
67+
- **SSH 客户端** — 完整的 SSH 终端客户端,支持:
68+
- 密码与私钥认证
69+
- 交互式命令执行
70+
- 远程文件树查看器,支持 CRUD 操作(创建文件夹、重命名、删除、上传、下载)
71+
- **包管理器** — 直接从 IDE 菜单安装自动化模块和构建工具,无需离开编辑器。
72+
- **集成文档** — 从菜单栏快速访问每个自动化模块的文档和 GitHub 页面。
73+
74+
### AI 辅助开发
75+
76+
- **AI 代码审查** — 将代码发送到 LLM API 端点进行自动化代码审查。可直接在 IDE 中接受或拒绝建议。
77+
- **CoT(思维链)提示词编辑器** — 创建和管理多步骤 CoT 提示词,用于结构化代码分析,包含:
78+
- 代码审查提示词
79+
- Code Smell 检测
80+
- 代码检查分析
81+
- 逐步分析
82+
- 摘要生成
83+
- **Skill 提示词编辑器** — 定义和管理可重复使用的技能型提示词(代码解说、代码审查模板),可发送至 LLM API。
84+
85+
### 插件系统
86+
87+
PyBreeze 支持可扩展的插件架构,用于:
88+
89+
- **语法高亮** — 通过插件为任何编程语言添加语法高亮
90+
- **UI 翻译** — 通过翻译插件添加新的界面语言
91+
- **运行配置** — 为编译型和解释型语言添加"以...运行"支持(C、C++、Go、Java、Rust 等)
92+
- **插件浏览器** — 直接在 IDE 中从远程仓库浏览并安装插件
93+
94+
插件会从 `jeditor_plugins/` 目录自动发现加载。完整文档请参阅 [PLUGIN_GUIDE.md](../PLUGIN_GUIDE.md)
95+
96+
**内置插件:** C、C++、Go、Java、Rust 语法高亮与运行支持;法语翻译。
97+
98+
### 多语言界面
99+
100+
IDE 界面支持多种语言:
101+
102+
- **English**(英语,默认)
103+
- **繁体中文**
104+
- 可通过插件添加其他语言
105+
106+
---
107+
108+
## 架构设计
109+
110+
![架构图](../architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
111+
112+
PyBreeze 采用模块化架构:
113+
114+
```
115+
PyBreeze UI (PySide6)
116+
├── JEditor(基础编辑器引擎)
117+
│ ├── 代码编辑器与标签页
118+
│ ├── 文件树导航
119+
│ ├── 语法高亮引擎
120+
│ └── 插件系统
121+
├── 自动化菜单
122+
│ ├── APITestka ──→ APITestka 执行器 ──→ je_api_testka
123+
│ ├── AutoControl ──→ AutoControl 执行器 ──→ je_auto_control
124+
│ ├── WebRunner ──→ WebRunner 执行器 ──→ je_web_runner
125+
│ ├── LoadDensity ──→ LoadDensity 执行器 ──→ je_load_density
126+
│ ├── FileAutomation ──→ FileAutomation 执行器 ──→ automation-file
127+
│ ├── MailThunder ──→ MailThunder 执行器 ──→ je-mail-thunder
128+
│ └── TestPioneer ──→ TestPioneer 执行器 ──→ test_pioneer
129+
├── 工具
130+
│ ├── SSH 客户端(paramiko)
131+
│ ├── AI 代码审查客户端
132+
│ ├── CoT 提示词编辑器
133+
│ ├── Skill 提示词编辑器
134+
│ └── JupyterLab 集成
135+
└── 安装菜单
136+
├── 自动化模块安装器
137+
└── 构建工具安装器
138+
```
139+
140+
每个自动化模块都通过 `PythonTaskProcessManager` 在独立的子进程中执行,提供进程隔离,防止崩溃影响 IDE。
141+
142+
---
143+
144+
## 安装方式
145+
146+
### 从 PyPI 安装
147+
148+
```bash
149+
pip install pybreeze
150+
```
151+
152+
### 从源码安装
153+
154+
```bash
155+
git clone https://github.com/Intergration-Automation-Testing/AutomationEditor.git
156+
cd AutomationEditor
157+
pip install -r requirements.txt
158+
```
159+
160+
### 系统要求
161+
162+
- **Python**:3.10 或更高版本
163+
- **操作系统**:Windows、macOS、Linux
164+
- **GUI 框架**:PySide6 6.11.0(自动安装)
165+
166+
---
167+
168+
## 快速开始
169+
170+
### 通过命令行运行
171+
172+
```bash
173+
python -m pybreeze
174+
```
175+
176+
### 通过 Python 脚本运行
177+
178+
```python
179+
from pybreeze import start_editor
180+
181+
start_editor()
182+
```
183+
184+
### 从 exe 目录运行
185+
186+
```bash
187+
python exe/start_pybreeze.py
188+
```
189+
190+
启动后,您可以:
191+
192+
1. **编写自动化脚本** — 在编辑器中享有语法感知的自动补全
193+
2. **执行脚本** — 通过 `自动化` 菜单,选择目标模块(APITestka、WebRunner 等)
194+
3. **查看结果** — 在集成式输出面板中查看
195+
4. **生成报告** — 支持 HTML/JSON/XML 格式
196+
5. **发送报告** — 使用 MailThunder 集成功能通过电子邮件发送
197+
198+
---
199+
200+
## 集成自动化模块
201+
202+
### APITestka — API 测试
203+
204+
- HTTP 方法测试(GET、POST、PUT、DELETE 等)
205+
- 通过 httpx 支持异步 HTTP
206+
- 使用 Flask 创建 Mock 服务器
207+
- 报告生成(HTML、JSON、XML)
208+
- 基于调度器的事件触发
209+
- Socket 服务器支持
210+
211+
### AutoControl — GUI 自动化
212+
213+
- 鼠标控制(点击、拖拽、滚动、位置追踪)
214+
- 键盘模拟(输入、快捷键、按键按下/释放)
215+
- 图像识别与定位点击
216+
- 屏幕截图
217+
- 动作录制与回放
218+
- Shell 命令执行
219+
- 进程管理
220+
221+
### WebRunner — Web 自动化
222+
223+
- 浏览器驱动集成
224+
- 元素定位与交互
225+
- 基于 Web 的测试脚本
226+
- 报告生成
227+
228+
### LoadDensity — 负载测试
229+
230+
- 并发请求模拟
231+
- 性能指标收集
232+
- 压力测试场景管理
233+
- 报告生成
234+
235+
### MailThunder — 邮件自动化
236+
237+
- SMTP 邮件发送
238+
- HTML 报告投递
239+
- 附件支持
240+
- 基于环境变量的配置
241+
242+
### TestPioneer — 测试框架
243+
244+
- 基于 YAML 的测试定义
245+
- 模板生成
246+
- 结构化测试执行
247+
248+
### File Automation — 文件自动化
249+
250+
- 自动化文件与目录操作
251+
- 批量文件处理
252+
253+
---
254+
255+
## 项目结构
256+
257+
```
258+
PyBreeze/
259+
├── pybreeze/
260+
│ ├── __init__.py # 公开 API(start_editor、插件 re-export)
261+
│ ├── __main__.py # 入口点(python -m pybreeze)
262+
│ ├── extend/
263+
│ │ ├── mail_thunder_extend/ # 测试后邮件报告发送
264+
│ │ ├── process_executor/ # 各自动化模块的子进程管理器
265+
│ │ │ ├── api_testka/
266+
│ │ │ ├── auto_control/
267+
│ │ │ ├── file_automation/
268+
│ │ │ ├── load_density/
269+
│ │ │ ├── mail_thunder/
270+
│ │ │ ├── test_pioneer/
271+
│ │ │ └── web_runner/
272+
│ │ └── process_executor/python_task_process_manager.py
273+
│ ├── extend_multi_language/ # 内置翻译(英语、繁体中文)
274+
│ ├── pybreeze_ui/
275+
│ │ ├── editor_main/ # 主窗口(扩展 JEditor)
276+
│ │ ├── connect_gui/ssh/ # SSH 客户端组件
277+
│ │ ├── extend_ai_gui/ # AI 代码审查与提示词编辑器
278+
│ │ ├── jupyter_lab_gui/ # JupyterLab 集成
279+
│ │ ├── menu/ # 菜单栏构建
280+
│ │ ├── syntax/ # 自动化关键字定义
281+
│ │ └── show_code_window/ # 代码显示组件
282+
│ └── utils/ # 日志、异常处理、文件处理、包管理
283+
├── exe/ # 独立启动器与构建配置
284+
├── docs/ # Sphinx 文档源码
285+
├── test/ # 单元测试
286+
├── images/ # 截图
287+
├── architecture_diagram/ # 架构图
288+
├── PLUGIN_GUIDE.md # 插件开发文档
289+
├── pyproject.toml # 包配置
290+
├── requirements.txt # 运行时依赖项
291+
└── dev_requirements.txt # 开发依赖项
292+
```
293+
294+
---
295+
296+
## 依赖项
297+
298+
### 运行时
299+
300+
|| 用途 |
301+
|---|---|
302+
| `PySide6` (6.11.0) | GUI 框架(Qt for Python)|
303+
| `je-editor` | 基础代码编辑器引擎 |
304+
| `je_api_testka` | API 测试自动化 |
305+
| `je_auto_control` | GUI/桌面自动化 |
306+
| `je_web_runner` | Web 浏览器自动化 |
307+
| `je_load_density` | 负载与压力测试 |
308+
| `je-mail-thunder` | 邮件自动化 |
309+
| `automation-file` | 文件操作自动化 |
310+
| `test_pioneer` | 基于 YAML 的测试框架 |
311+
| `paramiko` | SSH 客户端支持 |
312+
| `jupyterlab` | 集成式笔记本环境 |
313+
314+
### 开发
315+
316+
`build``twine``sphinx``sphinx-rtd-theme``auto-py-to-exe`
317+
318+
---
319+
320+
## 目标用户
321+
322+
- **Python 开发者** — 一个轻量、专用的环境,用于构建自动化脚本,无需承受重量级通用 IDE 的负担
323+
- **SDET(测试开发工程师)** — 需要在同一工具中同时维护 Web、API 和性能测试的专业人士
324+
- **自动化初学者** — 一个友好的 IDE,通过零配置环境降低 Python 自动化的入门门槛
325+
- **DevOps 团队** — 一个在 CI/CD 流水线中快速构建和调试集成测试套件的平台
326+
327+
---
328+
329+
## 许可证
330+
331+
本项目采用 MIT 许可证——详情请参阅 [LICENSE](../LICENSE) 文件。
332+
333+
Copyright (c) 2022 JE-Chen

0 commit comments

Comments
 (0)