OSS Tanbou

automate end-to-end tests for Android, iOS, and desktop apps through WebDriver-compatible APIs

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
22,040
Primary language
TypeScript
License
Apache-2.0
Repository last updated
Oct 3, 2026
On this page

Overview

Appium is a W3C WebDriver-based automation framework for Android, iOS, macOS, Windows, and other application platforms. Its core server is separated from platform-specific drivers, allowing Java, Python, Ruby, C#, and other clients to use a common WebDriver-style automation model.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Automate applications through a W3C WebDriver client/server model

Test code sends WebDriver commands to the Appium server, which delegates platform operations to a driver. Native, hybrid, mobile web, and other application types can use the same overall automation model.

Sources: [1][2]

Install only the platform drivers you need

Since Appium 2, the core server and platform drivers are separate. Drivers such as UiAutomator2 for Android or XCUITest for iOS are installed and updated individually through the Extension CLI.

Sources: [1][3]

Extend server commands and routing with plugins

Plugins extend server behavior separately from drivers and are enabled when the server starts. Teams can add commands, middleware, storage, or other capabilities without modifying core Appium.

Sources: [1][4]

Best fit

Fits cross-platform end-to-end testing for mobile and desktop apps

Appium fits teams that want one WebDriver-oriented testing strategy across Android and iOS or that want to integrate device automation into existing client libraries and CI infrastructure.

Sources: [1][2]

Before adoption

3.8.0 is stable while 4.0 remains in beta

The stable Appium package is 3.8.0, while 4.0.0-beta.2 is a prerelease. Keep stable 3.x environments separate from 4.x beta evaluation and review migration and driver compatibility before changing major versions.

Sources: [7][8]

Appium 3 requires the specified Node.js 20.19+ ranges and npm 10+

The Appium 3 package requires Node.js ^20.19.0 || ^22.12.0 || >=24.0.0 and npm 10 or newer. Align CI images and developer machines with these requirements before installing.

Sources: [6][5]

Each driver adds platform requirements such as Android SDK or Xcode

Installing the core server alone is not enough to automate a platform. Each driver requires its own SDK, toolchain, emulator or physical device setup, and operating-system permissions.

Sources: [1][5]

Official sources

  1. [1]Appium README(2026-10-03)
  2. [2]Appium introduction(2026-10-03)
  3. [3]Appium drivers(2026-10-03)
  4. [4]Appium plugins(2026-10-03)
  5. [5]Appium 3 system requirements(2026-10-03)
  6. [6]Appium package.json(2026-10-03)
  7. [7]Appium CHANGELOG(2026-10-03)
  8. [8]Appium releases(2026-10-03)
Supplemental curator note

The Appium server alone cannot automate a target platform; a compatible driver and platform SDK/toolchain are also required. Pin server, driver, SDK, and emulator/device versions as one compatibility matrix to keep test environments reproducible.

Try it in 3 steps

  1. 1

    Install Appium 3.8.0

    Install the stable release on Node.js ^20.19.0 || ^22.12.0 || >=24.0.0 with npm 10 or newer.

    npm install -g appium@3.8.0
  2. 2

    Add the UiAutomator2 driver for Android

    The Appium core cannot automate a platform by itself, so this example installs the official Android driver. Android SDK and other driver prerequisites are still required.

    appium driver install uiautomator2
  3. 3

    Start the Appium server

    If the server starts and recognizes the installed driver, the core setup is working. Creating an automation session also requires client code plus a configured device or emulator.

    appium
Check the official README

Growth

Growth trends · Last 30 days

22,040 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
63
Open PRs
8

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • appium
  • webdriver
  • android
  • ios
  • windows
  • automation
  • macos
  • test-automation
Stars
22,040
Forks
6,288
Watchers
845
Open issues
37
Contributors
354
Owner type
Organization
Primary language
TypeScript
License
Apache-2.0
Repository last updated
Oct 3, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?