fix: check popup

This commit is contained in:
lilong.129
2024-09-12 19:51:47 +08:00
parent a87a4ea680
commit 77b64c1eef
4 changed files with 19 additions and 14 deletions

View File

@@ -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().

View File

@@ -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)
}
}

View File

@@ -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{

View File

@@ -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