Appium supports a variety of platforms and testing modalities (native, hybrid, web, real devices, simulators, etc...). This document is designed to make explicit the level of support and requirements for each of these, or guide each driver to proper page.
This section lists drivers that are supported by Appium team.
iOS automation is supported with two drivers:
- The XCUITest Driver
- The (deprecated) UIAutomation Driver
- The safaridriver for Apple's safaridriver
Please refer to these driver docs for setup instructions.
- Versions: 12.2 and up (as a rule, Appium supports the latest two iOS versions)
- Devices: Simulator and real device for iPhone, iPad and tvOS
- Native app support: Yes, with debug version of .app (simulator), or correctly-signed .ipa (real devices). Underlying support is provided by Apple's XCUITest (or UIAutomation for older versions) framework.
- Mobile web support: Yes, via automation of mobile Safari. See the mobile web doc for instructions.
- Hybrid support: Yes. See the hybrid doc for instructions.
- Support for automating multiple apps in one session: No
- Support for automating multiple devices simultaneously: Yes
- Support for automating vendor-provided or third-party apps: Yes, apps which are already installed on the device
- Support for automating custom, non-standard UI controls: Minimal. You need to set accessibility information on the control which enables some basic automation.
Android automation is supported with two drivers:
- The UiAutomator2 Driver
- The Espresso Driver
- The (deprecated) UiAutomator Driver
- The geckodriver for Firefox and GeckoView
Please refer to these driver docs for setup instructions.
- Versions: 4.3 and up
- Versions 4.3 and up are supported via Appium's UiAutomator and UiAutomator2 libraries. UiAutomator is the default driver.
- Devices: Android emulators and real Android devices
- Native app support: Yes
- Mobile web support: Yes. Automation is effected using a bundled Chromedriver server as a proxy. With 4.3, automation works on official Chrome browser or Chromium only. With 4.4+, automation also works on the built-in "Browser" app. Chrome/Chromium/Browser must already be installed on the device under test. See the mobile web doc for instructions.
- Hybrid support: Yes. See the hybrid doc for instructions.
- With default Appium automation backend: versions 4.4 and up
- Support for automating multiple apps in one session: Yes
- Support for automating multiple devices simultaneously: Yes,
though Appium must be started using different ports for the server
parameters
--port
,--bootstrap-port
and/or--chromedriver-port
. See the server args doc for more information on these parameters. - Support for automating vendor-provided or third-party apps: Yes
- Support for automating custom, non-standard UI controls: No
macOS automation is supported with below drivers.
- The Mac2Driver is for macOS 10.15 or later
- The (deprecated) MacDriver is for lower macOS versions
Windows automation is supported with below drivers.
- The WinAppDriver
- The geckodriver for Firefox and GeckoView
This section lists drivers that are supported by vendors and community.
- The You.i Engine
- The Flutter Driver
- The Roku Driver
- The WebOS Driver