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

5.8 KiB
Raw Blame History

金山文档测试工具使用指南

🔧 线程问题解决方案

浮浮酱为您创建了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: 测试基本功能

首先运行最简版本确认基本功能:

# Windows用户
双击: start_simple_test.bat

# 或手动运行
python simple_test.py

预期结果:

✓ Playwright启动成功
✓ 浏览器启动成功
✓ 页面创建成功
✓ 页面导航完成
✓ 人员搜索测试完成

步骤2: 测试UI工具

如果最简版本工作正常再测试UI版本

# 首选异步版本
双击: start_async_test.bat

# 如果异步版本有问题,尝试同步版本
双击: start_sync_test.bat

🔍 问题排查

问题1: "cannot switch to a different thread"

解决方案: 使用最简版本 (simple_test.py)

  • 这是最稳定的解决方案
  • 避免了UI框架带来的线程复杂性

问题2: "playwright未安装"

解决方案:

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"
  • 操作日志无错误信息

祝您测试顺利! 🎉

如有问题,请优先使用最简版本进行排查。