refactor:

1, add options for AppLaunch/AppTerminate/AppClear;
2, add pre hook and post hook for AppLaunch/AppTerminate action
This commit is contained in:
lilong.129
2025-05-09 23:30:35 +08:00
parent 2a13594e3d
commit 4a2276c7f0
7 changed files with 69 additions and 16 deletions

View File

@@ -119,13 +119,22 @@ func (hd *HDCDriver) Unlock() (err error) {
return hd.Swipe(500, 1500, 500, 500)
}
func (hd *HDCDriver) AppLaunch(packageName string) error {
func (hd *HDCDriver) AppLaunch(packageName string, opts ...option.ActionOption) error {
actionOptions := option.NewActionOptions(opts...)
preHandler_AppLaunch(hd, actionOptions)
defer postHandler(hd, actionOptions)
// Todo
return types.ErrDriverNotImplemented
}
func (hd *HDCDriver) AppTerminate(packageName string) (bool, error) {
func (hd *HDCDriver) AppTerminate(packageName string, opts ...option.ActionOption) (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")
@@ -214,7 +223,7 @@ func (hd *HDCDriver) Input(text string, opts ...option.ActionOption) error {
return hd.uiDriver.InputText(text)
}
func (hd *HDCDriver) AppClear(packageName string) error {
func (hd *HDCDriver) AppClear(packageName string, opts ...option.ActionOption) error {
return types.ErrDriverNotImplemented
}