fix: 任务执行前检查 Android 设备连接 (#84)

This commit is contained in:
chengma
2026-08-10 09:35:46 +08:00
parent dee9f34035
commit e7fb06d7aa
11 changed files with 360 additions and 25 deletions
@@ -72,6 +72,39 @@ USB-002 unauthorized usb:1-2 transport_id:3
self.assertEqual(len(commands), 2)
self.assertIn("ro.build.version.release", commands[1])
def test_require_connected_accepts_exact_usb_and_wifi_serial(self):
output = (
"List of devices attached\n"
"USB-001 device model:Phone\n"
"192.168.0.173:5555 device model:Phone\n"
)
service = AndroidDeviceService(
lambda command, _timeout: completed(command, output)
)
usb = service.require_connected("USB-001")
wifi = service.require_connected("192.168.0.173:5555")
self.assertEqual(usb.serial, "USB-001")
self.assertEqual(wifi.serial, "192.168.0.173:5555")
def test_require_connected_rejects_missing_offline_and_unauthorized(self):
cases = (
("USB-MISSING", "", "USB.*未连接"),
("192.168.0.173:5555", "offline", "offline"),
("USB-002", "unauthorized", "未授权"),
)
for serial, status, expected in cases:
with self.subTest(serial=serial, status=status):
line = f"{serial} {status}\n" if status else ""
service = AndroidDeviceService(
lambda command, _timeout, value=line: completed(
command, "List of devices attached\n" + value
)
)
with self.assertRaisesRegex(AndroidDeviceSearchError, expected):
service.require_connected(serial)
def test_restore_saved_wifi_connects_before_search(self):
commands = []