Appium logo

Appium

Appium is an open-source test automation framework governed by the OpenJS Foundation, designed to facilitate UI automation of many app platforms including mobile (iOS, Android), browser (Chrome, Firefox, Safari), desktop (macOS, Windows), and TV (Roku, tvOS, Android TV). It implements the W3C WebDriver protocol and provides an extensible ecosystem of drivers, clients, and plugins.

4 APIs 10 Capabilities 7 Features 55.4 / 100 developing
AndroidCross-PlatformiOSMobile TestingOpen SourceOpenJS FoundationTest AutomationWebDriver

API Rating

55.4/ 100
developing
Scored 2026-05-20 · rubric v0.3
Discoverability87.5
Contract Quality69.2
Governance60.5
Operational Transparency42.1
Developer Ergonomics54.3
Commercial Clarity28.9

APIs

Appium Server API

The main Appium server API that implements the W3C WebDriver protocol for mobile, web, desktop, and TV app automation. Supports session management, element interaction, actions,...

Appium Inspector

Standalone GUI inspector for mobile apps that communicates with an Appium server, enabling visual element inspection and XPath generation for test authoring.

Appium UiAutomator2 Driver

The primary Appium driver for Android automation, backed by Google's UiAutomator2 framework. Supports Android 5.0+ devices and emulators.

Appium XCUITest Driver

The primary Appium driver for iOS and tvOS automation, backed by Apple's XCTest framework. Supports iOS 12+ and macOS Sequoia.

Capabilities

Appium Server API — Actions

Appium Server API — Actions. 2 operations. Lead operation: Appium Perform Actions. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Alerts

Appium Server API — Alerts. 2 operations. Lead operation: Appium Accept Alert. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Appium Device

Appium Server API — Appium Device. 8 operations. Lead operation: Appium Activate App. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Appium Session

Appium Server API — Appium Session. 5 operations. Lead operation: Appium Get Session Settings. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Cookies

Appium Server API — Cookies. 1 operations. Lead operation: Appium Get All Cookies. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Elements

Appium Server API — Elements. 6 operations. Lead operation: Appium Find Element. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Navigation

Appium Server API — Navigation. 2 operations. Lead operation: Appium Get Current URL. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Screenshots

Appium Server API — Screenshots. 2 operations. Lead operation: Appium Take Element Screenshot. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Server

Appium Server API — Server. 2 operations. Lead operation: Appium Get All Sessions. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Appium Server API — Sessions

Appium Server API — Sessions. 2 operations. Lead operation: Appium Create Session. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko

Features

Multi-Platform Support

Automate iOS, Android, Windows, macOS, web browsers, and TV platforms from a single framework

WebDriver Protocol

Implements the W3C WebDriver protocol for standard, cross-platform automation

Extensible Driver Architecture

Plugin-based driver system supports any platform through community and official drivers

Multiple Language Clients

Official client libraries for Python, Java, JavaScript, Ruby, .NET, and more

WebDriver BiDi Support

Supports the next-generation WebDriver BiDi bidirectional protocol

MCP Server

Model Context Protocol server for AI-assisted test automation

Inspector GUI

Visual app inspector for element discovery and XPath/accessibility ID generation

Use Cases

Mobile App Testing

Automated functional and regression testing of iOS and Android native apps

Cross-Platform Test Suites

Single test codebase targeting multiple platforms and devices

CI/CD Integration

Running automated mobile tests in continuous integration pipelines

Web Automation

Browser automation on mobile and desktop via WebDriver

AI-Assisted Testing

Using the MCP server to enable AI agents to drive test execution

Integrations

BrowserStack

Cloud device farm integration for running Appium tests on real devices

Sauce Labs

Cloud testing platform with Appium support for real and virtual devices

LambdaTest

Cloud test execution platform with Appium integration

TestNG

Java testing framework commonly used with Appium Java client

pytest

Python testing framework used with the Appium Python client

WebdriverIO

JavaScript test automation framework with built-in Appium support

Selenium Grid

Distributed test execution grid compatible with Appium sessions

Semantic Vocabularies

Appium Server Context

7 classes · 15 properties

JSON-LD

API Governance Rules

Appium API Rules

27 rules · 10 errors 15 warnings 2 info

SPECTRAL

Resources

