From 3d67bfba62a3625d08182c98faafbbf5ed8722f3 Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Mon, 10 Feb 2025 21:58:32 +0800 Subject: [PATCH] fix ADBDriver --- internal/version/VERSION | 2 +- pkg/uixt/android_driver_adb.go | 14 +++++++------- pkg/uixt/android_driver_uia2.go | 4 ++-- pkg/uixt/driver_ext/shoots_android_driver.go | 12 +++++++----- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/internal/version/VERSION b/internal/version/VERSION index f709c3d2..13615253 100644 --- a/internal/version/VERSION +++ b/internal/version/VERSION @@ -1 +1 @@ -v5.0.0+2502102128 +v5.0.0+2502102158 diff --git a/pkg/uixt/android_driver_adb.go b/pkg/uixt/android_driver_adb.go index 69f0ee24..715483e1 100644 --- a/pkg/uixt/android_driver_adb.go +++ b/pkg/uixt/android_driver_adb.go @@ -31,15 +31,15 @@ import ( func NewADBDriver(device *AndroidDevice) (*ADBDriver, error) { log.Info().Interface("device", device).Msg("init android adb driver") driver := &ADBDriver{ - AndroidDevice: device, - Session: &Session{}, + Device: device, + Session: &Session{}, } driver.InitSession(nil) return driver, nil } type ADBDriver struct { - *AndroidDevice + Device *AndroidDevice Session *Session } @@ -92,7 +92,7 @@ func (ad *ADBDriver) Status() (deviceStatus types.DeviceStatus, err error) { } func (ad *ADBDriver) GetDevice() IDevice { - return ad.AndroidDevice + return ad.Device } func (ad *ADBDriver) DeviceInfo() (deviceInfo types.DeviceInfo, err error) { @@ -768,7 +768,7 @@ func (ad *ADBDriver) IsHealthy() (healthy bool, err error) { func (ad *ADBDriver) StartCaptureLog(identifier ...string) (err error) { log.Info().Msg("start adb log recording") // start logcat - err = ad.Logcat.CatchLogcat("iesqaMonitor:V") + err = ad.Device.Logcat.CatchLogcat("iesqaMonitor:V") if err != nil { err = errors.Wrap(code.DeviceCaptureLogError, fmt.Sprintf("start adb log recording failed: %v", err)) @@ -780,7 +780,7 @@ func (ad *ADBDriver) StartCaptureLog(identifier ...string) (err error) { func (ad *ADBDriver) StopCaptureLog() (result interface{}, err error) { defer func() { log.Info().Msg("stop adb log recording") - err = ad.Logcat.Stop() + err = ad.Device.Logcat.Stop() if err != nil { log.Error().Err(err).Msg("failed to get adb log recording") } @@ -788,7 +788,7 @@ func (ad *ADBDriver) StopCaptureLog() (result interface{}, err error) { if err != nil { log.Error().Err(err).Msg("failed to close adb log writer") } - pointRes := ConvertPoints(ad.Logcat.logs) + pointRes := ConvertPoints(ad.Device.Logcat.logs) // 没有解析到打点日志,走兜底逻辑 if len(pointRes) == 0 { diff --git a/pkg/uixt/android_driver_uia2.go b/pkg/uixt/android_driver_uia2.go index 3904711a..61204700 100644 --- a/pkg/uixt/android_driver_uia2.go +++ b/pkg/uixt/android_driver_uia2.go @@ -29,14 +29,14 @@ func NewUIA2Driver(device *AndroidDevice) (*UIA2Driver, error) { } driver := &UIA2Driver{ ADBDriver: &ADBDriver{ - AndroidDevice: device, + Device: device, }, } err = driver.Session.InitConnection(localPort) if err != nil { return nil, err } - driver.Logcat = device.Logcat + driver.Device.Logcat = device.Logcat err = driver.InitSession(nil) if err != nil { diff --git a/pkg/uixt/driver_ext/shoots_android_driver.go b/pkg/uixt/driver_ext/shoots_android_driver.go index 370aa588..38d5aff2 100644 --- a/pkg/uixt/driver_ext/shoots_android_driver.go +++ b/pkg/uixt/driver_ext/shoots_android_driver.go @@ -34,12 +34,16 @@ func NewShootsAndroidDriver(device *uixt.AndroidDevice) (driver *ShootsAndroidDr log.Err(err).Msg(fmt.Sprintf("failed to connect %s", address)) return nil, err } + adbDriver, err := uixt.NewADBDriver(device) + if err != nil { + return nil, err + } driver = &ShootsAndroidDriver{ - socket: conn, - timeout: 10 * time.Second, + ADBDriver: adbDriver, + socket: conn, + timeout: 10 * time.Second, } - driver.InitSession(nil) serverLocalPort, err := device.Device.Forward(douyinServerPort) if err != nil { return nil, errors.Wrap(code.DeviceConnectionError, @@ -50,8 +54,6 @@ func NewShootsAndroidDriver(device *uixt.AndroidDevice) (driver *ShootsAndroidDr serverLocalPort, douyinServerPort) driver.Session.Init(rawURL) - driver.Device = device.Device - driver.Logcat = device.Logcat return driver, nil }