""" Windows 实现层测试脚本 """ import sys import platform print("=" * 60) print(f"平台: {platform.system()} {platform.release()}") print(f"Python: {platform.python_version()}") print("=" * 60) # 测试基本导入 print("\n[1] 测试基本导入...") try: from android_pyapi import Intent, Uri, Bundle, JSONObject, ArrayList print(" ✓ 基本 Android API 导入成功") except Exception as e: print(f" ✗ 基本导入失败: {e}") # 测试 Intent print("\n[2] 测试 Intent...") try: intent = Intent("android.intent.action.VIEW") intent.setData(Uri.parse("https://example.com")) intent.putExtra("key", "value") print(f" ✓ Action: {intent.getAction()}") print(f" ✓ Data: {intent.getData()}") print(f" ✓ Extra: {intent.getStringExtra('key')}") except Exception as e: print(f" ✗ Intent 测试失败: {e}") # 测试集合类 print("\n[3] 测试集合类...") try: lst = ArrayList() lst.add("hello") lst.add("world") print(f" ✓ ArrayList size: {lst.size()}") print(f" ✓ ArrayList[0]: {lst.get(0)}") json = JSONObject() json.put("name", "test") json.put("version", 42) print(f" ✓ JSONObject: {json.toString()}") except Exception as e: print(f" ✗ 集合类测试失败: {e}") # 测试 Windows 实现层 print("\n[4] 测试 Windows 实现层...") try: from android_pyapi._windows_impl import ( IS_WINDOWS, get_windows_capabilities, WindowsNetwork, WindowsPower, WindowsDisplay, WindowsClipboard, WindowsProcess, WindowsLocation ) print(f" ✓ IS_WINDOWS: {IS_WINDOWS}") caps = get_windows_capabilities() print(f" ✓ 能力检测: {sum(caps.values())}/{len(caps)} 项可用") except Exception as e: print(f" ✗ Windows 实现层导入失败: {e}") import traceback traceback.print_exc() # 测试网络功能 print("\n[5] 测试网络功能...") try: ip = WindowsNetwork.get_ip_address() print(f" ✓ IP 地址: {ip}") connected = WindowsNetwork.get_connectivity() print(f" ✓ 网络连通: {connected}") wifi = WindowsNetwork.get_wifi_info() print(f" ✓ WiFi SSID: {wifi.get('ssid', 'N/A')}") except Exception as e: print(f" ✗ 网络测试失败: {e}") # 测试电源信息 print("\n[6] 测试电源信息...") try: battery = WindowsPower.get_battery_info() print(f" ✓ 电池存在: {battery['present']}") print(f" ✓ 电池电量: {battery['level']}%") print(f" ✓ 电池状态: {battery['status']}") cpu = WindowsPower.get_cpu_usage() print(f" ✓ CPU 使用率: {cpu}%") mem = WindowsPower.get_memory_info() print(f" ✓ 内存使用: {mem['percent']}%") except Exception as e: print(f" ✗ 电源测试失败: {e}") # 测试显示信息 print("\n[7] 测试显示信息...") try: w, h = WindowsDisplay.get_screen_size() print(f" ✓ 屏幕尺寸: {w}x{h}") x, y = WindowsDisplay.get_mouse_position() print(f" ✓ 鼠标位置: ({x}, {y})") except Exception as e: print(f" ✗ 显示测试失败: {e}") # 测试剪贴板 print("\n[8] 测试剪贴板...") try: test_text = "Android-pyApi 测试文本" WindowsClipboard.write(test_text) read_text = WindowsClipboard.read() if read_text == test_text: print(f" ✓ 剪贴板读写成功") else: print(f" ⚠ 剪贴板内容不匹配: '{read_text}'") except Exception as e: print(f" ✗ 剪贴板测试失败: {e}") # 测试进程管理 print("\n[9] 测试进程管理...") try: procs = WindowsProcess.list_processes() print(f" ✓ 进程数量: {len(procs)}") sys_info = WindowsProcess.get_system_info() print(f" ✓ 主机名: {sys_info['hostname']}") print(f" ✓ 系统: {sys_info['platform']} {sys_info['windows_version']}") except Exception as e: print(f" ✗ 进程管理测试失败: {e}") # 测试位置信息 print("\n[10] 测试位置信息...") try: loc = WindowsLocation.get_location() print(f" ✓ 来源: {loc['source']}") print(f" ✓ 经纬度: {loc['latitude']}, {loc['longitude']}") if loc.get('city'): print(f" ✓ 城市: {loc['city']}") except Exception as e: print(f" ✗ 位置测试失败: {e}") print("\n" + "=" * 60) print("测试完成!") print("=" * 60)