Appium 2.0 Mobile Testing — Complete Guide (2026)
From zero to green iOS + Android test in one afternoon. Appium 2.0 driver install, real vs emulator strategy, cloud runners (BrowserStack, Sauce, LambdaTest) compared, and a WebdriverIO test suite.

Last updated 2026-07-20 · 13 min read · By Avinash K
Appium 2.0 unbundled drivers — you now install XCUITest, UiAutomator2, and Espresso separately via a driver CLI. That is a breaking change from 1.x and the #1 reason tutorials online are broken. This guide is current for Appium 2.4 and WebdriverIO 8.
Key takeaways
- Appium 2.0 install and driver setup (macOS + Linux).
- Real device vs emulator decision matrix.
- Cloud runner comparison (BrowserStack, Sauce, LambdaTest).
- A WebdriverIO end-to-end test.
1. Install Appium 2.0
npm install -g appium@next
appium driver install xcuitest
appium driver install uiautomator2
appium --version # should be 2.x
appium # starts server on 47232. Real vs emulator
| Use case | Real device | Emulator |
|---|---|---|
| Layout / smoke | Optional | OK |
| Push notifications | Required | Fails |
| Camera / biometrics | Required | Stubbed only |
| Performance | Required | Misleading |
| Battery / thermal | Required | N/A |
3. Cloud runners
BrowserStack App Automate — best device catalog, priciest. Sauce Labs — best CI integration, enterprise-friendly. LambdaTest — cheapest, catalog smaller but growing. Aim for 3-4 real devices covering ~85% of your MAU device split (usually latest iPhone + iOS-2, latest Pixel + Samsung mid-tier).
4. WebdriverIO end-to-end
// wdio.conf.ts
capabilities: [{
platformName: 'iOS',
'appium:automationName': 'XCUITest',
'appium:deviceName': 'iPhone 15',
'appium:platformVersion': '17.4',
'appium:app': '/path/to/app.ipa',
}]
// test.spec.ts
it('logs in', async () => {
await $('~email-field').setValue('user@test.io');
await $('~password-field').setValue('secret');
await $('~login-button').click();
await expect($('~home-header')).toBeDisplayed();
});~ targets by accessibility ID — the most stable locator across iOS + Android. Reference: appium.io/docs. Related: Selenium locators cheat sheet, flaky tests.