mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-11 18:11:21 +08:00
fix: check popup
This commit is contained in:
@@ -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().
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user