mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-04 23:16:57 +08:00
fix: get screenshot info with retry
This commit is contained in:
@@ -50,15 +50,19 @@ func (dExt *DriverExt) GetScreenResult(options ...ActionOption) (screenResult *S
|
|||||||
var imageResult *ImageResult
|
var imageResult *ImageResult
|
||||||
var imagePath string
|
var imagePath string
|
||||||
var windowSize Size
|
var windowSize Size
|
||||||
|
var lastErr error
|
||||||
|
|
||||||
|
// get screenshot info with retry
|
||||||
for i := 0; i < actionOptions.MaxRetryTimes; i++ {
|
for i := 0; i < actionOptions.MaxRetryTimes; i++ {
|
||||||
bufSource, imagePath, err = dExt.GetScreenShot(fileName)
|
bufSource, imagePath, err = dExt.GetScreenShot(fileName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
lastErr = err
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
windowSize, err = dExt.Driver.WindowSize()
|
windowSize, err = dExt.Driver.WindowSize()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = errors.Wrap(code.MobileUIDriverError, err.Error())
|
lastErr = errors.Wrap(code.MobileUIDriverError, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,13 +75,15 @@ func (dExt *DriverExt) GetScreenResult(options ...ActionOption) (screenResult *S
|
|||||||
imageResult, err = dExt.ImageService.GetImage(bufSource, options...)
|
imageResult, err = dExt.ImageService.GetImage(bufSource, options...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Msg("GetImage from ImageService failed")
|
log.Error().Err(err).Msg("GetImage from ImageService failed")
|
||||||
|
lastErr = err
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// success
|
// success, break the loop
|
||||||
|
lastErr = nil
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if err != nil {
|
if lastErr != nil {
|
||||||
return nil, err
|
return nil, lastErr
|
||||||
}
|
}
|
||||||
|
|
||||||
// cache screen result
|
// cache screen result
|
||||||
|
|||||||
Reference in New Issue
Block a user