diff --git a/internal/version/VERSION b/internal/version/VERSION index 799592cc..333d36aa 100644 --- a/internal/version/VERSION +++ b/internal/version/VERSION @@ -1 +1 @@ -v5.0.0-250809 +v5.0.0-250811 diff --git a/step.go b/step.go index 636d497b..6e0f23cf 100644 --- a/step.go +++ b/step.go @@ -67,6 +67,7 @@ type ActionResult struct { Plannings []*uixt.PlanningExecutionResult `json:"plannings,omitempty"` // store planning results for start_to_goal actions, which contains multiple sub-actions AIResult *uixt.AIExecutionResult `json:"ai_result,omitempty"` // store unified AI execution result for ai_query/ai_action/ai_assert actions uixt.SessionData // store session data for other actions besides start_to_goal + ExtraData interface{} `json:"extra_data,omitempty"` } // one testcase contains one or multiple steps diff --git a/step_ui.go b/step_ui.go index ae4a6233..43e4c2e1 100644 --- a/step_ui.go +++ b/step_ui.go @@ -1070,6 +1070,19 @@ func runStepMobileUI(s *SessionRunner, step IStep) (stepResult *StepResult, err } continue } + if action.Method == option.ACTION_GetPasteboard { + content, err := uiDriver.GetPasteboard() + if err != nil { + actionResult.Error = err.Error() + if !code.IsErrorPredefined(err) { + err = errors.Wrap(code.MobileUIDriverError, err.Error()) + } + return stepResult, err + } + actionResult.ExtraData = content + stepResult.Actions = append(stepResult.Actions, actionResult) + continue + } // handle other non-AI actions sessionData, err := uiDriver.ExecuteAction(ctx, action)