mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-15 04:19:28 +08:00
59 lines
975 B
Go
59 lines
975 B
Go
//go:build localtest
|
|
|
|
package gidevice
|
|
|
|
import (
|
|
"image"
|
|
"image/jpeg"
|
|
"image/png"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
var screenshotSrv Screenshot
|
|
|
|
func setupScreenshotSrv(t *testing.T) {
|
|
setupLockdownSrv(t)
|
|
|
|
var err error
|
|
if lockdownSrv, err = dev.lockdownService(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if screenshotSrv, err = lockdownSrv.ScreenshotService(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func Test_screenshot_Take(t *testing.T) {
|
|
setupScreenshotSrv(t)
|
|
|
|
// raw, err := dev.Screenshot()
|
|
raw, err := screenshotSrv.Take()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
_ = raw
|
|
|
|
img, format, err := image.Decode(raw)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
userHomeDir, _ := os.UserHomeDir()
|
|
file, err := os.Create(userHomeDir + "/Desktop/s1." + format)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer func() { _ = file.Close() }()
|
|
switch format {
|
|
case "png":
|
|
err = png.Encode(file, img)
|
|
case "jpeg":
|
|
err = jpeg.Encode(file, img, nil)
|
|
}
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(file.Name())
|
|
}
|