appclawhq/AppClaw Mobile Tests
Run mobile UI automation flows and AI-driven goals in CI — Android emulator, iOS simulator, or LambdaTest cloud devices.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 10, 2026
- License
- Apache 2.0
Pinned Snippet
uses: appclawhq/appclaw@d5162d69e3e80890dc9b717d58ece21c00675882 # v2.0.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| flow | Path to a YAML flow file (mutually exclusive with goal) | no | "" |
| goal | Natural language goal for the LLM agent (mutually exclusive with flow) | no | "" |
| platform | Target platform: android or ios | no | android |
| provider | LLM provider: gemini, anthropic, openai, groq | no | gemini |
| api-key | LLM API key — passed to AppClaw as LLM_API_KEY | yes | — |
| model | LLM model ID to use (e.g. gemini-2.0-flash, claude-3-5-haiku-20241022). Defaults to the provider built-in. | no | "" |
| agent-mode | Interaction strategy: dom (element locators) or vision (screenshot AI) | no | dom |
| max-steps | Maximum agent steps before the run is marked failed. Default: 30 | no | 30 |
| step-delay | Delay in milliseconds between steps. Default: 500 | no | 500 |
| mcp-debug | Enable MCP debug logging (MCP_DEBUG=1). Default: false | no | false |
| mcp-timeout-ms | MCP request timeout in milliseconds. Default: 300000 | no | 300000 |
| llm-thinking | Enable LLM extended thinking: on or off. Default: off | no | off |
| ios-device-type | iOS device type: simulator or real. Default: simulator | no | simulator |
| device-udid | Explicit device/simulator UDID to target. Leave empty to let AppClaw auto-detect. | no | "" |
| ios-simulator-name | iOS simulator device model to boot (e.g. "iPhone 16", "iPhone 15 Pro"). Default: iPhone 16 | no | iPhone 16 |
| ios-simulator-os | iOS version to use when multiple runtimes are available (e.g. "18.4", "17.5"). Default: latest available | no | "" |
| android-api-level | Android emulator API level. Default: 33 (Android 13) | no | 33 |
| android-profile | Android AVD hardware profile. Default: pixel_6 | no | pixel_6 |
| android-target | Emulator system image target: default or google_apis | no | default |
| android-arch | Emulator CPU architecture: x86_64 or x86. Default: x86_64 (required for API 31+) | no | x86_64 |
| cloud-provider | Cloud device provider: lambdatest. Leave empty for local emulator/simulator (default). | no | "" |
| lambdatest-username | LambdaTest account username (required when cloud-provider=lambdatest) | no | "" |
| lambdatest-access-key | LambdaTest access key (required when cloud-provider=lambdatest) | no | "" |
| lambdatest-device-name | Cloud device name, e.g. "Pixel 7" or "iPhone 14" (required when cloud-provider=lambdatest) | no | "" |
| lambdatest-os-version | Cloud OS version, e.g. "13" for Android or "16" for iOS (required when cloud-provider=lambdatest) | no | "" |
| lambdatest-app | LambdaTest app ID (lt://APP...) — the app to test on the cloud device | no | "" |
| report | Upload HTML report as a workflow artifact after the run. Default: true | no | true |
| report-name | Name of the uploaded artifact. Default: appclaw-report | no | appclaw-report |
| appclaw-version | AppClaw npm package version to install. Default: latest | no | latest |
| use-local-build | Build and install AppClaw from the checked-out source instead of npm. Use in PRs to test local changes. | no | false |
Outputs
| name | description |
|---|---|
| report-path | Path to the generated .appclaw/runs/<id>/ report directory |