From 77b64c1eef630ba3e804bcb13d975ee7afc486f5 Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Thu, 12 Sep 2024 19:51:47 +0800 Subject: [PATCH] fix: check popup --- hrp/pkg/uixt/popups.go | 19 ++++++++++--------- hrp/pkg/uixt/popups_test.go | 6 ++++-- hrp/pkg/uixt/screenshot.go | 1 + hrp/pkg/uixt/swipe.go | 7 ++++--- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/hrp/pkg/uixt/popups.go b/hrp/pkg/uixt/popups.go index 9ccf7e19..7b31b373 100644 --- a/hrp/pkg/uixt/popups.go +++ b/hrp/pkg/uixt/popups.go @@ -94,13 +94,6 @@ func (p *PopupInfo) ClosePoint() *PointF { } func (dExt *DriverExt) CheckPopup() (popup *PopupInfo, err error) { - defer func() { - if popup == nil { - log.Info().Msg("check popup, no found") - } else { - log.Info().Interface("popup", popup).Msg("found popup") - } - }() screenResult, err := dExt.GetScreenResult( WithScreenShotUpload(true), WithScreenShotClosePopups(true), // get popup area and close area @@ -110,13 +103,16 @@ func (dExt *DriverExt) CheckPopup() (popup *PopupInfo, err error) { } popup = screenResult.Popup if popup == nil { - return nil, errors.New("popup not found") + // popup not found + log.Debug().Msg("check popup, no found") + return nil, nil } closePoint := popup.ClosePoint() if closePoint == nil { // close point not found - return nil, errors.New("popup close point not found") + return nil, errors.Wrap(code.MobileUIPopupError, "popup close point not found") } + log.Info().Interface("popup", popup).Msg("found popup") return popup, nil } @@ -125,9 +121,14 @@ func (dExt *DriverExt) ClosePopupsHandler() (err error) { popup, err := dExt.CheckPopup() if err != nil { + // check popup failed + return err + } else if popup == nil { // no popup found return nil } + + // found popup closePoint := popup.ClosePoint() log.Info(). diff --git a/hrp/pkg/uixt/popups_test.go b/hrp/pkg/uixt/popups_test.go index d7ccbbdd..57c1e4b5 100644 --- a/hrp/pkg/uixt/popups_test.go +++ b/hrp/pkg/uixt/popups_test.go @@ -11,9 +11,11 @@ func TestCheckPopup(t *testing.T) { setupAndroidAdbDriver(t) popup, err := driverExt.CheckPopup() if err != nil { - t.Logf("error: %v", err) + t.Logf("check popup failed, err: %v", err) + } else if popup == nil { + t.Log("no popup found") } else { - t.Logf("popup: %+v", popup) + t.Logf("found popup: %v", popup) } } diff --git a/hrp/pkg/uixt/screenshot.go b/hrp/pkg/uixt/screenshot.go index fd665975..c9b0ea15 100644 --- a/hrp/pkg/uixt/screenshot.go +++ b/hrp/pkg/uixt/screenshot.go @@ -49,6 +49,7 @@ func (dExt *DriverExt) GetScreenResult(options ...ActionOption) (screenResult *S windowSize, err := dExt.Driver.WindowSize() if err != nil { + err = errors.Wrap(code.MobileUIDriverError, err.Error()) return } screenResult = &ScreenResult{ diff --git a/hrp/pkg/uixt/swipe.go b/hrp/pkg/uixt/swipe.go index 193b341b..94b625c9 100644 --- a/hrp/pkg/uixt/swipe.go +++ b/hrp/pkg/uixt/swipe.go @@ -19,13 +19,14 @@ func assertRelative(p float64) bool { func (dExt *DriverExt) SwipeRelative(fromX, fromY, toX, toY float64, options ...ActionOption) error { if !assertRelative(fromX) || !assertRelative(fromY) || !assertRelative(toX) || !assertRelative(toY) { - return fmt.Errorf("fromX(%f), fromY(%f), toX(%f), toY(%f) must be less than 1", - fromX, fromY, toX, toY) + return errors.Wrap(code.MobileUISwipeError, + fmt.Sprintf("fromX(%f), fromY(%f), toX(%f), toY(%f) must be less than 1", + fromX, fromY, toX, toY)) } windowSize, err := dExt.Driver.WindowSize() if err != nil { - return err + return errors.Wrap(code.MobileUISwipeError, err.Error()) } width := windowSize.Width height := windowSize.Height