🔗
LinkedIn
LinkedIn
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
🔗
Documentation
Documentation
💬
Support
Support
🔗
Slack
Slack
👥
StackOverflow
StackOverflow
👥
YouTube
YouTube
📄
ChangeLog
ChangeLog
📦
Python Client
SDK
📦
Java Client
SDK
📦
Ruby Client
SDK
📦
.NET Client
SDK
🔧
MCP Server
Tools
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
MCPServer
MCPServer
🔗
AgentSkill
AgentSkill

Sources

Raw ↑
name: Appium
description: Appium is an open-source test automation framework governed by the OpenJS Foundation, designed to facilitate
  UI automation of many app platforms including mobile (iOS, Android), browser (Chrome, Firefox, Safari), desktop (macOS,
  Windows), and TV (Roku, tvOS, Android TV). It implements the W3C WebDriver protocol and provides an extensible ecosystem
  of drivers, clients, and plugins.
image: https://appium.io/docs/en/latest/assets/images/appium-logo.png
created: '2024-01-15'
modified: '2026-05-19'
specificationVersion: '0.18'
url: https://appium.io/apis.json
apis:
- name: Appium Server API
  description: The main Appium server API that implements the W3C WebDriver protocol for mobile, web, desktop, and TV app
    automation. Supports session management, element interaction, actions, screenshots, and Appium-specific device commands.
  image: https://appium.io/docs/en/latest/assets/images/appium-logo.png
  humanURL: https://appium.io/
  baseURL: http://localhost:4723
  tags:
  - Android
  - Automation
  - iOS
  - Mobile Testing
  - WebDriver
  properties:
  - type: Documentation
    url: https://appium.io/docs/en/latest/
  - type: OpenAPI
    url: openapi/appium-server-openapi.yaml
  - type: GitHubRepository
    url: https://github.com/appium/appium
  - type: APIReference
    url: https://appium.io/docs/en/latest/reference/
  - type: JSONSchema
    url: json-schema/appium-server-session-info-schema.json
    title: Session Info Schema
  - type: JSONSchema
    url: json-schema/appium-server-find-element-request-schema.json
    title: Find Element Request Schema
  - type: JSONSchema
    url: json-schema/appium-server-app-id-request-schema.json
    title: App ID Request Schema
  - type: JSONSchema
    url: json-schema/appium-server-action-sequence-schema.json
    title: Action Sequence Schema
  - type: JSONSchema
    url: json-schema/appium-server-cookie-schema.json
    title: Cookie Schema
  - type: JSONSchema
    url: json-schema/appium-server-error-response-schema.json
    title: Error Response Schema
  - type: NaftikoCapability
    url: capabilities/server-actions.yaml
  - type: NaftikoCapability
    url: capabilities/server-alerts.yaml
  - type: NaftikoCapability
    url: capabilities/server-appium-device.yaml
  - type: NaftikoCapability
    url: capabilities/server-appium-session.yaml
  - type: NaftikoCapability
    url: capabilities/server-cookies.yaml
  - type: NaftikoCapability
    url: capabilities/server-elements.yaml
  - type: NaftikoCapability
    url: capabilities/server-navigation.yaml
  - type: NaftikoCapability
    url: capabilities/server-screenshots.yaml
  - type: NaftikoCapability
    url: capabilities/server-server.yaml
  - type: NaftikoCapability
    url: capabilities/server-sessions.yaml
- name: Appium Inspector
  description: Standalone GUI inspector for mobile apps that communicates with an Appium server, enabling visual element inspection
    and XPath generation for test authoring.
  humanURL: https://github.com/appium/appium-inspector
  baseURL: https://github.com/appium/appium-inspector/releases
  tags:
  - Debugging
  - GUI
  - Inspector
  - Mobile Testing
  properties:
  - type: GitHubRepository
    url: https://github.com/appium/appium-inspector
  - type: SDK
    url: https://github.com/appium/appium-inspector/releases
    title: Desktop App Downloads
- name: Appium UiAutomator2 Driver
  description: The primary Appium driver for Android automation, backed by Google's UiAutomator2 framework. Supports Android
    5.0+ devices and emulators.
  humanURL: https://github.com/appium/appium-uiautomator2-driver
  baseURL: http://localhost:4723
  tags:
  - Android
  - Automation
  - Driver
  - Mobile Testing
  properties:
  - type: GitHubRepository
    url: https://github.com/appium/appium-uiautomator2-driver
  - type: Documentation
    url: https://github.com/appium/appium-uiautomator2-driver#readme
