Files
wechat_crawler/test_com_fix.py
李顺东 b66bac7ca8 feat: Initialize wxauto WeChat automation project with job extraction tools
- Add wxauto package with WeChat UI automation and message handling capabilities
- Implement job_extractor.py for automated job posting extraction from WeChat groups
- Add job_extractor_gui.py providing graphical interface for job extraction tool
- Create comprehensive documentation in Chinese covering GUI usage, multi-group support, and quick start guides
- Add build configuration files (build_exe.py, build_exe.spec) for packaging as standalone executable
- Include utility scripts for WeChat interaction (auto_send_msg.py, get_history.py, receive_file_transfer.py)
- Add project configuration files (pyproject.toml, setup.cfg, requirements.txt)
- Include test files (test_api.py, test_com_fix.py) for API and compatibility validation
- Add Apache 2.0 LICENSE and comprehensive README documentation
- Configure .gitignore to exclude build artifacts, logs, and temporary files
2026-02-11 14:49:38 +08:00

115 lines
3.2 KiB
Python
Raw Permalink 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.

# -*- coding: utf-8 -*-
"""
测试COM组件初始化修复
用于验证打包后的程序是否能正常工作
"""
import sys
import threading
import time
def test_com_in_thread():
"""在线程中测试COM初始化"""
print("\n[线程测试] 开始...")
try:
import pythoncom
print("[线程测试] ✓ pythoncom模块导入成功")
except ImportError as e:
print(f"[线程测试] × pythoncom模块导入失败: {e}")
print("请运行: pip install pywin32")
return False
try:
# 初始化COM
pythoncom.CoInitialize()
print("[线程测试] ✓ COM组件初始化成功")
# 尝试使用wxauto
try:
from wxauto import WeChat
print("[线程测试] ✓ wxauto模块导入成功")
# 注意:这里不实际连接微信,只测试导入
print("[线程测试] ✓ 所有测试通过")
result = True
except Exception as e:
print(f"[线程测试] × wxauto测试失败: {e}")
result = False
# 清理COM
pythoncom.CoUninitialize()
print("[线程测试] ✓ COM组件清理成功")
return result
except Exception as e:
print(f"[线程测试] × COM初始化失败: {e}")
return False
def main():
print("=" * 60)
print("COM组件修复验证测试")
print("=" * 60)
# 测试1主线程导入
print("\n[测试1] 主线程模块导入...")
try:
import pythoncom
print("✓ pythoncom导入成功")
except ImportError as e:
print(f"× pythoncom导入失败: {e}")
print("\n请先安装pywin32:")
print(" pip install pywin32")
return
try:
from wxauto import WeChat
print("✓ wxauto导入成功")
except ImportError as e:
print(f"× wxauto导入失败: {e}")
print("\n请先安装wxauto:")
print(" pip install -e .")
return
# 测试2工作线程中的COM初始化
print("\n[测试2] 工作线程COM初始化...")
thread = threading.Thread(target=test_com_in_thread)
thread.start()
thread.join()
# 测试3检查打包相关模块
print("\n[测试3] 检查打包相关模块...")
modules_to_check = [
'pywintypes',
'win32com',
'win32api',
'win32con',
'win32gui',
]
all_ok = True
for module_name in modules_to_check:
try:
__import__(module_name)
print(f"{module_name}")
except ImportError:
print(f"× {module_name} (可选)")
# 总结
print("\n" + "=" * 60)
print("测试完成")
print("=" * 60)
print("\n如果所有测试都通过,说明修复成功,可以进行打包。")
print("打包命令:")
print(" 方式1: 双击 修复并重新打包.bat")
print(" 方式2: 双击 build.bat")
print(" 方式3: pyinstaller build_exe.spec")
print("\n打包后请测试exe文件确保能正常连接微信。")
if __name__ == "__main__":
main()
input("\n按回车键退出...")