feat: 支持设备探活

This commit is contained in:
余泓铮
2025-07-17 11:55:05 +08:00
parent ed5fba5540
commit 76d60cb7d0
4 changed files with 26 additions and 0 deletions

View File

@@ -114,6 +114,14 @@ func (dev *AndroidDevice) Setup() error {
return nil
}
func (dev *AndroidDevice) IsHealthy() (bool, error) {
state, err := dev.Device.State()
if err != nil {
return false, err
}
return state == gadb.StateOnline, nil
}
func (dev *AndroidDevice) Teardown() error {
return nil
}

View File

@@ -12,6 +12,8 @@ type IDevice interface {
UUID() string
NewDriver() (driver IDriver, err error)
IsHealthy() (bool, error)
Setup() error
Teardown() error

View File

@@ -75,6 +75,10 @@ func (dev *HarmonyDevice) Setup() error {
return nil
}
func (dev *HarmonyDevice) IsHealthy() (bool, error) {
return true, nil
}
func (dev *HarmonyDevice) Teardown() error {
return nil
}

View File

@@ -184,6 +184,18 @@ func (dev *IOSDevice) Setup() error {
return nil
}
func (dev *IOSDevice) IsHealthy() (bool, error) {
startTimestamp := time.Now()
lockdown, err := ios.ConnectLockdownWithSession(dev.DeviceEntry)
if err != nil {
return false, err
}
defer lockdown.Close()
elapsed := time.Since(startTimestamp)
log.Info().Dur("elapsed", elapsed).Msg("connect lockdown")
return true, nil
}
func (dev *IOSDevice) Teardown() error {
for _, listener := range dev.listeners {
_ = listener.Close()