The Appium Ecosystem
Appium has an ecosystem of related software and tools. In this guide we'll discuss important officially-supported and community-supported projects.
Appium Inspector
Appium has a graphical client which can be used to manually perform Appium commands, inspect app hierarchies, view screenshots, and more. It's very useful for Appium test development. You can learn more about the inspector here: Appium Inspector
Drivers
You can't use Appium without at least one driver! Here are the drivers that are currently maintained by the Appium team. Click on the link for each driver to see the specific installation instructions and documentation for that driver.
To learn more about what drivers are and how they work, check out the Driver Intro
Driver | Installation Key | Platform(s) | Mode(s) |
---|---|---|---|
Chromium | chromium |
macOS, Windows, Linux | Web |
Espresso | espresso |
Android | Native |
Gecko | gecko |
macOS, Windows, Linux, Android | Web |
Mac2 | mac2 |
macOS | Native |
Safari | safari |
macOS, iOS | Web |
UiAutomator2 | uiautomator2 |
Android | Native, Hybrid, Web |
XCUITest | xcuitest |
iOS | Native, Hybrid, Web |
And of course, you can install any other drivers you find out there by using the Appium driver CLI.
Other drivers
These drivers are not maintained by the Appium team and can be used to target additional platforms.
Driver | Installation Key | Platform(s) | Mode(s) | Supported By |
---|---|---|---|---|
Flutter | --source=npm appium-flutter-driver |
iOS, Android | Native | Community |
LG WebOS | --source=npm appium-lg-webos-driver |
LG TV | Web | HeadSpin |
Linux | --source=npm @stdspa/appium-linux-driver |
Linux | Native | @fantonglang |
Roku | --source=npm @headspinio/appium-roku-driver |
Roku | Native | HeadSpin |
Tizen | --source=npm appium-tizen-driver |
Android | Native | Community / Samsung |
TizenTV | --source=npm appium-tizen-tv-driver |
Samsung TV | Web | HeadSpin |
Windows | --source=npm appium-windows-driver |
Windows | Native | Community / Microsoft |
Youi | --source=npm appium-youiengine-driver |
iOS, Android, macOS, Linux, tvOS | Native | Community / You.i |
Note
If you maintain an Appium driver that you would like to be listed in the Appium docs, feel free to make a PR to add it to this section with a link to the driver documentation.
Clients
You need clients to write and run Appium scripts. To learn more about clients, read our Client Intro. Here is the list of known Appium clients. You'll want to become very familiar with your client documentation (as well as the documentation of any Selenium client that the Appium client depends on) since that is what you will use as your primary interface to Appium.
Client | Language | Supported By |
---|---|---|
Appium Java client | Java | Appium Team |
Appium Python client | Python | Appium Team |
Appium Ruby Core client (Recommended) Appium Ruby client |
Ruby | Appium Team |
WebDriverIO Nightwatch |
Node.js | Community |
Appium .NET client | C# | Appium Team* |
RobotFramework | DSL | Community |
In general, any W3C WebDriver spec-compatible client will also integrate well with Appium, though some Appium-specific commands may not be implemented in other clients.
Plugins
Appium Plugins offer ways to extend or modify Appium's behaviour. This is the list of plugins that are currently maintained by the Appium Team:
Plugin | Installation Key | Description | Supported By |
---|---|---|---|
Execute Driver | execute-driver |
Run entire batches of commands in a single call to the Appium server | Appium Team |
Images | images |
Image matching and comparison features | Appium Team |
Relaxed Caps | relaxed-caps |
Relax Appium's requirement for vendor prefixes on capabilities | Appium Team |
Universal XML | universal-xml |
Instead of the standard XML format for iOS and Android, use an XML definition that is the same across both platforms | Appium Team |
Other plugins
Plugin | Installation Key | Description | Supported By |
---|---|---|---|
AltUnity | --source=npm appium-altunity-plugin |
Target Unity games and apps for automation with a new context, via the AltUnityTester framework | HeadSpin |
Device Farm | --source=npm appium-device-farm |
Manage and create driver session on connected android devices and iOS Simulators. | @AppiumTestDistribution |
OCR | --source=npm appium-ocr-plugin |
Find elements via OCR text | @jlipps |
Reporter | --source=npm appium-reporter-plugin |
Generates standalone consolidated html report with screenshots. Reports can be fetched from appium server, without worrying about heavy lifting such as screenshot capturing, report generation etc. | @AppiumTestDistribution |
Note
If you maintain an Appium plugin that you would like to be listed in the Appium docs, feel free to make a PR to add it to this section with a link to the documentation for the plugin.
Helper tools
The following tools might also be useful for Appium users:
Name | Description | Supported By |
---|---|---|
appium-installer | Help set up an Appium environment for Android and iOS | @AppiumTestDistribution |