Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 2.36 KB

appium-clients.md

File metadata and controls

27 lines (19 loc) · 2.36 KB

List of client libraries with Appium server support

These libraries wrap standard Selenium client libraries to provide all the regular selenium commands dictated by the JSON Wire protocol, and add extra commands related to controlling mobile devices, such as multi-touch gestures and screen orientation.

Appium client libraries implement the Mobile JSON Wire Protocol (an official draft extension to the standard protocol), and elements of the W3C Webdriver spec (a transport-agnostic automation spec; this is where the MultiAction API is defined).

The Appium server itself defines custom extensions to the official protocols, giving Appium users helpful access to various device behaviors (such as installing/uninstalling apps during the course of a test session). This is why we need Appium-specific clients, not just the 'vanilla' Selenium clients. Of course, Appium client libraries only add functionality (in fact, they simply extend the standard Selenium clients), so they can still be used to run regular Selenium sessions.

Appium repository

Language/Framework Github Repo and Installation Instructions
Ruby https://github.com/appium/ruby_lib, https://github.com/appium/ruby_lib_core
Python https://github.com/appium/python-client
Java https://github.com/appium/java-client
C# (.NET) https://github.com/appium/appium-dotnet-driver

Community based

Language/Framework Github Repo and Installation Instructions
[Deprecated] JavaScript (Node.js) https://github.com/admc/wd
JavaScript (Node.js) https://github.com/webdriverio/webdriverio
JavaScript (Browser) https://github.com/projectxyzio/web2driver
RobotFramework https://github.com/serhatbolsu/robotframework-appiumlibrary

W3C WebDriver protocol compatible clients also work.