Understanding Appium Drivers (And How To Choose Which One To Use)

January 23, 2026 · 9 min read · Tool Comparison

HeadSpin Platform
Automated & amp; manual examination made easy through data science insights.
Differentiating capableness:
  • Extensive end-to-end automation of QA process
  • Comparative analysis of app execution against peers
  • Uninterrupted monitoring of app execution using synthetic datum for higher availability of apps
  • Easy-to-use developer friendly program
cloudtest go
Low-cost Existent Device Testing for Emerging Teams
cloudtest go
Affordable Real Device Testing for Digital Enterprises
cloudtest go
The Ultimate Solution for a Powerful Blend of Functional & amp; Performance Testing!
cyol
TEM
New
Centralized peregrine tryout executing in cloud
cyol
Enhance Your Accessibility Testing With HeadSpin
cyol
Automate camera-based examination

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

retail

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

Understanding Appium Drivers CompletelyUnderstanding Appium Drivers Completely

Understanding Appium Drivers (And How To Choose Which One To Use)

Published on
October 2, 2019
Updated on
Published on
February 21, 2022
Updated on
 by 
 Jonathan LippsJonathan Lipps
Jonathan Lipps

Appium is not only one & quot; thing & quot;. It can automate multiple platforms, from iOS to Android and beyond. The way that Appium organize itself around this multi-platform model is by means of various & quot; drivers & quot;. This is more or less the like architecture as was first adopted by Selenium/WebDriver, which too utilizes a number of independent & quot; drivers & quot; in order to support the mechanization of multiple browsers.

There is one Appium driver per underlie automation technology. This almost means one Appium driver per program (one for iOS, one for Android, etc ...), but not quite. This is because some program (like Android) have multiple automation technologies which Appium targets to support automation of that platform. Android actually has 3 Appium driver: one based on UiAutomator, one based on UiAutomator 2, and one based on Espresso.

Recommended Post:

How Drivers Work

The driver is arguably the most important construct in all of Appium. It & # x27; s finally the driver & # x27; s responsibility to turn the Appium API (known as the WebDriver Protocol) into automation for a particular platform. Drivers are essentially translators that become Appium client commands into ... something else -- -whatever gets the job done on the program!

