Power Your Software Testing with AI Agents and Cloud
The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. Test Intelligently and Ship Faster.
- TestMu AI (Formerly LambdaTest)
- /
- Blog
- /
- Mobile Automation in Kane CLI: iOS and Android Runs
Mobile Automation in Kane CLI: iOS and Android Runs
Kane CLI drives iOS Simulators and Android Emulators from plain English objectives. See the setup command, the device flags, and the evidence each run seals.
Published on:
You finish a checkout screen on an Android build, and the only way to know it works is to boot an emulator, install the APK, and tap through it yourself. The web half of that problem was already solved: you write an objective in plain English and Kane CLI drives Chrome and returns a verdict. The mobile half meant a different stack.
Kane CLI now takes the same objective and points it at an iOS Simulator or an Android Emulator. Mobile arrived as a target in v0.8.1 and became fully wired in v0.8.7, which is when devices started resolving by name and OS version and mobile replay began emitting evidence on every step.
The Three Kane CLI Run Targets
A mobile run drives an app installed on a virtual device on your machine. You pass a build with --app, Kane CLI boots the device, installs it, and runs your objective against it. The same perception, accessibility-tree inspection, vision grounding, and code generation it uses on web pages are all platform-aware.
Three targets exist, and the flag value is what you type:
| Target | What it drives | Build format for --app |
|---|---|---|
| desktop | A real Chrome browser on your machine. This is the default target and it is unchanged. | Not used. The --app and device flags are ignored on desktop. |
| simulator | The iOS Simulator, reached through the simctl tool that ships with Xcode. | A .zip of the .app bundle, or an APP id from a previous upload. |
| emulator | The Android Emulator, resolved from the SDK rather than from PATH alone. | An .apk, or an APP id from a previous upload. |
WebViews inside the app under test are handled in the same run, so a hybrid screen does not need you to script a switch between native and web content. Both mobile targets require macOS on Apple Silicon, and real hardware stays with the broader TestMu AI platform rather than the local CLI. If your coverage question is about real devices instead of virtual ones, the real device cloud runs 10,000+ real Android and iOS devices.
Setting Up a Simulator or Emulator
One command per target pulls the tooling Kane CLI manages for that toolchain:
kane-cli doctor --target simulator --installDrop --install and the same command becomes a read-only check that prints one line per requirement with its fix. The --target flag is mandatory and singular, which is easy to forget. Running it bare on v0.8.13 gives you the exact correction rather than a guess:
$ kane-cli doctor
error: --target is required - say which toolchain to check.
kane-cli doctor --target emulator
kane-cli doctor --target simulatorKane CLI manages its own test tooling, not the platform SDK. You still bring the platform pieces:
- Xcode 16 or newer - it bundles the iOS Simulator, the simctl tool, and at least one iOS runtime. Point the developer directory at the full Xcode install, not the standalone Command Line Tools, or simctl will not resolve.
- An arm64-v8a AVD - create one in Android Studio Device Manager. An x86 or x86_64 image on Apple Silicon boots extremely slowly or hangs, and Intel HAXM is not needed because Apple Silicon uses the built-in Hypervisor framework.
- Kane CLI discovers the device, boots it, and installs your build from there. You never run adb or boot a simulator by hand.
Once the toolchain is ready, two list commands confirm what you can target. Full flag coverage lives in the Kane CLI mobile testing docs.
kane-cli devices list --target emulator # devices on this machine
kane-cli apps list --target simulator # uploaded builds, with the APP ID columnNote: Mobile virtual devices cover the build on your laptop. When you need the same flow on real hardware across Android and iOS, TestMu AI runs it on 10,000+ real devices. Try TestMu AI free!
Running Your First Mobile Objective
The objective is the same shape you already write for web. You describe the outcome and let the agent resolve the path:
kane-cli run "Place an order for a smartwatch and verify the confirmation screen" \
--target simulator \
--app ./builds/MyApp.zip \
--device-name "iPhone 15" --os-version 17Devices resolve by human-readable name and OS version, which is the v0.8.7 change that made mobile usable day to day. There are no capability files. That address is written into the test.md file, so a later replay targets the same device rather than whatever happens to be booted.
Two details matter in a non-interactive run such as CI. A device must already be set with the device flags or with kane-cli config set-device-name, or the run exits and prints the fix instead of guessing. And mobile code export is Appium Python only, so passing --language javascript on a mobile export fails immediately with a clear message rather than producing broken output. For the replayable-test format these runs write, see Test.md.
Evidence From a Mobile Run
Every Kane CLI run seals an evidence pack, and mobile replay emits evidence on each step exactly as web runs do. What is mobile-specific sits in the run environment and the logs:
- The run environment records the device - the device model and OS version are stored in the result summary, so a verdict is tied to what it ran on.
- Device logs join the per-step logs - output from the emulator or simulator sits alongside the usual run logs. Since v0.8.7 the noisy tags are filtered out, leaving the signal.
The pack is a sealed directory saved under .testmuai/evidence/ in your project, holding results, per-step screenshots with annotated copies, a HAR network log, console output, and the failure record. You open it locally with kane-cli evidence serve, and nothing is uploaded to do so. Because it is a file you keep, it can be diffed in git rather than expiring on a third-party retention timer.
Mobile and Web Run Differences
Most of what you know carries over. These are the differences worth knowing before your first run:
| Area | Web run (desktop) | Mobile run (simulator or emulator) |
|---|---|---|
| Setup | Chrome on the machine. Kane CLI bundles its own Node 24 runtime. | A one-time doctor --install per target, plus Xcode 16+ or an arm64-v8a AVD. |
| Host requirement | Runs on the platforms Chrome runs on. | macOS on Apple Silicon only. |
| Code export | Exports to native Playwright code. | Appium Python only. A JavaScript export is refused up front. |
| Evidence | Screenshots, HAR network log, console output, failure record. | The same pack, plus device logs and the device model and OS version. |
If you are weighing virtual devices against a framework-first approach, the tradeoffs in Appium vs Detox still apply to what you maintain, and what an emulator is covers where a virtual device stops representing real hardware.
Start Running Mobile Objectives
Install the CLI, sign in, and pull the toolchain for whichever target you want first:
npm install -g @testmuai/kane-cli
kane-cli login
kane-cli doctor --target simulator --installPoint your first objective at a build you already have, then read the sealed pack to see what the agent acted on. Full command and flag coverage is in the Kane CLI product page and the mobile testing docs.
Author
Bhawana is a Community Evangelist at TestMu AI with over 3 years of experience creating technically accurate, strategy-driven content in software testing. She has authored 50+ blogs on test automation, cross-browser testing, mobile testing, and real device testing. She also serves as Product Marketing Manager for Kane CLI, the command-line tool that runs browser automation from the terminal using natural-language flows in a real Chrome browser. Bhawana is certified in KaneAI, Selenium, Appium, Playwright, and Cypress, reflecting her hands-on knowledge of modern automation practices. On LinkedIn, she is followed by 6000+ QA engineers, testers, AI automation testers, and tech leaders.
Kane CLI Mobile FAQs
Did you find this page helpful?
More Related Blogs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance
- Advanced access controls
- Advanced data retention rules
- Advanced Local Testing
- Premium Support options
- Early access to beta features
- Private Slack Channel
- Unlimited Manual Accessibility DevTools Tests




