mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-10 23:12:41 +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) {
|
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(
|
screenResult, err := dExt.GetScreenResult(
|
||||||
WithScreenShotUpload(true),
|
WithScreenShotUpload(true),
|
||||||
WithScreenShotClosePopups(true), // get popup area and close area
|
WithScreenShotClosePopups(true), // get popup area and close area
|
||||||
@@ -110,13 +103,16 @@ func (dExt *DriverExt) CheckPopup() (popup *PopupInfo, err error) {
|
|||||||
}
|
}
|
||||||
popup = screenResult.Popup
|
popup = screenResult.Popup
|
||||||
if popup == nil {
|
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()
|
closePoint := popup.ClosePoint()
|
||||||
if closePoint == nil {
|
if closePoint == nil {
|
||||||
// close point not found
|
// 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
|
return popup, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,9 +121,14 @@ func (dExt *DriverExt) ClosePopupsHandler() (err error) {
|
|||||||
|
|
||||||
popup, err := dExt.CheckPopup()
|
popup, err := dExt.CheckPopup()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
// check popup failed
|
||||||
|
return err
|
||||||
|
} else if popup == nil {
|
||||||
// no popup found
|
// no popup found
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// found popup
|
||||||
closePoint := popup.ClosePoint()
|
closePoint := popup.ClosePoint()
|
||||||
|
|
||||||
log.Info().
|
log.Info().
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ func TestCheckPopup(t *testing.T) {
|
|||||||
setupAndroidAdbDriver(t)
|
setupAndroidAdbDriver(t)
|
||||||
popup, err := driverExt.CheckPopup()
|
popup, err := driverExt.CheckPopup()
|
||||||
if err != nil {
|
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 {
|
} 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()
|
windowSize, err := dExt.Driver.WindowSize()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
err = errors.Wrap(code.MobileUIDriverError, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
screenResult = &ScreenResult{
|
screenResult = &ScreenResult{
|
||||||
|
|||||||
@@ -19,13 +19,14 @@ func assertRelative(p float64) bool {
|
|||||||
func (dExt *DriverExt) SwipeRelative(fromX, fromY, toX, toY float64, options ...ActionOption) error {
|
func (dExt *DriverExt) SwipeRelative(fromX, fromY, toX, toY float64, options ...ActionOption) error {
|
||||||
if !assertRelative(fromX) || !assertRelative(fromY) ||
|
if !assertRelative(fromX) || !assertRelative(fromY) ||
|
||||||
!assertRelative(toX) || !assertRelative(toY) {
|
!assertRelative(toX) || !assertRelative(toY) {
|
||||||
return fmt.Errorf("fromX(%f), fromY(%f), toX(%f), toY(%f) must be less than 1",
|
return errors.Wrap(code.MobileUISwipeError,
|
||||||
fromX, fromY, toX, toY)
|
fmt.Sprintf("fromX(%f), fromY(%f), toX(%f), toY(%f) must be less than 1",
|
||||||
|
fromX, fromY, toX, toY))
|
||||||
}
|
}
|
||||||
|
|
||||||
windowSize, err := dExt.Driver.WindowSize()
|
windowSize, err := dExt.Driver.WindowSize()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(code.MobileUISwipeError, err.Error())
|
||||||
}
|
}
|
||||||
width := windowSize.Width
|
width := windowSize.Width
|
||||||
height := windowSize.Height
|
height := windowSize.Height
|
||||||
|
|||||||
Reference in New Issue
Block a user