appium /appium

Cross-platform automation framework for all kinds of apps, built on top of the W3C WebDriver protocol

★ 22,206⑂ 6,307
TypeScriptCreated 2013-01-09appium.io/
22,206
stars
+28+32+161
6,307
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

Cross-platform test automation for native, hybrid, mobile web and desktop apps.















   Documentation |
   Get Started |
   Ecosystem |
   Changelog |
   Contributing Guide |
   Discussion Forum




Appium is an open-source automation framework that provides
WebDriver-based automation possibilities for a wide range of
different mobile, desktop and IoT platforms. Appium is modular and extensible, and supports multiple
programming languages, which means there is an entire ecosystem of related software:
 __Drivers__ add support for automating specific platforms
 __Clients__ allow writing Appium tests in your programming language of choice
 __Plugins__ allow to further extend Appium functionality

 Upgrading From Older Versions

The Appium team only provides support for the most recent version of Appium. If you wish to upgrade from
an older major Appium version, please refer to the migration guides:

 Appium v2 to v3
 Appium v1 to v2

 Installation

Appium can be installed using npm (other package managers are not currently supported). Please
check the installation docs for the
system requirements and further information.

If upgrading from Appium 1, make sure Appium 1 is fully uninstalled (npm uninstall -g appium).
Unexpected errors might appear if this has not been done.

bash
npm i -g appium


Note that this will only install the core Appium server, which cannot automate anything on its own.
Please install drivers for your target platforms in order to automate them.

 Drivers

Appium supports app automation across a variety of platforms, like iOS, Android, macOS, Windows,
and more. Each platform is supported by one or more "drivers", which know how to automate that
particular platform. You can find a full list of officially-supported and third-party drivers in
Appium Ecosystem's Drivers page.

Driver management is done using Appium's Extension command-line interface:

bash
 Install an official driver from npm (see documentation for a list of such drivers)
appium driver install 
 Install any driver from npm
appium driver install --source=npm 
 See documentation for installation from other sources

 List already installed drivers
appium driver list --installed
 Update a driver (it must be already installed)
 This will NOT update the major version, in order to prevent breaking changes
appium driver update 
 Update a driver to the most recent version (may include breaking changes)
appium driver update  --unsafe
 Uninstall a driver (it won't last forever, will it?)
appium driver uninstall 


 Clients

Client libraries enable writing Appium tests in different programming languages. There are
officially-supported clients for Java, Python, Ruby, and .NET C, as well as third-party clients
for other languages. You can find a full list of clients in
Appium Ecosystem's Clients page.

 Plugins

Plugins allow you to extend server functionality without changing the server code. The main
difference between drivers and plugins is that the latter must be 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON