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. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
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. |