Your one-stop CLI for setting up Appium 2.0
Install the server, drivers, plugins, configure environments, manage devices — all from a single interactive menu.
- Prerequisites
- Installation
- Quick Start
- Features
- Platform Support
- Local Development
- Contributing
- License
- Node.js 16 or later
npm install -g appium-installerRun the installer:
appium-installerAn interactive menu appears with everything you need:
╔═╗ ╔═╗ ╔═╗ ╦ ╦ ╔╦╗
╠═╣ ╠═╝ ╠═╝ ║ ║ ║║║
╩ ╩ ╩ ╩ ╩ ╚═╝╩ ╩
╦ ╔╗╔ ╔═╗ ╔╦╗ ╔═╗ ╦ ╦ ╔═╗ ╦═╗
║ ║║║ ╚═╗ ║ ╠═╣ ║ ║ ║╣ ╠╦╝
╩ ╝╚╝ ╚═╝ ╩ ╩ ╩ ╩═╝╩═╝╚═╝ ╩╚═
What would you like to do?
❯ Setup Android Environment
Setup iOS Environment
Quick Setup Profiles
────── Install & Configure ──────
Install Appium Server
Install Appium Drivers
Install Appium Plugins
────── Diagnostics & Tools ──────
Run Appium Doctor
Show Environment Status
Check for Updates
────── Devices ─────────────────
Launch Emulators/Simulators
Device Manager
Exit
Navigate with arrow keys, press Enter to select. The menu loops until you choose Exit, so you can perform multiple tasks in a single session.
Get a fully working Appium environment in one step. Pick a profile and the installer handles the rest — server, drivers, environment setup, and diagnostics.
| Profile | What it installs |
|---|---|
| Android Testing | Appium Server (latest) + UiAutomator2 driver + Android environment + Appium Doctor |
| iOS Testing | Appium Server (latest) + XCUITest driver + iOS environment + Appium Doctor (macOS only) |
| Full Mobile Testing | Everything above — Android + iOS combined (adapts to your OS) |
| Web on Mobile | Appium Server (latest) + Chromium driver + Gecko driver |
Each profile runs step-by-step with progress indicators and a summary at the end showing which steps passed or failed.
Install the Appium 2.0 server globally via npm. You get two options:
- Latest version — installs the most recent stable release
- Custom version — enter a specific version number (validated against the npm registry)
? Choose your version:
❯ Select latest Server version
Select custom Server version
Install one or more official Appium 2.0 drivers. The tool fetches the list of available drivers from your Appium installation and presents them as checkboxes.
Supported drivers include:
uiautomator2— Android UIAutomator2xcuitest— iOS XCUITestespresso— Android Espressosafari— Safari (iOS)gecko— Firefox / Geckochromium— Chrome / Chromiummac2— macOS
For each selected driver you choose between latest or a custom version (validated against the driver's npm package).
Select from 13 community and official plugins:
appium-device-farmappium-wait-pluginappium-dashboardappium-gestures-pluginappium-reporter-plugin@appium/images-plugin@appium/relaxed-caps-plugin@appium/execute-driver-pluginappium-element-flashappium-ocr-pluginappium-altunity-pluginappium-ddlog-pluginappium-otel-plugin
Installation sources:
| Source | Description |
|---|---|
npm |
Install from npm registry (default) |
github |
Install from a GitHub repository |
git |
Install from any git URL |
local |
Install from a local file path |
If a selected plugin is already installed, the tool checks for updates and applies them automatically.
Uses @nightwatch/mobile-helper to walk you through configuring:
- Android SDK
- Java / JDK
- Environment variables (
ANDROID_HOME,JAVA_HOME) - Android emulators
Works on macOS, Windows, and Linux.
(macOS only)
Configures everything needed for iOS testing:
- Xcode and Xcode Command Line Tools
- iOS Simulators
- Real device dependencies
Runs the built-in appium-doctor diagnostics for your chosen platform:
? Select platform:
❯ android
ios
dev
- android — checks Android SDK, Java,
ANDROID_HOME, ADB, etc. - ios — checks Xcode, simulators, WebDriverAgent, Carthage, etc.
- dev — general developer environment checks
A single-screen health check that shows everything at a glance:
- System — Appium Server, Node.js, Java, and Xcode versions
- Environment Variables —
ANDROID_HOMEandJAVA_HOMEstatus - Installed Drivers — names and versions
- Installed Plugins — names and versions
- Connected Devices — Android devices via ADB and booted iOS simulators
- Health bar — overall pass/fail count (e.g.
6/7 checks passing)
Scans your installed Appium components and tells you what's outdated:
- Appium Server
- All installed drivers
- All installed plugins
You can interactively confirm which updates to apply.
Quickly boot an emulator or simulator without leaving the terminal:
- Lists all available Android AVDs and iOS simulators
- Select one and it launches in the background
- Platform-aware: on macOS you see both Android and iOS options; on Windows/Linux, Android only
A full device control panel with a persistent loop:
📱 Device Manager
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
● 2 running ○ 3 available | Android 3 iOS 2
# Name Platform OS Status ID
─────────────────────────────────────────────────────────
1 Pixel_7 Android - ● Online emulator-5554
2 iPhone 15 Pro iOS 17.2 ● Booted A1B2C3D4...
3 Pixel_6a Android - ○ Ready -
...
Actions:
- Launch a device — boot a stopped emulator or simulator
- Shutdown a device — stop a running emulator or simulator
- Launch multiple devices — select several devices to boot at once
- Refresh — rescan for device changes
- Back — return to the main menu
| Feature | macOS | Windows | Linux |
|---|---|---|---|
| Install Appium Server | Yes | Yes | Yes |
| Install Drivers & Plugins | Yes | Yes | Yes |
| Setup Android Environment | Yes | Yes | Yes |
| Setup iOS Environment | Yes | -- | -- |
| Android Emulators | Yes | Yes | Yes |
| iOS Simulators | Yes | -- | -- |
| Device Manager | Yes | Yes* | Yes* |
| Quick Setup — Android | Yes | Yes | Yes |
| Quick Setup — iOS | Yes | -- | -- |
| Quick Setup — Full Mobile | Yes (Android + iOS) | Android only | Android only |
* Android devices only on Windows/Linux
# Clone and install dependencies
git clone https://github.com/AppiumTestDistribution/appium-installer.git
cd appium-installer
npm install
# Build and link
npm run build
npm link
# Now you can run
appium-installerAvailable scripts:
| Script | Description |
|---|---|
npm run compile |
Compile src/ to dist/ via Babel |
npm run clean |
Remove dist/, coverage/, and .tmp/ |
npm run prettier |
Format source files with Prettier |
Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository.
ISC
