77 lines
2.0 KiB
Python
77 lines
2.0 KiB
Python
"""
|
|
集成测试 - 测试真实游戏窗口捕获
|
|
"""
|
|
|
|
import sys
|
|
sys.path.insert(0, '.')
|
|
|
|
from src.core.game_window import GameWindowManager
|
|
|
|
def test_find_by_exe():
|
|
"""测试通过exe查找"""
|
|
print("=== 测试通过exe查找游戏窗口 ===")
|
|
manager = GameWindowManager()
|
|
result = manager.find_window_by_exe('ycgame.exe')
|
|
|
|
if result:
|
|
print("成功!")
|
|
print(f" HWND: {manager.hwnd}")
|
|
print(f" PID: {manager.process_id}")
|
|
print(f" 大小: {manager.client_size}")
|
|
info = manager.get_window_info()
|
|
print(f" 标题: {info['title']}")
|
|
print(f" 路径: {info['exe_path']}")
|
|
return True
|
|
else:
|
|
print("未找到游戏窗口")
|
|
return False
|
|
|
|
def test_find_by_title():
|
|
"""测试通过标题查找"""
|
|
print("\n=== 测试通过标题查找游戏窗口 ===")
|
|
manager = GameWindowManager()
|
|
result = manager.find_window_by_title('桃源深处有人家')
|
|
|
|
if result:
|
|
print("成功!")
|
|
print(f" HWND: {manager.hwnd}")
|
|
print(f" PID: {manager.process_id}")
|
|
print(f" 大小: {manager.client_size}")
|
|
info = manager.get_window_info()
|
|
print(f" 标题: {info['title']}")
|
|
return True
|
|
else:
|
|
print("未找到游戏窗口")
|
|
return False
|
|
|
|
def test_window_operations():
|
|
"""测试窗口操作"""
|
|
print("\n=== 测试窗口操作 ===")
|
|
manager = GameWindowManager()
|
|
|
|
if not manager.capture_window():
|
|
print("游戏未运行,跳过测试")
|
|
return False
|
|
|
|
print("窗口已捕获")
|
|
|
|
# 测试获取信息
|
|
info = manager.get_window_info()
|
|
print(f"窗口信息: {info}")
|
|
|
|
# 测试置前
|
|
print("尝试将窗口置前...")
|
|
manager.bring_to_front()
|
|
print("完成")
|
|
|
|
return True
|
|
|
|
if __name__ == "__main__":
|
|
print("开始集成测试\n")
|
|
|
|
test_find_by_exe()
|
|
test_find_by_title()
|
|
test_window_operations()
|
|
|
|
print("\n测试完成")
|