Appium is an open-source automation framework for testing native, hybrid, and mobile web applications across iOS, Android, and Flutter platforms. Built on a client-server architecture using the W3C WebDriver protocol, it enables cross-platform testing from a single unified API β making it the most widely adopted mobile automation tool in 2026. Appium 3 (current as of March 2026, v3.2.2) modernizes the architecture with full W3C compliance, a built-in Inspector plugin, and tighter security. One critical insight: flaky tests are almost always caused by fragile locators or missing waits β not Appium itself. Invest in stable locator strategies and explicit waits before anything else.
What This Cheat Sheet Covers
This topic spans 35 focused tables and 296 indexed concepts, 154 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Installation and Setup
Setting up Appium 3 requires Node.js 20+ and npm 10+; the global install flow is identical to earlier versions, but driver and plugin management are now essential first steps. Each driver ships with its own appium driver doctor diagnostic tool, replacing the deprecated standalone appium-doctor package.
| Component | Example | Description | |
|---|---|---|---|
node -vnpm -v | Required prerequisite for Appium β Appium 3 requires Node.js v20.19.0+ and npm 10+. | ||
npm install -g appium | β’ Installs the Appium server globally β’ run appium --version to confirm | ||
appium | β’ Launches on default port 4723 β’ server must be running before starting tests | ||
appium driver install uiautomator2appium driver install xcuitest | Appium 2+ requires separate driver installation β install only the platforms you need. | ||
appium driver install --drivers=uiautomator2,xcuitest,espresso | Installs multiple drivers in one command β UiAutomator2, XCUITest, and Espresso. | ||
appium driver list --installed | Shows all installed drivers and their versions. | ||
appium driver update uiautomator2 | β’ Updates a specific driver β’ also run appium driver update --all after upgrading Appium itself | ||
appium driver doctor uiautomator2 | Built-in diagnostics per driver β replaces the deprecated standalone appium-doctor package. | ||
appium plugin install inspectorappium --use-plugins=inspector | β’ Appium 3 feature β host Appium Inspector directly from the server via browser β’ no desktop app needed | ||
Download from GitHub Releases | β’ Standalone GUI tool for inspecting elements β’ available for macOS, Windows, Linux | ||
npx appium-installer | WebDriverIO's guided setup wizard β walks through environment setup for Android or iOS interactively. |