diff --git a/internal/version/VERSION b/internal/version/VERSION index 060b3ebc..0b03bcfa 100644 --- a/internal/version/VERSION +++ b/internal/version/VERSION @@ -1 +1 @@ -v5.0.0+2502181129 +v5.0.0+2502181444 diff --git a/pkg/uixt/ai/cv_vedem_test.go b/pkg/uixt/ai/cv_vedem_test.go index d8c47cab..13a70e3c 100644 --- a/pkg/uixt/ai/cv_vedem_test.go +++ b/pkg/uixt/ai/cv_vedem_test.go @@ -7,14 +7,15 @@ import ( "fmt" "os" "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestGetImageFromBuffer(t *testing.T) { imagePath := "/Users/debugtalk/Downloads/s1.png" file, err := os.ReadFile(imagePath) - if err != nil { - t.Fatal(err) - } + require.Nil(t, err) buf := new(bytes.Buffer) buf.Read(file) @@ -22,9 +23,7 @@ func TestGetImageFromBuffer(t *testing.T) { WithCVService(CVServiceTypeVEDEM), ) cvResult, err := service.ReadFromBuffer(buf) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) fmt.Println(fmt.Sprintf("cvResult: %v", cvResult)) } @@ -34,8 +33,6 @@ func TestGetImageFromPath(t *testing.T) { WithCVService(CVServiceTypeVEDEM), ) cvResult, err := service.ReadFromPath(imagePath) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) fmt.Println(fmt.Sprintf("cvResult: %v", cvResult)) } diff --git a/pkg/uixt/android_device.go b/pkg/uixt/android_device.go index 1dbc749a..a3cc9141 100644 --- a/pkg/uixt/android_device.go +++ b/pkg/uixt/android_device.go @@ -552,36 +552,3 @@ func (l *AdbLogcat) CatchLogcat(filter string) (err error) { return } - -type ExportPoint struct { - Start int `json:"start" yaml:"start"` - End int `json:"end" yaml:"end"` - From interface{} `json:"from" yaml:"from"` - To interface{} `json:"to" yaml:"to"` - Operation string `json:"operation" yaml:"operation"` - Ext string `json:"ext" yaml:"ext"` - RunTime int `json:"run_time,omitempty" yaml:"run_time,omitempty"` -} - -func ConvertPoints(lines []string) (eps []ExportPoint) { - log.Info().Msg("ConvertPoints") - log.Info().Msg(strings.Join(lines, "\n")) - for _, line := range lines { - if strings.Contains(line, "ext") { - idx := strings.Index(line, "{") - if idx == -1 { - continue - } - line = line[idx:] - p := ExportPoint{} - err := json.Unmarshal([]byte(line), &p) - if err != nil { - log.Error().Msg("failed to parse point data") - continue - } - log.Info().Msg(line) - eps = append(eps, p) - } - } - return -} diff --git a/pkg/uixt/android_driver_adb.go b/pkg/uixt/android_driver_adb.go index 848d9fa6..521821ae 100644 --- a/pkg/uixt/android_driver_adb.go +++ b/pkg/uixt/android_driver_adb.go @@ -78,15 +78,17 @@ func (ad *ADBDriver) runShellCommand(cmd string, args ...string) (output string, } func (ad *ADBDriver) InitSession(capabilities option.Capabilities) error { + log.Warn().Msg("InitSession not implemented in ADBDriver") return nil } -func (ad *ADBDriver) DeleteSession() (err error) { - return types.ErrDriverNotImplemented +func (ad *ADBDriver) DeleteSession() error { + log.Warn().Msg("DeleteSession not implemented in ADBDriver") + return nil } func (ad *ADBDriver) Status() (deviceStatus types.DeviceStatus, err error) { - err = types.ErrDriverNotImplemented + log.Warn().Msg("Status not implemented in ADBDriver") return } @@ -95,12 +97,12 @@ func (ad *ADBDriver) GetDevice() IDevice { } func (ad *ADBDriver) DeviceInfo() (deviceInfo types.DeviceInfo, err error) { - err = types.ErrDriverNotImplemented + log.Warn().Msg("DeviceInfo not implemented in ADBDriver") return } func (ad *ADBDriver) BatteryInfo() (batteryInfo types.BatteryInfo, err error) { - err = types.ErrDriverNotImplemented + log.Warn().Msg("BatteryInfo not implemented in ADBDriver") return } @@ -407,7 +409,7 @@ func (ad *ADBDriver) ForceTouch(x, y int, pressure float64, second ...float64) e } func (ad *ADBDriver) ForceTouchFloat(x, y, pressure float64, second ...float64) (err error) { - err = types.ErrDriverNotImplemented + log.Warn().Msg("ForceTouchFloat not implemented in ADBDriver") return } @@ -521,12 +523,12 @@ func (ad *ADBDriver) AppClear(packageName string) error { } func (ad *ADBDriver) Rotation() (rotation types.Rotation, err error) { - err = types.ErrDriverNotImplemented + log.Warn().Msg("Rotation not implemented in ADBDriver") return } func (ad *ADBDriver) SetRotation(rotation types.Rotation) (err error) { - err = types.ErrDriverNotImplemented + log.Warn().Msg("SetRotation not implemented in ADBDriver") return } @@ -835,9 +837,44 @@ func (ad *ADBDriver) ScreenRecord(duration time.Duration) (videoPath string, err } func (ad *ADBDriver) Setup() error { + log.Warn().Msg("Setup not implemented in ADBDriver") return nil } func (ad *ADBDriver) TearDown() error { + log.Warn().Msg("TearDown not implemented in ADBDriver") return nil } + +type ExportPoint struct { + Start int `json:"start" yaml:"start"` + End int `json:"end" yaml:"end"` + From interface{} `json:"from" yaml:"from"` + To interface{} `json:"to" yaml:"to"` + Operation string `json:"operation" yaml:"operation"` + Ext string `json:"ext" yaml:"ext"` + RunTime int `json:"run_time,omitempty" yaml:"run_time,omitempty"` +} + +func ConvertPoints(lines []string) (eps []ExportPoint) { + log.Info().Msg("ConvertPoints") + log.Info().Msg(strings.Join(lines, "\n")) + for _, line := range lines { + if strings.Contains(line, "ext") { + idx := strings.Index(line, "{") + if idx == -1 { + continue + } + line = line[idx:] + p := ExportPoint{} + err := json.Unmarshal([]byte(line), &p) + if err != nil { + log.Error().Msg("failed to parse point data") + continue + } + log.Info().Msg(line) + eps = append(eps, p) + } + } + return +} diff --git a/pkg/uixt/android_test.go b/pkg/uixt/android_test.go index 861bb330..9faa7320 100644 --- a/pkg/uixt/android_test.go +++ b/pkg/uixt/android_test.go @@ -4,11 +4,12 @@ package uixt import ( "os" - "strings" "testing" "time" - "github.com/httprunner/httprunner/v5/internal/builtin" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/httprunner/httprunner/v5/pkg/uixt/ai" "github.com/httprunner/httprunner/v5/pkg/uixt/option" "github.com/httprunner/httprunner/v5/pkg/uixt/types" @@ -16,346 +17,220 @@ import ( func setupADBDriverExt(t *testing.T) *XTDriver { device, err := NewAndroidDevice() - checkErr(t, err) + require.Nil(t, err) device.Options.UIA2 = false device.Options.LogOn = false driver, err := device.NewDriver() - checkErr(t, err) + require.Nil(t, err) return NewXTDriver(driver, ai.WithCVService(ai.CVServiceTypeVEDEM)) } func setupUIA2DriverExt(t *testing.T) *XTDriver { device, err := NewAndroidDevice() - checkErr(t, err) + require.Nil(t, err) device.Options.UIA2 = true // use uiautomator2 driver device.Options.LogOn = false driver, err := device.NewDriver() - checkErr(t, err) + require.Nil(t, err) return NewXTDriver(driver, ai.WithCVService(ai.CVServiceTypeVEDEM)) } -func TestAndroidDevice_GetPackageInfo(t *testing.T) { - device, err := NewAndroidDevice() - checkErr(t, err) - appInfo, err := device.GetPackageInfo("com.android.settings") - checkErr(t, err) +func TestDevice_Android_GetPackageInfo(t *testing.T) { + driver := setupADBDriverExt(t) + appInfo, err := driver.GetDevice().GetPackageInfo("com.android.settings") + require.Nil(t, err) t.Log(appInfo) + assert.Equal(t, "com.android.settings", appInfo.Name) + assert.NotEmpty(t, appInfo.AppPath) + assert.NotEmpty(t, appInfo.AppMD5) } -func TestAndroidDevice_GetCurrentWindow(t *testing.T) { - device, err := NewAndroidDevice() - checkErr(t, err) - windowInfo, err := device.GetCurrentWindow() - checkErr(t, err) - t.Logf("packageName: %s\tactivityName: %s", windowInfo.PackageName, windowInfo.Activity) -} - -func TestDriver_Quit(t *testing.T) { +func TestDevice_Android_GetCurrentWindow(t *testing.T) { driver := setupADBDriverExt(t) - if err := driver.DeleteSession(); err != nil { - t.Fatal(err) - } + driver.AppLaunch("com.android.settings") + windowInfo, err := driver.GetDevice().(*AndroidDevice).GetCurrentWindow() + require.Nil(t, err) + assert.Equal(t, "com.android.settings", windowInfo.PackageName) } -func TestDriver_Status(t *testing.T) { +func TestDriver_ADB_Session_TODO(t *testing.T) { driver := setupADBDriverExt(t) - _, err := driver.Status() - if err != nil { - t.Fatal(err) - } + err := driver.InitSession(nil) + require.Nil(t, err) + err = driver.DeleteSession() + assert.Nil(t, err) } -func TestDriver_Screenshot(t *testing.T) { +func TestDriver_ADB_Status_TODO(t *testing.T) { + driver := setupADBDriverExt(t) + status, err := driver.Status() + require.Nil(t, err) + t.Log(status) +} + +func TestDriver_ADB_ScreenShot(t *testing.T) { driver := setupADBDriverExt(t) screenshot, err := driver.ScreenShot() - if err != nil { - t.Fatal(err) - } - - t.Log(os.WriteFile("/Users/hero/Desktop/s1.png", screenshot.Bytes(), 0o600)) + assert.Nil(t, err) + path, err := saveScreenShot(screenshot, "1234") + require.Nil(t, err) + defer os.Remove(path) + t.Logf("save screenshot to %s", path) } -func TestDriver_Rotation(t *testing.T) { +func TestDriver_ADB_Rotation_TODO(t *testing.T) { driver := setupADBDriverExt(t) rotation, err := driver.Rotation() - if err != nil { - t.Fatal(err) - } - + require.Nil(t, err) t.Logf("x = %d\ty = %d\tz = %d", rotation.X, rotation.Y, rotation.Z) } -func TestDriver_DeviceSize(t *testing.T) { +func TestDriver_ADB_DeviceSize(t *testing.T) { driver := setupADBDriverExt(t) deviceSize, err := driver.WindowSize() - if err != nil { - t.Fatal(err) - } - - t.Logf("width = %d\theight = %d", deviceSize.Width, deviceSize.Height) + require.Nil(t, err) + assert.Greater(t, deviceSize.Width, 200) + assert.Greater(t, deviceSize.Height, 200) } -func TestDriver_Source(t *testing.T) { - driver := setupUIA2DriverExt(t) - +func TestDriver_ADB_Source(t *testing.T) { + driver := setupADBDriverExt(t) source, err := driver.Source() - if err != nil { - t.Fatal(err) - } - + require.Nil(t, err) + assert.Contains(t, source, " 2000 { - t.Fatal("getSimulationDuration failed") - } - - params = []float64{1, 5, 0.7, 5, 10, 0.3} - duration = getSimulationDuration(params) - if duration < 1000 || duration > 10000 { - t.Fatal("getSimulationDuration failed") - } -} - -func TestSleepStrict(t *testing.T) { - startTime := time.Now() - sleepStrict(startTime, 1230) - dur := time.Since(startTime).Milliseconds() - t.Log(dur) - if dur < 1230 || dur > 1300 { - t.Fatalf("sleepRandom failed, dur: %d", dur) - } + assert.Nil(t, err) } func TestGetScreenShot(t *testing.T) { diff --git a/pkg/uixt/driver_utils_test.go b/pkg/uixt/driver_utils_test.go new file mode 100644 index 00000000..3a6311fa --- /dev/null +++ b/pkg/uixt/driver_utils_test.go @@ -0,0 +1,53 @@ +package uixt + +import ( + "strings" + "testing" + "time" + + "github.com/httprunner/httprunner/v5/internal/builtin" + "github.com/stretchr/testify/assert" +) + +func TestGetSimulationDuration(t *testing.T) { + params := []float64{1.23} + duration := getSimulationDuration(params) + if duration != 1230 { + t.Fatal("getSimulationDuration failed") + } + + params = []float64{1, 2} + duration = getSimulationDuration(params) + if duration < 1000 || duration > 2000 { + t.Fatal("getSimulationDuration failed") + } + + params = []float64{1, 5, 0.7, 5, 10, 0.3} + duration = getSimulationDuration(params) + if duration < 1000 || duration > 10000 { + t.Fatal("getSimulationDuration failed") + } +} + +func TestSleepStrict(t *testing.T) { + startTime := time.Now() + sleepStrict(startTime, 1230) + dur := time.Since(startTime).Milliseconds() + t.Log(dur) + if dur < 1230 || dur > 1300 { + t.Fatalf("sleepRandom failed, dur: %d", dur) + } +} + +func TestUtils_GetFreePort(t *testing.T) { + freePort, err := builtin.GetFreePort() + assert.Nil(t, err) + assert.Greater(t, freePort, 10000) + t.Log(freePort) +} + +func TestUtils_ConvertPoints(t *testing.T) { + data := "10-09 20:16:48.216 I/iesqaMonitor(17845): {\"duration\":0,\"end\":1665317808206,\"ext\":\"输入\",\"from\":{\"x\":0.0,\"y\":0.0},\"operation\":\"Gtf-SendKeys\",\"run_time\":627,\"start\":1665317807579,\"start_first\":0,\"start_last\":0,\"to\":{\"x\":0.0,\"y\":0.0}}\n10-09 20:18:22.899 I/iesqaMonitor(17845): {\"duration\":0,\"end\":1665317902898,\"ext\":\"进入直播间\",\"from\":{\"x\":717.0,\"y\":2117.5},\"operation\":\"Gtf-Tap\",\"run_time\":121,\"start\":1665317902777,\"start_first\":0,\"start_last\":0,\"to\":{\"x\":717.0,\"y\":2117.5}}\n10-09 20:18:32.063 I/iesqaMonitor(17845): {\"duration\":0,\"end\":1665317912062,\"ext\":\"第一次上划\",\"from\":{\"x\":1437.0,\"y\":2409.9},\"operation\":\"Gtf-Swipe\",\"run_time\":32,\"start\":1665317912030,\"start_first\":0,\"start_last\":0,\"to\":{\"x\":1437.0,\"y\":2409.9}}" + eps := ConvertPoints(strings.Split(data, "\n")) + assert.Equal(t, 3, len(eps)) +} diff --git a/pkg/uixt/harmony_test.go b/pkg/uixt/harmony_test.go index 7f50a672..6a17b2bb 100644 --- a/pkg/uixt/harmony_test.go +++ b/pkg/uixt/harmony_test.go @@ -7,99 +7,77 @@ import ( "testing" "github.com/httprunner/httprunner/v5/pkg/uixt/ai" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func setupHDCDriverExt(t *testing.T) *XTDriver { device, err := NewHarmonyDevice() - if err != nil { - t.Fatal(err) - } + require.Nil(t, err) hdcDriver, err := NewHDCDriver(device) - if err != nil { - t.Fatal(err) - } + require.Nil(t, err) return NewXTDriver(hdcDriver, ai.WithCVService(ai.CVServiceTypeVEDEM)) } func TestWindowSize(t *testing.T) { driver := setupHDCDriverExt(t) size, err := driver.WindowSize() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) t.Log(fmt.Sprintf("width: %d, height: %d", size.Width, size.Height)) } func TestHarmonyTap(t *testing.T) { driver := setupHDCDriverExt(t) err := driver.TapAbsXY(200, 2000) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestHarmonySwipe(t *testing.T) { driver := setupHDCDriverExt(t) err := driver.Swipe(0.5, 0.5, 0.1, 0.5) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestHarmonyInput(t *testing.T) { driver := setupHDCDriverExt(t) err := driver.Input("test") - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestHomeScreen(t *testing.T) { driver := setupHDCDriverExt(t) err := driver.Home() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestUnlock(t *testing.T) { driver := setupHDCDriverExt(t) err := driver.Unlock() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestPressBack(t *testing.T) { driver := setupHDCDriverExt(t) err := driver.Back() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestScreenshot(t *testing.T) { driver := setupHDCDriverExt(t) screenshot, err := driver.ScreenShot() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) t.Log(screenshot) } func TestLaunch(t *testing.T) { driver := setupHDCDriverExt(t) err := driver.AppLaunch("") - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestForegroundApp(t *testing.T) { driver := setupHDCDriverExt(t) appInfo, err := driver.ForegroundInfo() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) t.Log(appInfo) } diff --git a/pkg/uixt/ios_test.go b/pkg/uixt/ios_test.go index 9f6b7ab1..1bc82a15 100644 --- a/pkg/uixt/ios_test.go +++ b/pkg/uixt/ios_test.go @@ -3,11 +3,12 @@ package uixt import ( - "fmt" + "os" "testing" "time" - "github.com/rs/zerolog/log" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/httprunner/httprunner/v5/pkg/uixt/ai" "github.com/httprunner/httprunner/v5/pkg/uixt/option" @@ -19,33 +20,24 @@ func setupWDADriverExt(t *testing.T) *XTDriver { option.WithWDAPort(8700), option.WithWDAMjpegPort(8800), option.WithWDALogOn(true)) - if err != nil { - t.Fatal(err) - } + require.Nil(t, err) driver, err := device.NewDriver() - if err != nil { - t.Fatal(err) - } + require.Nil(t, err) return NewXTDriver(driver, ai.WithCVService(ai.CVServiceTypeVEDEM)) } -func TestInstall(t *testing.T) { +func TestDevice_IOS_Install(t *testing.T) { driver := setupWDADriverExt(t) err := driver.GetDevice().Install("xxx.ipa", option.WithRetryTimes(5)) - log.Error().Err(err) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } -func TestNewIOSDevice(t *testing.T) { - device, _ := NewIOSDevice( +func TestDevice_IOS_New(t *testing.T) { + device, err := NewIOSDevice( option.WithWDAPort(8700), option.WithWDAMjpegPort(8800)) - if device != nil { - t.Log(device) - } + require.Nil(t, err) device, _ = NewIOSDevice(option.WithUDID("xxxx")) if device != nil { @@ -68,50 +60,37 @@ func TestNewIOSDevice(t *testing.T) { } } -func TestIOSDevice_GetPackageInfo(t *testing.T) { +func TestDevice_IOS_GetPackageInfo(t *testing.T) { device, err := NewIOSDevice(option.WithWDAPort(8700)) - checkErr(t, err) + require.Nil(t, err) appInfo, err := device.GetPackageInfo("com.ss.iphone.ugc.Aweme") - checkErr(t, err) + assert.Nil(t, err) t.Logf("%+v", appInfo) } func TestDriver_WDA_DeviceScaleRatio(t *testing.T) { driver := setupWDADriverExt(t) - scaleRatio, err := driver.IDriver.(*WDADriver).Scale() - if err != nil { - t.Fatal(err) - } - + require.Nil(t, err) t.Logf("%+v", scaleRatio) } func TestDriver_WDA_DeleteSession(t *testing.T) { driver := setupWDADriverExt(t) - err := driver.DeleteSession() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_HealthCheck(t *testing.T) { driver := setupWDADriverExt(t) - err := driver.IDriver.(*WDADriver).HealthCheck() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_GetAppiumSettings(t *testing.T) { driver := setupWDADriverExt(t) - settings, err := driver.IDriver.(*WDADriver).GetAppiumSettings() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) t.Logf("%+v", settings) } @@ -126,87 +105,56 @@ func TestDriver_WDA_SetAppiumSettings(t *testing.T) { // settings, err := driver.SetAppiumSettings(map[string]interface{}{"dismissAlertButtonSelector": "暂不"}) settings, err := driver.IDriver.(*WDADriver).SetAppiumSettings(map[string]interface{}{key: value}) - if err != nil { - t.Fatal(err) - } - if settings[key] != value { - t.Fatal(settings[key]) - } + assert.Nil(t, err) + assert.Equal(t, settings[key], value) } func TestDriver_WDA_IsWdaHealthy(t *testing.T) { driver := setupWDADriverExt(t) - healthy, err := driver.IDriver.(*WDADriver).IsHealthy() - if err != nil { - t.Fatal(err) - } - if !healthy { - t.Fatal("assert healthy failed") - } + assert.Nil(t, err) + assert.True(t, healthy) } func TestDriver_WDA_Status(t *testing.T) { driver := setupWDADriverExt(t) - status, err := driver.Status() - if err != nil { - t.Fatal(err) - } - if !status.Ready { - t.Fatal("assert device status failed") - } + assert.Nil(t, err) + assert.True(t, status.Ready) } func TestDriver_WDA_DeviceInfo(t *testing.T) { driver := setupWDADriverExt(t) - info, err := driver.DeviceInfo() - if err != nil { - t.Fatal(err) - } - if len(info.Model) == 0 { - t.Fatal(info) - } + assert.Nil(t, err) + assert.NotEmpty(t, info.Model) } func TestDriver_WDA_BatteryInfo(t *testing.T) { driver := setupWDADriverExt(t) - batteryInfo, err := driver.BatteryInfo() - if err != nil { - t.Fatal() - } + assert.Nil(t, err) t.Log(batteryInfo) } func TestDriver_WDA_WindowSize(t *testing.T) { driver := setupWDADriverExt(t) - size, err := driver.WindowSize() - if err != nil { - t.Fatal() - } + assert.Nil(t, err) t.Log(size) } func TestDriver_WDA_Screen(t *testing.T) { driver := setupWDADriverExt(t) - screen, err := driver.IDriver.(*WDADriver).Screen() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) t.Log(screen) } func TestDriver_WDA_Home(t *testing.T) { driver := setupWDADriverExt(t) - err := driver.Home() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_AppLaunchTerminate(t *testing.T) { @@ -214,42 +162,32 @@ func TestDriver_WDA_AppLaunchTerminate(t *testing.T) { bundleId := "com.apple.Preferences" err := driver.AppLaunch(bundleId) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) time.Sleep(2 * time.Second) _, err = driver.AppTerminate(bundleId) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_TapXY(t *testing.T) { driver := setupWDADriverExt(t) err := driver.TapXY(0.2, 0.2) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_DoubleTapXY(t *testing.T) { driver := setupWDADriverExt(t) err := driver.DoubleTapXY(0.2, 0.2) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_TouchAndHold(t *testing.T) { driver := setupWDADriverExt(t) err := driver.TouchAndHold(0.2, 0.2) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_Drag(t *testing.T) { @@ -257,28 +195,23 @@ func TestDriver_WDA_Drag(t *testing.T) { err := driver.Drag(0.8, 0.5, 0.2, 0.5, option.WithDuration(0.5)) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_Swipe(t *testing.T) { driver := setupWDADriverExt(t) err := driver.Swipe(0.8, 0.5, 0.2, 0.5) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_Input(t *testing.T) { driver := setupWDADriverExt(t) driver.StartCaptureLog("hrp_wda_log") err := driver.Input("test中文", option.WithIdentifier("test")) - result, _ := driver.StopCaptureLog() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) + result, err := driver.StopCaptureLog() + assert.Nil(t, err) t.Log(result) } @@ -286,19 +219,13 @@ func TestDriver_WDA_PressButton(t *testing.T) { driver := setupWDADriverExt(t) err := driver.IDriver.(*WDADriver).PressButton(types.DeviceButtonVolumeUp) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) time.Sleep(time.Second * 1) err = driver.IDriver.(*WDADriver).PressButton(types.DeviceButtonVolumeDown) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) time.Sleep(time.Second * 1) err = driver.IDriver.(*WDADriver).PressButton(types.DeviceButtonHome) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) } func TestDriver_WDA_ScreenShot(t *testing.T) { @@ -306,22 +233,17 @@ func TestDriver_WDA_ScreenShot(t *testing.T) { // without save file screenshot, err := driver.ScreenShot() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) _ = screenshot // save file screenshot, err = driver.ScreenShot(option.WithScreenShotFileName("123")) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) _ = screenshot path, err := saveScreenShot(screenshot, "1234") - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) + defer os.Remove(path) t.Logf("save screenshot to %s", path) } @@ -332,62 +254,44 @@ func TestDriver_WDA_Source(t *testing.T) { var err error source, err = driver.Source() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) source, err = driver.Source(option.WithFormat(option.SourceFormatJSON)) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) source, err = driver.Source(option.WithFormat(option.SourceFormatDescription)) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) source, err = driver.Source( option.WithFormat(option.SourceFormatXML), option.WithExcludedAttributes([]string{"label", "type", "index"})) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) t.Logf("source: %s", source) } func TestDriver_WDA_GetForegroundApp(t *testing.T) { driver := setupWDADriverExt(t) app, err := driver.ForegroundInfo() - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) t.Log(app) } func TestDriver_WDA_AccessibleSource(t *testing.T) { driver := setupWDADriverExt(t) - source, err := driver.IDriver.(*WDADriver).AccessibleSource() - if err != nil { - t.Fatal(err) - } - fmt.Println(source) + assert.Nil(t, err) + t.Log(source) } func TestDriver_WDA_ScreenRecord(t *testing.T) { driver := setupWDADriverExt(t) path, err := driver.ScreenRecord(5 * time.Second) - if err != nil { - t.Fatal(err) - } - println(path) + assert.Nil(t, err) + t.Log(path) } func TestDriver_WDA_Backspace(t *testing.T) { driver := setupWDADriverExt(t) - err := driver.Backspace(3) - if err != nil { - t.Fatal(err) - } + assert.Nil(t, err) }