fix: miss suffix for screenshot file path

This commit is contained in:
lilong.129
2025-03-11 22:42:05 +08:00
parent b8e9a25991
commit eb730c2ebe
4 changed files with 17 additions and 13 deletions

View File

@@ -75,7 +75,8 @@ func TestDriver_ADB_ScreenShot(t *testing.T) {
driver := setupADBDriverExt(t)
screenshot, err := driver.ScreenShot()
assert.Nil(t, err)
path, err := saveScreenShot(screenshot, "1234.jpeg")
path := "1234.jpeg"
err = saveScreenShot(screenshot, path)
require.Nil(t, err)
defer os.Remove(path)
t.Logf("save screenshot to %s", path)
@@ -249,7 +250,8 @@ func TestDriver_ADB_PushImage(t *testing.T) {
screenshot, err := driver.ScreenShot()
assert.Nil(t, err)
path, err := saveScreenShot(screenshot, "1234.jpeg")
path := "1234.jpeg"
err = saveScreenShot(screenshot, path)
require.Nil(t, err)
defer os.Remove(path)

View File

@@ -78,11 +78,11 @@ func (dExt *XTDriver) GetScreenResult(opts ...option.ActionOption) (screenResult
fmt.Sprintf("%s.%s", fileName, "jpeg"),
)
go func() {
path, err := saveScreenShot(compressBufSource, imagePath)
err := saveScreenShot(compressBufSource, imagePath)
if err != nil {
log.Error().Err(err).Msg("save screenshot file failed")
} else {
log.Info().Str("path", path).Msg("screenshot saved")
log.Info().Str("path", imagePath).Msg("screenshot saved")
}
}()
@@ -192,7 +192,7 @@ func (dExt *XTDriver) FindUIResult(opts ...option.ActionOption) (point ai.PointF
}
// saveScreenShot saves compressed image file with file name
func saveScreenShot(raw *bytes.Buffer, screenshotPath string) (string, error) {
func saveScreenShot(raw *bytes.Buffer, screenshotPath string) error {
// notice: screenshot data is a stream, so we need to copy it to a new buffer
copiedBuffer := &bytes.Buffer{}
if _, err := copiedBuffer.Write(raw.Bytes()); err != nil {
@@ -201,12 +201,12 @@ func saveScreenShot(raw *bytes.Buffer, screenshotPath string) (string, error) {
img, format, err := image.Decode(copiedBuffer)
if err != nil {
return "", errors.Wrap(err, "decode screenshot image failed")
return errors.Wrap(err, "decode screenshot image failed")
}
file, err := os.Create(screenshotPath)
if err != nil {
return "", errors.Wrap(err, "create screenshot image file failed")
return errors.Wrap(err, "create screenshot image file failed")
}
defer func() {
_ = file.Close()
@@ -228,10 +228,10 @@ func saveScreenShot(raw *bytes.Buffer, screenshotPath string) (string, error) {
}
err = gif.Encode(file, img, gifOptions)
default:
return "", fmt.Errorf("unsupported image format %s", format)
return fmt.Errorf("unsupported image format %s", format)
}
if err != nil {
return "", errors.Wrap(err, "save image file failed")
return errors.Wrap(err, "save image file failed")
}
var fileSize int64
@@ -243,7 +243,7 @@ func saveScreenShot(raw *bytes.Buffer, screenshotPath string) (string, error) {
Int("rawBytes", raw.Len()).Int64("saveBytes", fileSize).
Msg("save screenshot file success")
return screenshotPath, nil
return nil
}
func compressImageBuffer(raw *bytes.Buffer) (compressed *bytes.Buffer, err error) {

View File

@@ -258,7 +258,8 @@ func TestDriver_WDA_ScreenShot(t *testing.T) {
assert.Nil(t, err)
_ = screenshot
path, err := saveScreenShot(screenshot, "1234.jpeg")
path := "1234.jpeg"
err = saveScreenShot(screenshot, path)
assert.Nil(t, err)
defer os.Remove(path)
t.Logf("save screenshot to %s", path)
@@ -318,7 +319,8 @@ func TestDriver_WDA_PushImage(t *testing.T) {
screenshot, err := driver.ScreenShot()
assert.Nil(t, err)
path, err := saveScreenShot(screenshot, "1234.jpeg")
path := "1234.jpeg"
err = saveScreenShot(screenshot, path)
require.Nil(t, err)
defer os.Remove(path)