diff --git a/internal/version/VERSION b/internal/version/VERSION index 9be87ef0..6e551f54 100644 --- a/internal/version/VERSION +++ b/internal/version/VERSION @@ -1 +1 @@ -v5.0.0-beta-2505121525 +v5.0.0-beta-2505121727 diff --git a/uixt/android_driver_adb.go b/uixt/android_driver_adb.go index 80493956..2543cf91 100644 --- a/uixt/android_driver_adb.go +++ b/uixt/android_driver_adb.go @@ -266,15 +266,11 @@ func (ad *ADBDriver) PressKeyCode(keyCode KeyCode, metaState KeyMeta) (err error return } -func (ad *ADBDriver) AppLaunch(packageName string, opts ...option.ActionOption) (err error) { +func (ad *ADBDriver) AppLaunch(packageName string) (err error) { log.Info().Str("packageName", packageName).Msg("ADBDriver.AppLaunch") // 不指定 Activity 名称启动(启动主 Activity) // adb shell monkey -p -c android.intent.category.LAUNCHER 1 - actionOptions := option.NewActionOptions(opts...) - preHandler_AppLaunch(ad, actionOptions) - defer postHandler(ad, actionOptions) - sOutput, err := ad.runShellCommand( "monkey", "-p", packageName, "-c", "android.intent.category.LAUNCHER", "1", ) @@ -289,15 +285,10 @@ func (ad *ADBDriver) AppLaunch(packageName string, opts ...option.ActionOption) return nil } -func (ad *ADBDriver) AppTerminate(packageName string, opts ...option.ActionOption) (successful bool, err error) { +func (ad *ADBDriver) AppTerminate(packageName string) (successful bool, err error) { log.Info().Str("packageName", packageName).Msg("ADBDriver.AppTerminate") // 强制停止应用,停止 相关的进程 // adb shell am force-stop - - actionOptions := option.NewActionOptions(opts...) - preHandler_AppTerminate(ad, actionOptions) - defer postHandler(ad, actionOptions) - _, err = ad.runShellCommand("am", "force-stop", packageName) if err != nil { return false, errors.Wrap(err, "force-stop app failed") @@ -551,7 +542,7 @@ func (ad *ADBDriver) SendKeysByAdbKeyBoard(text string) (err error) { return } -func (ad *ADBDriver) AppClear(packageName string, opts ...option.ActionOption) error { +func (ad *ADBDriver) AppClear(packageName string) error { log.Info().Str("packageName", packageName).Msg("ADBDriver.AppClear") if _, err := ad.runShellCommand("pm", "clear", packageName); err != nil { log.Error().Str("packageName", packageName).Err(err).Msg("failed to clear package cache") diff --git a/uixt/browser_driver.go b/uixt/browser_driver.go index 81933236..044f3fb9 100644 --- a/uixt/browser_driver.go +++ b/uixt/browser_driver.go @@ -138,11 +138,7 @@ func (wd *BrowserDriver) Drag(fromX, fromY, toX, toY float64, options ...option. return } -func (wd *BrowserDriver) AppLaunch(packageName string, opts ...option.ActionOption) (err error) { - actionOptions := option.NewActionOptions(opts...) - preHandler_AppLaunch(wd, actionOptions) - defer postHandler(wd, actionOptions) - +func (wd *BrowserDriver) AppLaunch(packageName string) (err error) { data := map[string]interface{}{ "url": packageName, } @@ -465,11 +461,7 @@ func (wd *BrowserDriver) Unlock() (err error) { // AppTerminate Terminate an application with the given package name. // Either `true` if the app has been successfully terminated or `false` if it was not running -func (wd *BrowserDriver) AppTerminate(packageName string, opts ...option.ActionOption) (bool, error) { - actionOptions := option.NewActionOptions(opts...) - preHandler_AppTerminate(wd, actionOptions) - defer postHandler(wd, actionOptions) - +func (wd *BrowserDriver) AppTerminate(packageName string) (bool, error) { return true, wd.DeleteSession() } @@ -482,7 +474,7 @@ func (wd *BrowserDriver) Back() error { return wd.PressBack() } -func (wd *BrowserDriver) AppClear(packageName string, opts ...option.ActionOption) error { +func (wd *BrowserDriver) AppClear(packageName string) error { return errors.New("not support") } diff --git a/uixt/driver.go b/uixt/driver.go index 5a6e7420..72d5ab06 100644 --- a/uixt/driver.go +++ b/uixt/driver.go @@ -69,9 +69,9 @@ type IDriver interface { Backspace(count int, opts ...option.ActionOption) error // app related - AppLaunch(packageName string, opts ...option.ActionOption) error - AppTerminate(packageName string, opts ...option.ActionOption) (bool, error) - AppClear(packageName string, opts ...option.ActionOption) error + AppLaunch(packageName string) error + AppTerminate(packageName string) (bool, error) + AppClear(packageName string) error // image related PushImage(localPath string) error diff --git a/uixt/driver_action.go b/uixt/driver_action.go index 767e27e4..aa63a211 100644 --- a/uixt/driver_action.go +++ b/uixt/driver_action.go @@ -145,13 +145,13 @@ func (dExt *XTDriver) DoAction(action MobileAction) (err error) { } case ACTION_AppClear: if packageName, ok := action.Params.(string); ok { - if err = dExt.AppClear(packageName, action.GetOptions()...); err != nil { + if err = dExt.AppClear(packageName); err != nil { return errors.Wrap(err, "failed to clear app") } } case ACTION_AppLaunch: if bundleId, ok := action.Params.(string); ok { - return dExt.AppLaunch(bundleId, action.GetOptions()...) + return dExt.AppLaunch(bundleId) } return fmt.Errorf("invalid %s params, should be bundleId(string), got %v", ACTION_AppLaunch, action.Params) @@ -177,7 +177,7 @@ func (dExt *XTDriver) DoAction(action MobileAction) (err error) { return fmt.Errorf("invalid %s params: %v", ACTION_SwipeToTapTexts, action.Params) case ACTION_AppTerminate: if bundleId, ok := action.Params.(string); ok { - success, err := dExt.AppTerminate(bundleId, action.GetOptions()...) + success, err := dExt.AppTerminate(bundleId) if err != nil { return errors.Wrap(err, "failed to terminate app") } diff --git a/uixt/driver_handler.go b/uixt/driver_handler.go index 640b20eb..d8399429 100644 --- a/uixt/driver_handler.go +++ b/uixt/driver_handler.go @@ -114,13 +114,5 @@ func preHandler_Swipe(driver IDriver, options *option.ActionOptions, rawFomX, ra return fromX, fromY, toX, toY, nil } -func preHandler_AppLaunch(_ IDriver, options *option.ActionOptions) (err error) { - return nil -} - -func preHandler_AppTerminate(_ IDriver, options *option.ActionOptions) (err error) { - return nil -} - func postHandler(_ IDriver, options *option.ActionOptions) { } diff --git a/uixt/harmony_driver_hdc.go b/uixt/harmony_driver_hdc.go index 0719d33f..c12b831d 100644 --- a/uixt/harmony_driver_hdc.go +++ b/uixt/harmony_driver_hdc.go @@ -119,22 +119,13 @@ func (hd *HDCDriver) Unlock() (err error) { return hd.Swipe(500, 1500, 500, 500) } -func (hd *HDCDriver) AppLaunch(packageName string, opts ...option.ActionOption) error { - actionOptions := option.NewActionOptions(opts...) - preHandler_AppLaunch(hd, actionOptions) - defer postHandler(hd, actionOptions) - +func (hd *HDCDriver) AppLaunch(packageName string) error { // Todo return types.ErrDriverNotImplemented } -func (hd *HDCDriver) AppTerminate(packageName string, opts ...option.ActionOption) (bool, error) { +func (hd *HDCDriver) AppTerminate(packageName string) (bool, error) { log.Info().Str("packageName", packageName).Msg("HDCDriver.AppTerminate") - - actionOptions := option.NewActionOptions(opts...) - preHandler_AppTerminate(hd, actionOptions) - defer postHandler(hd, actionOptions) - _, err := hd.Device.RunShellCommand("aa", "force-stop", packageName) if err != nil { log.Error().Err(err).Msg("failed to terminal app") @@ -223,7 +214,7 @@ func (hd *HDCDriver) Input(text string, opts ...option.ActionOption) error { return hd.uiDriver.InputText(text) } -func (hd *HDCDriver) AppClear(packageName string, opts ...option.ActionOption) error { +func (hd *HDCDriver) AppClear(packageName string) error { return types.ErrDriverNotImplemented } diff --git a/uixt/ios_driver_wda.go b/uixt/ios_driver_wda.go index 300c405d..f90406d5 100644 --- a/uixt/ios_driver_wda.go +++ b/uixt/ios_driver_wda.go @@ -491,14 +491,10 @@ func (wd *WDADriver) AlertSendKeys(text string) (err error) { return } -func (wd *WDADriver) AppLaunch(bundleId string, opts ...option.ActionOption) (err error) { +func (wd *WDADriver) AppLaunch(bundleId string) (err error) { log.Info().Str("bundleId", bundleId).Msg("WDADriver.AppLaunch") // [[FBRoute POST:@"/wda/apps/launch"] respondWithTarget:self action:@selector(handleSessionAppLaunch:)] - actionOptions := option.NewActionOptions(opts...) - preHandler_AppLaunch(wd, actionOptions) - defer postHandler(wd, actionOptions) - data := make(map[string]interface{}) data["bundleId"] = bundleId data["environment"] = map[string]interface{}{ @@ -525,14 +521,9 @@ func (wd *WDADriver) AppLaunchUnattached(bundleId string) (err error) { return nil } -func (wd *WDADriver) AppTerminate(bundleId string, opts ...option.ActionOption) (successful bool, err error) { +func (wd *WDADriver) AppTerminate(bundleId string) (successful bool, err error) { log.Info().Str("bundleId", bundleId).Msg("WDADriver.AppTerminate") // [[FBRoute POST:@"/wda/apps/terminate"] respondWithTarget:self action:@selector(handleSessionAppTerminate:)] - - actionOptions := option.NewActionOptions(opts...) - preHandler_AppTerminate(wd, actionOptions) - defer postHandler(wd, actionOptions) - data := map[string]interface{}{"bundleId": bundleId} var rawResp DriverRawResponse urlStr := fmt.Sprintf("/session/%s/wda/apps/terminate", wd.Session.ID) @@ -744,7 +735,7 @@ func (wd *WDADriver) Backspace(count int, opts ...option.ActionOption) (err erro return } -func (wd *WDADriver) AppClear(packageName string, opts ...option.ActionOption) error { +func (wd *WDADriver) AppClear(packageName string) error { return types.ErrDriverNotImplemented }