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 GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 10, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: appclawhq/appclaw@d5162d69e3e80890dc9b717d58ece21c00675882 # v2.0.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
flowPath to a YAML flow file (mutually exclusive with goal)no""
goalNatural language goal for the LLM agent (mutually exclusive with flow)no""
platformTarget platform: android or iosnoandroid
providerLLM provider: gemini, anthropic, openai, groqnogemini
api-keyLLM API key — passed to AppClaw as LLM_API_KEYyes
modelLLM model ID to use (e.g. gemini-2.0-flash, claude-3-5-haiku-20241022). Defaults to the provider built-in.no""
agent-modeInteraction strategy: dom (element locators) or vision (screenshot AI)nodom
max-stepsMaximum agent steps before the run is marked failed. Default: 30no30
step-delayDelay in milliseconds between steps. Default: 500no500
mcp-debugEnable MCP debug logging (MCP_DEBUG=1). Default: falsenofalse
mcp-timeout-msMCP request timeout in milliseconds. Default: 300000no300000
llm-thinkingEnable LLM extended thinking: on or off. Default: offnooff
ios-device-typeiOS device type: simulator or real. Default: simulatornosimulator
device-udidExplicit device/simulator UDID to target. Leave empty to let AppClaw auto-detect.no""
ios-simulator-nameiOS simulator device model to boot (e.g. "iPhone 16", "iPhone 15 Pro"). Default: iPhone 16noiPhone 16
ios-simulator-osiOS version to use when multiple runtimes are available (e.g. "18.4", "17.5"). Default: latest availableno""
android-api-levelAndroid emulator API level. Default: 33 (Android 13)no33
android-profileAndroid AVD hardware profile. Default: pixel_6nopixel_6
android-targetEmulator system image target: default or google_apisnodefault
android-archEmulator CPU architecture: x86_64 or x86. Default: x86_64 (required for API 31+)nox86_64
cloud-providerCloud device provider: lambdatest. Leave empty for local emulator/simulator (default).no""
lambdatest-usernameLambdaTest account username (required when cloud-provider=lambdatest)no""
lambdatest-access-keyLambdaTest access key (required when cloud-provider=lambdatest)no""
lambdatest-device-nameCloud device name, e.g. "Pixel 7" or "iPhone 14" (required when cloud-provider=lambdatest)no""
lambdatest-os-versionCloud OS version, e.g. "13" for Android or "16" for iOS (required when cloud-provider=lambdatest)no""
lambdatest-appLambdaTest app ID (lt://APP...) — the app to test on the cloud deviceno""
reportUpload HTML report as a workflow artifact after the run. Default: truenotrue
report-nameName of the uploaded artifact. Default: appclaw-reportnoappclaw-report
appclaw-versionAppClaw npm package version to install. Default: latestnolatest
use-local-buildBuild and install AppClaw from the checked-out source instead of npm. Use in PRs to test local changes.nofalse
namedescription
report-pathPath to the generated .appclaw/runs/<id>/ report directory