- name: Appium XCUITest Driver
  description: The primary Appium driver for iOS and tvOS automation, backed by Apple's XCTest framework. Supports iOS 12+
    and macOS Sequoia.
  humanURL: https://github.com/appium/appium-xcuitest-driver
  baseURL: http://localhost:4723
  tags:
  - Automation
  - Driver
  - iOS
  - Mobile Testing
  - tvOS
  properties:
  - type: GitHubRepository
    url: https://github.com/appium/appium-xcuitest-driver
  - type: Documentation
    url: https://github.com/appium/appium-xcuitest-driver#readme
maintainers:
- FN: Appium Contributors
  email: [email protected]
  url: https://github.com/appium/appium/graphs/contributors
tags:
- Android
- Cross-Platform
- iOS
- Mobile Testing
- Open Source
- OpenJS Foundation
- Test Automation
- WebDriver
common:
- type: LinkedIn
  url: https://www.linkedin.com/company/appium
- type: GettingStarted
  url: https://appium.io/docs/en/latest/quickstart/
- type: GitHubOrganization
  url: https://github.com/appium
- type: Documentation
  url: https://appium.io/docs/en/latest/
- type: Support
  url: https://discuss.appium.io/
- type: Slack
  url: http://appium.slack.com
- type: StackOverflow
  url: https://stackoverflow.com/questions/tagged/appium
- type: YouTube
  url: https://www.youtube.com/c/AppiumConf
- type: ChangeLog
  url: https://github.com/appium/appium/blob/master/CHANGELOG.md
- type: SDK
  url: https://github.com/appium/python-client
  title: Python Client
- type: SDK
  url: https://github.com/appium/java-client
  title: Java Client
- type: SDK
  url: https://github.com/appium/ruby_lib_core
  title: Ruby Client
- type: SDK
  url: https://github.com/appium/dotnet-client
  title: .NET Client
- type: Tools
  url: https://github.com/appium/appium-mcp
  title: MCP Server
- type: SpectralRules
  url: rules/appium-spectral-rules.yml
- type: Vocabulary
  url: vocabulary/appium-vocabulary.yaml
- type: Features
  data:
  - name: Multi-Platform Support
    description: Automate iOS, Android, Windows, macOS, web browsers, and TV platforms from a single framework
  - name: WebDriver Protocol
    description: Implements the W3C WebDriver protocol for standard, cross-platform automation
  - name: Extensible Driver Architecture
    description: Plugin-based driver system supports any platform through community and official drivers
  - name: Multiple Language Clients
    description: Official client libraries for Python, Java, JavaScript, Ruby, .NET, and more
  - name: WebDriver BiDi Support
    description: Supports the next-generation WebDriver BiDi bidirectional protocol
  - name: MCP Server
    description: Model Context Protocol server for AI-assisted test automation
  - name: Inspector GUI
    description: Visual app inspector for element discovery and XPath/accessibility ID generation
- type: UseCases
  data:
  - name: Mobile App Testing
    description: Automated functional and regression testing of iOS and Android native apps
  - name: Cross-Platform Test Suites
    description: Single test codebase targeting multiple platforms and devices
  - name: CI/CD Integration
    description: Running automated mobile tests in continuous integration pipelines
  - name: Web Automation
    description: Browser automation on mobile and desktop via WebDriver
  - name: AI-Assisted Testing
    description: Using the MCP server to enable AI agents to drive test execution
- type: Integrations
  data:
  - name: BrowserStack
    description: Cloud device farm integration for running Appium tests on real devices
  - name: Sauce Labs
    description: Cloud testing platform with Appium support for real and virtual devices
  - name: LambdaTest
    description: Cloud test execution platform with Appium integration
  - name: TestNG
    description: Java testing framework commonly used with Appium Java client
  - name: pytest
    description: Python testing framework used with the Appium Python client
  - name: WebdriverIO
    description: JavaScript test automation framework with built-in Appium support
  - name: Selenium Grid
    description: Distributed test execution grid compatible with Appium sessions
- name: MCP Server
  url: https://github.com/appium/appium-mcp
  type: MCPServer
- name: Agent Skills
  url: https://github.com/appium/skills
  type: AgentSkill