From 1de68a1847c43adc37ec42ed55ee829a366cba06 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Mon, 26 Sep 2022 17:41:09 +0800 Subject: [PATCH] fix: screenshot wait for swipe done --- hrp/internal/uixt/ios_device.go | 6 ++++-- hrp/internal/uixt/ocr_on.go | 9 +++++---- hrp/internal/uixt/swipe.go | 3 +++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/hrp/internal/uixt/ios_device.go b/hrp/internal/uixt/ios_device.go index d71abd5a..7218e368 100644 --- a/hrp/internal/uixt/ios_device.go +++ b/hrp/internal/uixt/ios_device.go @@ -204,12 +204,14 @@ func (dev *IOSDevice) NewUSBDriver(capabilities Capabilities) (driver WebDriver, wd := new(wdaDriver) if wd.defaultConn, err = dev.d.NewConnect(dev.Port, 0); err != nil { - return nil, fmt.Errorf("create connection: %w", err) + return nil, fmt.Errorf("connect port %d failed: %w", + dev.Port, err) } wd.client = convertToHTTPClient(wd.defaultConn.RawConn()) if wd.mjpegUSBConn, err = dev.d.NewConnect(dev.MjpegPort, 0); err != nil { - return nil, fmt.Errorf("create connection MJPEG: %w", err) + return nil, fmt.Errorf("connect MJPEG port %d failed: %w", + dev.MjpegPort, err) } wd.mjpegClient = convertToHTTPClient(wd.mjpegUSBConn.RawConn()) diff --git a/hrp/internal/uixt/ocr_on.go b/hrp/internal/uixt/ocr_on.go index 282780de..6583c3f5 100644 --- a/hrp/internal/uixt/ocr_on.go +++ b/hrp/internal/uixt/ocr_on.go @@ -68,15 +68,15 @@ func (s *veDEMOCRService) getOCRResult(imageBuf []byte) ([]OCRResult, error) { } defer resp.Body.Close() - if resp.StatusCode != http.StatusOK { - return nil, fmt.Errorf("unexpected response status code: %d", resp.StatusCode) - } - results, err := ioutil.ReadAll(resp.Body) if err != nil { return nil, fmt.Errorf("read response body error: %v", err) } + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("unexpected response status code: %d, results: %v", resp.StatusCode, string(results)) + } + var ocrResult ResponseOCR err = json.Unmarshal(results, &ocrResult) if err != nil { @@ -148,6 +148,7 @@ func (dExt *DriverExt) FindTextByOCR(ocrText string) (x, y, width, height float6 return } + log.Info().Str("ocrText", ocrText).Msgf("FindText success") x, y, width, height = dExt.MappingToRectInUIKit(rect) return } diff --git a/hrp/internal/uixt/swipe.go b/hrp/internal/uixt/swipe.go index c329263d..7973b53a 100644 --- a/hrp/internal/uixt/swipe.go +++ b/hrp/internal/uixt/swipe.go @@ -2,6 +2,7 @@ package uixt import ( "fmt" + "time" "github.com/rs/zerolog/log" ) @@ -81,6 +82,8 @@ func (dExt *DriverExt) SwipeUntil(direction string, condition FindCondition, act if err := dExt.SwipeTo(direction); err != nil { log.Error().Err(err).Msgf("swipe %s failed", direction) } + // wait for swipe done + time.Sleep(500 * time.Millisecond) } return fmt.Errorf("swipe %s %d times, match condition failed", direction, maxTimes) }