diff --git a/hrp/internal/version/VERSION b/hrp/internal/version/VERSION index bf86200e..cf95d97a 100644 --- a/hrp/internal/version/VERSION +++ b/hrp/internal/version/VERSION @@ -1 +1 @@ -v5.0.0+2412081353 +v5.0.0+2412081512 diff --git a/hrp/pkg/uixt/ai_vedem.go b/hrp/pkg/uixt/ai_vedem.go index c82e8dc2..9288062c 100644 --- a/hrp/pkg/uixt/ai_vedem.go +++ b/hrp/pkg/uixt/ai_vedem.go @@ -10,6 +10,7 @@ import ( "time" "github.com/pkg/errors" + "github.com/rs/zerolog" "github.com/rs/zerolog/log" "github.com/httprunner/httprunner/v4/hrp/code" @@ -53,6 +54,33 @@ func (s *veDEMImageService) GetImage(imageBuf *bytes.Buffer, options ...ActionOp return nil, nil } + start := time.Now() + defer func() { + elapsed := time.Since(start).Milliseconds() + var logger *zerolog.Event + if err != nil { + logger = log.Error().Err(err) + } else { + logger = log.Debug() + if imageResult.URL != "" { + logger = logger.Str("url", imageResult.URL) + } + if imageResult.UIResult != nil { + logger = logger.Interface("uiResult", imageResult.UIResult) + } + if imageResult.ClosePopupsResult != nil { + if imageResult.ClosePopupsResult.IsEmpty() { + // set nil to reduce unnecessary summary info + imageResult.ClosePopupsResult = nil + } else { + logger = logger.Interface("closePopupsResult", imageResult.ClosePopupsResult) + } + } + } + logger = logger.Int64("elapsed(ms)", elapsed) + logger.Msg("get image data by veDEM") + }() + bodyBuf := &bytes.Buffer{} bodyWriter := multipart.NewWriter(bodyBuf) for _, action := range screenshotActions { @@ -176,24 +204,19 @@ func (s *veDEMImageService) GetImage(imageBuf *bytes.Buffer, options ...ActionOp var imageResponse APIResponseImage err = json.Unmarshal(results, &imageResponse) if err != nil { - log.Error().Err(err). - Str("response", string(results)). - Msg("json unmarshal veDEM image response body failed") err = errors.Wrap(code.CVResponseError, - "json unmarshal veDEM image response body error") + fmt.Sprintf("json unmarshal veDEM image response body error, response=%s", string(results))) return } if imageResponse.Code != 0 { - log.Error(). - Int("code", imageResponse.Code). - Str("message", imageResponse.Message). - Msg("request veDEM OCR service failed") - return nil, errors.New(imageResponse.Message) + err = errors.Wrap(code.CVResponseError, + fmt.Sprintf("unexpected response data code: %d, message: %s", + imageResponse.Code, imageResponse.Message)) + return } imageResult = &imageResponse.Result - log.Debug().Interface("imageResult", imageResult).Msg("get image data by veDEM") return imageResult, nil } diff --git a/hrp/pkg/uixt/screenshot.go b/hrp/pkg/uixt/screenshot.go index a132f0d9..05e744bb 100644 --- a/hrp/pkg/uixt/screenshot.go +++ b/hrp/pkg/uixt/screenshot.go @@ -109,20 +109,15 @@ func (dExt *DriverExt) GetScreenResult(options ...ActionOption) (screenResult *S screenResult.Icons = imageResult.UIResult if actionOptions.ScreenShotWithClosePopups && imageResult.ClosePopupsResult != nil { - if imageResult.ClosePopupsResult.IsEmpty() { - // set nil to reduce unnecessary summary info - imageResult.ClosePopupsResult = nil - } else { - screenResult.Popup = &PopupInfo{ - ClosePopupsResult: imageResult.ClosePopupsResult, - PicName: imagePath, - PicURL: imageResult.URL, - } + screenResult.Popup = &PopupInfo{ + ClosePopupsResult: imageResult.ClosePopupsResult, + PicName: imagePath, + PicURL: imageResult.URL, + } - closeAreas, _ := imageResult.UIResult.FilterUIResults([]string{"close"}) - for _, closeArea := range closeAreas { - screenResult.Popup.ClosePoints = append(screenResult.Popup.ClosePoints, closeArea.Center()) - } + closeAreas, _ := imageResult.UIResult.FilterUIResults([]string{"close"}) + for _, closeArea := range closeAreas { + screenResult.Popup.ClosePoints = append(screenResult.Popup.ClosePoints, closeArea.Center()) } } }