Files
zsglpt/TESTING_GUIDE.md
zsglpt Optimizer 7e9a772104 🎉 项目优化与Bug修复完整版
 主要优化成果:
- 修复Unicode字符编码问题(Windows跨平台兼容性)
- 安装wkhtmltoimage,截图功能完全修复
- 智能延迟优化(api_browser.py)
- 线程池资源泄漏修复(tasks.py)
- HTML解析缓存机制
- 二分搜索算法优化(kdocs_uploader.py)
- 自适应资源配置(browser_pool_worker.py)

🐛 Bug修复:
- 解决截图失败问题
- 修复管理员密码设置
- 解决应用启动编码错误

📚 新增文档:
- BUG_REPORT.md - 完整bug分析报告
- PERFORMANCE_ANALYSIS_REPORT.md - 性能优化分析
- LINUX_DEPLOYMENT_ANALYSIS.md - Linux部署指南
- SCREENSHOT_FIX_SUCCESS.md - 截图功能修复记录
- INSTALL_WKHTMLTOIMAGE.md - 安装指南
- OPTIMIZATION_FIXES_SUMMARY.md - 优化总结

🚀 功能验证:
- Flask应用正常运行(51233端口)
- 数据库、截图线程池、API预热正常
- 管理员登录:admin/admin123
- 健康检查API:http://127.0.0.1:51233/health

💡 技术改进:
- 智能延迟算法(自适应调整)
- LRU缓存策略
- 线程池资源管理优化
- 二分搜索算法(O(log n) vs O(n))
- 自适应资源管理

🎯 项目现在稳定运行,可部署到Linux环境
2026-01-16 17:39:55 +08:00