For architectural simplicity among other reasons, each individual driver is itself a standalone WebDriver-compatible server (though it doesn & # x27; t have all the options the primary Appium host does) .Within the driver, command that are received are handled in idiosyncratic ways. They might be surpass on to a separate process running as a Java plan on an Android gimmick, for example.

Drivers themselves can have quite a complex intragroup architecture, sometimes relying on a whole stack of technology. Here & # x27; s a diagram showing the entire pot of technologies involved in the XCUITest driver (the current iOS driver):

SUSA automates exploratory testing with persona-driven behavior, catching bugs that scripted automation misses.

The XCUITest Stack

There & # x27; s quite a lot going on! The XCUITest driver is made available as part of Appium, and is brought to life whenever someone starts an iOS session. Internally, it spins up another bit of technology known as WebDriverAgent, which is responsible for turn WebDriver protocol commands into XCUITest library calls.

Many drivers have an architecture like this, though each driver can set up its architecture withal it likes, so long as, at the end of the day, it is print as an NPM bundle that exposes a grade which lead Appium & # x27; s BaseDriver class. This is what makes it possible for a driver to plug easily into Appium!

Read: 

The Drivers

Well, what driversarethere? It & # x27; s honestly a bit hard to say exactly, because there exist & quot; unofficial & quot; drivers in addition to the 1 that embark with Appium. But if we take a look at the current list in the Appium codebase itself, we can see a fair few:

const AUTOMATION_NAMES = {APPIUM: 'Appium ', UIAUTOMATOR2: 'UiAutomator2 ', UIAUTOMATOR1: 'UiAutomator1 ', XCUITEST: 'XCUITest ', YOUIENGINE: 'YouiEngine ', ESPRESSO: 'Espresso ', TIZEN: 'Tizen ', FAKE: 'Fake ', INSTRUMENTS: 'Instruments ', WINDOWS: 'Windows ', MAC: 'Mac ',};

These & quot; mechanisation names & quot; are the labels give to the various drivers which Appium know about. This bit of code defines which strings are allowed to be expend as values for the automationName capability. Of class, each driver typically solely supports one platform. Here & # x27; s a abbreviated description of each of the drivers, by theirautomationName:

  • Appium:this mechanisation name really means & quot; just give me the default driver for the program I & # x27; ve chosen. & quot; It & # x27; s not actually a freestanding driver on its own.
  • UiAutomator2 (repo): this is the current default Android driver, establish on Google & # x27; s UiAutomator technology.
  • UiAutomator1 (repo): this is the old Android driver, based on an older edition of UiAutomator.
  • XCUITest (repo): this is the current iOS driver, based on Apple & # x27; s XCUITest engineering.
  • YouiEngine (repo): this is a driver make by You.i Labs, to indorse automation of apps on many different platforms built employ their SDK.
  • Espresso (repo): this is the novel Android driver, establish on Google & # x27; s Espresso technology.
  • Tizen (repo): this is a driver create by Samsung to assist in automation of Xamarin apps built for the Tizen OS.
  • Fake:the & quot; wangle & quot; driver is used internally by Appium for the use of testing, and you shouldn & # x27; t need to ever use it!
  • Instruments (repo): this is an older iOS driver free-base on an Apple engineering which was remove after iOS 9. Basically, don & # x27; t use this!
  • Windows (repo): Microsoft put together an Appium-compatible waiter phoneWinAppDriver, and this is the driver that connects it up with the main Appium waiter. You can use this driver to automate Windows apps!
  • Mac (repo): this is a driver which enables automation of Mac desktop apps.

As mentioned above, each of these drivers has its own internal architecture, as you can see in this detailed diagram:

All the Appium Drivers

Drivers FAQ

How do I know which driver to use?Well, if you need to automate iOS, Windows, Mac, or Tizen, your selection is simple: use the only driver which currently enable mechanisation of that platform! If you want to use Android, you receive the choice of the UiAutomator2 driver or the Espresso driver. It & # x27; s worth learning a bit about each of these technologies to see which one might better support your use case. The lineament set for these driver is similar but not monovular.

Do all the drivers support the same commands in the like way?Yes and no. At a certain fundamental level, we are limited by the automation capabilities provided by the program vender. A & quot; tap & quot; on an Android twist is the same as the & quot; tap & quot; on an iOS device. But other bidding might not work in just the same way. As far as possible the Appium team tries to ensure parity of behavior across platforms and drivers.

Execute automated Android app testing on real device worldwide to progress high-performing Android apps..

Can I switch from one driver to another and expect my tests to pass?Yes and no. It all bet on which drivers we & # x27; re talking about. Part of the benefit of using Appium is that youcanchange from one automation engineering (like UiAutomator2) to another (like Espresso) without throw away your entire test retinue. But you should execute the migration slowly and methodically, making certain that everything is happening as you expect. The Appium team sometimes publishes migration guides for moving from one driver to another; check those out if possible!

Can I make my own driver?Yes! Lots of people get execute this, most latterly bothJason Huggins and myself(at AppiumConf 2019). But there are others too, like Christian Bromann & # x27; shbbtv-driver.

Will anything modification with drivers in Appium 2.0?I & # x27; m so happy you inquire! One unwieldy bit of Appium & # x27; s driver system is that we feature to include drivers as strict dependencies of the Appium host. But we want the drivers to exist in more of a loosely-related ecosystem, where you can pick and choose which drivers you want to use with Appium. This means that you won & # x27; t necessitate to install the old UiAutomator2 driver and its dependencies if all you are expend Appium for is lead iOS test! (Did you know there is aproposal for Appium 2.0 & # x27; s designout there on the Internet?)

Author & # x27; s Profile

Jonathan Lipps

LinkedIn
Author & # x27; s Profile

Piali Mazumdar

Lead, Content Marketing, HeadSpin Inc.

Piali is a active and results-driven Content Marketing Specialist with 8+ years of experience in crafting engaging narratives and marketing collateral across various industry. She excels in cooperate with cross-functional teams to develop innovative content strategies and deliver compelling, authentic, and impactful message that resonates with target audiences and enhances marque authenticity.

LinkedIn

Understanding Appium Drivers (And How To Choose Which One To Use)

4 Parts

regression intelligence blog
-

Regression Intelligence hardheaded guide for advanced users (Part 3)

Coming Soon
Regression Intelligence practical guide for advanced users
-

Regression Intelligence hard-nosed guide for forward-looking users (Part 4)

Coming Soon

Discover how HeadSpin can empower your line with superior screen capabilities

Our Platform enable you to:
accelerate time-to-market
Accelerate time-to-market, gain a competitive edge
faster development cycles
Boost developer/QA productivity with faster development cycles
automated buil-over-build regression testing
Automate build-over-build fixation testing for ordered solvent
gain better visibility into functional & performance issues
Gain best visibility into functional and performance issues
reduce mean time
Reduce base time to identify/resolve during test, QA, and production
evaluate audio, video & qoe
Evaluate audio, video, and content lineament of experience (QoE) effortlessly
The trusted selection for global endeavour
Adobe
Hargreaves Lansdown
Truecaller
Crazylabs
Nedbank
Numeracle
Veryon
Close

Discover how HeadSpin can empower your business with superior testing capacity

Our Platform enable you to:
accelerate time-to-market
Accelerate time-to-market, gaining a competitive edge
faster development cycles
Boost developer/QA productiveness with quicker development cycles
automated buil-over-build regression testing
Automate build-over-build regression testing for consistent results
gain better visibility into functional & performance issues
Gain better visibility into functional and performance issues
reduce mean time
Reduce mean clip to identify/resolve during test, QA, and production
evaluate audio, video & qoe
Evaluate audio, video, and content caliber of experience (QoE) effortlessly
The sure choice for global endeavour
Close

Discover how HeadSpin can empower your business with superior essay capacity

Our Platform enables you to:
accelerate time-to-market
Accelerate time-to-market, gaining a competitive edge
faster development cycles
Boost developer/QA productiveness with quicker development cycles
automated buil-over-build regression testing
Automate build-over-build fixation testing for consistent results
gain better visibility into functional & performance issues
Gain best profile into functional and performance issue
reduce mean time
Reduce mean time to identify/resolve during exam, QA, and production
evaluate audio, video & qoe
Evaluate sound, picture, and content quality of experience (QoE) effortlessly
The sure choice for global enterprises
Close

Connet Now

Wipro LogoVMLYR Logo
Close
Book a Meeting
Products
footer down arrow
Solutions
footer down arrow
Industries
footer down arrow
Features
footer down arrow
Support
footer down arrow
Resource Center
footer down arrow
Why Choose HeadSpin?
footer down arrow
Copyright © 2026 HeadSpin, Inc. All Rights Reserved.

Automate This With SUSA

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.

Try SUSA Free

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free