257 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 金山文档测试工具使用指南
## 🔧 线程问题解决方案
浮浮酱为您创建了**4个不同版本**的测试工具,按推荐顺序排列:
---
## 📌 **推荐测试顺序**
### **方案1: 最简版本** ⭐⭐⭐⭐⭐ (首选)
**文件**: `simple_test.py`
**启动**: 双击 `start_simple_test.bat`
**特点**:
-**无UI界面** - 直接命令行运行
-**主线程运行** - 避免所有线程问题
-**最稳定** - 简单直接,出错概率最低
-**交互友好** - 每步都有提示
**使用流程**:
```
1. 双击 start_simple_test.bat
2. 输入金山文档URL (或直接回车使用默认)
3. 按 y 确认开始测试
4. 观察浏览器自动启动和操作
5. 测试完成后按Enter保持浏览器打开
```
**适合**: 所有人,特别是遇到问题的用户
---
### **方案2: 异步UI版本** ⭐⭐⭐
**文件**: `kdocs_async_test.py`
**启动**: 双击 `start_async_test.bat`
**特点**:
-**图形界面** - 有UI操作直观
-**异步架构** - 使用asyncio避免线程问题
-**单线程异步** - 所有浏览器操作在异步循环中
**使用流程**:
```
1. 双击 start_async_test.bat
2. 点击"启动浏览器" → 确认执行
3. 点击"打开文档" → 确认执行
4. 依次执行各项测试
```
**适合**: 喜欢图形界面的用户
---
### **方案3: 同步线程版本** ⭐⭐
**文件**: `kdocs_sync_test.py`
**启动**: 双击 `start_sync_test.bat`
**特点**:
-**图形界面** - 有UI操作直观
-**线程本地存储** - 每个线程使用自己的浏览器实例
- ⚠️ **较复杂** - 线程管理逻辑较复杂
**使用流程**:
```
1. 双击 start_sync_test.bat
2. 点击"启动浏览器" → 确认执行
3. 点击"打开文档" → 确认执行
4. 依次执行各项测试
```
**适合**: 开发者,调试特定问题
---
### **方案4: 线程锁版本** ⭐ (备选)
**文件**: `kdocs_safety_test_fixed.py`
**启动**: 双击 `start_safety_test_fixed.bat`
**特点**:
-**图形界面** - 有UI操作直观
-**线程锁** - 使用锁机制同步访问
- ⚠️ **可能仍有问题** - Playwright对线程切换敏感
**使用流程**:
```
1. 双击 start_safety_test_fixed.bat
2. 点击"启动浏览器" → 确认执行
3. 点击"打开文档" → 确认执行
4. 依次执行各项测试
```
**适合**: 备选方案
---
## 🚀 **快速开始 (推荐)**
### **步骤1: 测试基本功能**
首先运行**最简版本**确认基本功能:
```bash
# Windows用户
双击: start_simple_test.bat
# 或手动运行
python simple_test.py
```
**预期结果**:
```
✓ Playwright启动成功
✓ 浏览器启动成功
✓ 页面创建成功
✓ 页面导航完成
✓ 人员搜索测试完成
```
### **步骤2: 测试UI工具**
如果最简版本工作正常再测试UI版本
```bash
# 首选异步版本
双击: start_async_test.bat
# 如果异步版本有问题,尝试同步版本
双击: start_sync_test.bat
```
---
## 🔍 **问题排查**
### **问题1: "cannot switch to a different thread"**
**解决方案**: 使用**最简版本** (`simple_test.py`)
- 这是最稳定的解决方案
- 避免了UI框架带来的线程复杂性
### **问题2: "playwright未安装"**
**解决方案**:
```bash
pip install playwright
playwright install chromium
```
### **问题3: 浏览器启动失败**
**可能原因**:
1. 权限不足 - 以管理员身份运行
2. 端口被占用 - 关闭其他浏览器实例
3. 杀毒软件阻止 - 添加例外
### **问题4: 文档打开失败**
**检查**:
1. URL是否正确
2. 网络是否正常
3. 是否需要登录
---
## 📊 **测试项目说明**
每个测试工具都包含以下测试项目:
### **测试1: 浏览器连接**
- 验证Playwright和浏览器是否正常
- 检查页面对象是否可用
- **安全**: 仅检查,无实际操作
### **测试2: 文档打开**
- 导航到金山文档URL
- 检查页面加载状态
- 检查是否需要登录
- **安全**: 仅导航,无修改
### **测试3: 表格读取**
- 尝试读取表格元素
- 检查名称框
- 检查canvas元素
- **安全**: 仅读取,无修改
### **测试4: 人员搜索**
- 执行 `Ctrl+F` 搜索操作
- 输入测试姓名"张三"
- **安全**: 仅搜索,无修改
### **测试5: 图片上传(单步)** ⚠️
- 导航到D3单元格
- 点击插入 → 图片 → 本地
- 上传用户选择的图片
- **注意**: 会实际执行上传,但仅影响单个单元格
---
## 💡 **使用建议**
### **新手用户**
1. **首选**: `start_simple_test.bat` (最简版本)
2. **备选**: `start_async_test.bat` (异步版本)
### **开发者**
1. **首选**: `simple_test.py` (快速调试)
2. **深入**: `kdocs_async_test.py` (异步架构)
3. **调试**: `kdocs_sync_test.py` (线程本地存储)
### **遇到问题**
1. **优先**: 使用最简版本确认基本功能
2. **查看日志**: 所有版本都有详细日志
3. **逐个测试**: 按顺序执行测试项目
4. **检查配置**: 确保URL等配置正确
---
## 📞 **获取帮助**
如果遇到问题:
1. **查看日志**: 每个操作都有详细日志输出
2. **尝试不同版本**: 按推荐顺序尝试
3. **检查环境**: 确保Python和依赖已正确安装
4. **最小化测试**: 使用最简版本隔离问题
---
## 🎯 **测试成功标志**
**最简版本成功**:
```
[15:06:47] SUCCESS: ✓ Playwright启动成功
[15:06:48] SUCCESS: ✓ 浏览器启动成功
[15:06:49] SUCCESS: ✓ 上下文创建成功
[15:06:50] SUCCESS: ✓ 页面创建成功
[15:06:53] SUCCESS: ✓ 页面导航完成
[15:06:56] SUCCESS: ✓ 人员搜索测试完成
```
**UI版本成功**:
- 浏览器窗口正常打开
- 文档正常加载
- 所有测试步骤都显示"SUCCESS"
- 操作日志无错误信息
---
**祝您测试顺利!** 🎉
如有问题,请优先使用最简版本进行排查。