docs(appium): Update documentation translations (#21523)

Co-authored-by: mykola-mokhnach <7767781+mykola-mokhnach@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2025-08-27 23:08:57 -07:00
committed by GitHub
parent b915c22283
commit a0a9d27f05
8 changed files with 1018 additions and 273 deletions

View File

@@ -1,7 +1,4 @@
---
hide:
- toc
title: Appium Clients
---
@@ -9,37 +6,138 @@ You need a client to write and run Appium scripts. You'll want to become very
familiar with your client documentation (as well as the documentation of any Selenium client that
the Appium client depends on) since that will be your primary interface to Appium.
To learn more about clients, read our [Client Intro](../intro/clients.md).
### Official Clients
These clients are currently maintained by the Appium team:
| Client | Language |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| [Appium Java client](https://github.com/appium/java-client) | Java |
| [Appium Python client](https://github.com/appium/python-client) | Python |
| [Appium Ruby Core client](https://github.com/appium/ruby_lib_core) (Recommended)<br>[Appium Ruby client](https://github.com/appium/ruby_lib) | Ruby |
| [Appium .NET client](https://github.com/appium/dotnet-client) | C# |
### Other Clients
These clients are not maintained by the Appium team and can be used with other languages:
| Client | Language |
| ---------------------------------------------------------------------------------------------------- | ----------------------- |
| [WebdriverIO](https://webdriver.io/docs/appium) | Node.js |
| [Nightwatch.js](https://nightwatchjs.org/guide/mobile-app-testing/introduction.html) | Node.js |
| [RobotFramework](https://github.com/serhatbolsu/robotframework-appiumlibrary) | DSL |
| [multicatch's appium-client](https://github.com/multicatch/appium-client) | Rust |
| [SwiftAppium](https://github.com/milcgroup/swiftappium) | Swift |
In general, any W3C WebDriver spec-compatible client will also integrate well with Appium, though
some Appium-specific commands may not be implemented in other clients.
To learn more about clients, check out the [Client Intro](../intro/clients.md).
!!! note
```
If you maintain an Appium client that you would like to be listed in the Appium docs, feel free
to make a PR to add it to this section with a link to the documentation for the client.
If you maintain an Appium client that you would like to be listed here, feel free to create a PR!
```
## Official Clients
These clients are currently maintained by the Appium team:
### [Java Client](https://github.com/appium/java-client)
Language: :fontawesome-brands-java: Java
\=== "Setup With Maven"
````
```xml
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>${version.you.require}</version>
<scope>test</scope>
</dependency>
```
````
\=== "Setup With Gradle"
````
```groovy
dependencies {
testImplementation 'io.appium:java-client:${version.you.require}'
}
```
````
### [Python Client](https://github.com/appium/python-client)
Language: :fontawesome-brands-python: Python
```sh title="Install From PyPi"
pip install Appium-Python-Client
```
### [Ruby Core Client](https://github.com/appium/ruby_lib_core)
Language: :material-language-ruby: Ruby
```sh title="Install From RubyGems"
gem install appium_lib_core
```
### [Ruby Client](https://github.com/appium/ruby_lib)
Language: :material-language-ruby: Ruby
This client is a wrapper for the Ruby Core Client with several helper methods, though this may
add additional complexity, therefore the Ruby Core Client is recommended instead.
```sh title="Install From RubyGems"
gem install appium_lib
```
### [.NET Client](https://github.com/appium/dotnet-client)
Language: :simple-dotnet: C#
```sh title="Install Using .NET CLI"
dotnet add package Appium.WebDriver
```
## Other Clients
These clients are not maintained by the Appium team and can be used with other languages.
In general, any W3C WebDriver spec-compatible client will also integrate well with Appium, though
some Appium-specific commands may not be implemented in other clients.
### [WebdriverIO](https://webdriver.io/docs/appium)
Language: :material-language-javascript: :material-language-typescript: JavaScript/TypeScript
```sh title="Setup Using npm"
npm init wdio@latest .
```
### [Nightwatch.js](https://nightwatchjs.org/guide/mobile-app-testing/introduction.html)
Language: :material-language-javascript: :material-language-typescript: JavaScript/TypeScript
\=== "Setup For Android"
````
```sh
npx @nightwatch/mobile-helper android --appium
```
````
\=== "Setup For iOS"
````
```sh
npx @nightwatch/mobile-helper ios --appium
```
````
### [RobotFramework AppiumLibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary)
Language: :simple-robotframework: Robot Framework
```sh title="Install From PyPi"
pip install robotframework-appiumlibrary
```
### [multicatch's appium-client](https://github.com/multicatch/appium-client)
Language: :simple-rust: Rust
```sh title="Install Using Cargo"
cargo add appium-client
```
### [SwiftAppium](https://github.com/milcgroup/swiftappium)
Language: :material-language-swift: Swift
```sh title="Install and Setup"
git clone https://github.com/milcgroup/SwiftAppium.git
cd SwiftAppium
swift build
swift run swiftappium
```

View File

@@ -1,55 +1,219 @@
---
hide:
- toc
title: Appium Drivers
---
You can't use Appium without at least one driver! Click on the link for each driver to see the
specific installation instructions and documentation for that driver.
Generally, drivers can be installed using their listed installation key, with the following command:
```
appium driver install <installation key>
```
You can't use Appium without a driver! Here you can find a list of all known Appium drivers,
along with their installation commands and links to their documentation.
To learn more about drivers, check out the [Driver Intro](../intro/drivers.md).
### Official Drivers
These drivers are currently maintained by the Appium team:
| Driver | Installation Key | Platform(s) | Mode(s) | Important Notes |
| -------------------------------------------------------------------- | ---------------- | ------------------------------ | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Chromium](https://github.com/appium/appium-chromium-driver) | `chromium` | macOS, Windows, Linux | Web | |
| [Espresso](https://github.com/appium/appium-espresso-driver) | `espresso` | Android | Native | |
| [Gecko](https://github.com/appium/appium-geckodriver) | `gecko` | macOS, Windows, Linux, Android | Web | |
| [Mac2](https://github.com/appium/appium-mac2-driver) | `mac2` | macOS | Native | |
| [Safari](https://github.com/appium/appium-safari-driver) | `safari` | macOS, iOS | Web | |
| [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver) | `uiautomator2` | Android | Native, Hybrid, Web | |
| [XCUITest](https://github.com/appium/appium-xcuitest-driver) | `xcuitest` | iOS | Native, Hybrid, Web | |
| [Windows](https://github.com/appium/appium-windows-driver) | `windows` | Windows | Native | Only the Node.js-based driver part is maintained by the Appium team. The server part (WinAppDriver executable) has not been maintained by Microsoft since 2022 |
### Other Drivers
These drivers are not maintained by the Appium team and can be used to target additional platforms:
| Driver | Installation Key | Platform(s) | Mode(s) | Supported By | Important Notes |
| -------------------------------------------------------------------------------------------------- | ------------------------------------------------ | -------------------------------- | -------------------------- | ------------------------------------- | ------------------------- |
| [Flutter](https://github.com/appium/appium-flutter-driver) | `--source=npm appium-flutter-driver` | iOS, Android | Native | Appium Team/Community | |
| [Flutter Integration](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver) | `--source=npm appium-flutter-integration-driver` | iOS, Android | Native | Community / `@AppiumTestDistribution` | |
| [LG WebOS](https://github.com/headspinio/appium-lg-webos-driver) | `--source=npm appium-lg-webos-driver` | LG TV | Web | HeadSpin | |
| [Linux](https://github.com/fantonglang/appium-linux-driver) | `--source=npm @stdspa/appium-linux-driver` | Linux | Native | `@fantonglang` | Not maintained since 2022 |
| [NovaWindows](https://github.com/AutomateThePlanet/appium-novawindows-driver) | `--source=npm appium-novawindows-driver` | Windows | Native | Community / Automate The Planet | |
| [Roku](https://github.com/headspinio/appium-roku-driver) | `--source=npm @headspinio/appium-roku-driver` | Roku | Native | HeadSpin | |
| [Tizen](https://github.com/Samsung/appium-tizen-driver) | `--source=npm appium-tizen-driver` | Android | Native | Community / Samsung | Not maintained since 2020 |
| [TizenTV](https://github.com/headspinio/appium-tizen-tv-driver) | `--source=npm appium-tizen-tv-driver` | Samsung TV | Web | HeadSpin | |
| [Youi](https://github.com/YOU-i-Labs/appium-youiengine-driver) | `--source=npm appium-youiengine-driver` | iOS, Android, macOS, Linux, tvOS | Native | Community / You.i | Not maintained since 2022 |
!!! note
```
If you maintain an Appium driver that you would like to be listed in the Appium docs, feel free
to make a PR to add it to this section with a link to the driver documentation.
If you maintain an Appium driver that you would like to be listed here, feel free to create a PR!
```
## Official Drivers
These drivers are currently maintained by the Appium team:
### [Chromium](https://github.com/appium/appium-chromium-driver)
- Target: Desktop and mobile Chromium browsers (Chrome, Microsoft Edge, etc.)
- Mode: Web
```sh title="Install This Driver"
appium driver install chromium
```
### [Espresso](https://github.com/appium/appium-espresso-driver)
- Target: Android applications
- Mode: Native
```sh title="Install This Driver"
appium driver install espresso
```
### [Gecko](https://github.com/appium/appium-geckodriver)
- Target: Desktop and mobile Gecko browsers (Firefox)
- Mode: Web
```sh title="Install This Driver"
appium driver install gecko
```
### [Mac2](https://github.com/appium/appium-mac2-driver)
- Target: macOS applications
- Mode: Native
```sh title="Install This Driver"
appium driver install mac2
```
### [Safari](https://github.com/appium/appium-safari-driver)
- Target: Desktop and mobile Safari browsers
- Mode: Web
```sh title="Install This Driver"
appium driver install safari
```
### [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver)
- Target: Android, Android TV, Android Wear applications
- Modes: Native, Hybrid, Web
```sh title="Install This Driver"
appium driver install uiautomator2
```
### [Windows](https://github.com/appium/appium-windows-driver)
!!! warning
```
Only the Node.js-based driver part is maintained by the Appium team. The server part
(WinAppDriver executable) is provided by Microsoft, but has not been maintained since 2022.
```
- Target: Windows applications
- Mode: Native
```sh title="Install This Driver"
appium driver install windows
```
### [XCUITest](https://appium.github.io/appium-xcuitest-driver/)
- Target: iOS, iPadOS, tvOS applications
- Modes: Native, Hybrid, Web
```sh title="Install This Driver"
appium driver install xcuitest
```
## Other Drivers
These drivers are not maintained by the Appium team and can be used to target other platforms:
### [Flutter](https://github.com/appium/appium-flutter-driver)
- Target: iOS and Android applications built with Flutter
- Mode: Native
- Supported by: Appium Team / Community
```sh title="Install This Driver"
appium driver install --source=npm appium-flutter-driver
```
### [Flutter Integration](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver)
- Target: iOS and Android applications built with Flutter
- Mode: Native
- Supported by: Community / `@AppiumTestDistribution`
```sh title="Install This Driver"
appium driver install --source=npm appium-flutter-integration-driver
```
### [LG WebOS](https://github.com/headspinio/appium-lg-webos-driver)
- Target: LG TV web applications
- Mode: Web
- Supported by: HeadSpin
```sh title="Install This Driver"
appium driver install --source=npm appium-lg-webos-driver
```
### [Linux](https://github.com/fantonglang/appium-linux-driver)
!!! warning
```
This driver has not been maintained since 2022 and requires a custom Appium installation
```
- Target: Linux applications
- Mode: Native
- Supported by: `@fantonglang`
```sh title="Install This Driver"
git clone https://github.com/fantonglang/appium
cd appium
yarn install
node ./
```
### [NovaWindows](https://github.com/AutomateThePlanet/appium-novawindows-driver)
!!! info
```
This driver is recommended as a drop-in replacement for the partially unmaintained
[Windows driver](#windows)
```
- Target: Windows applications
- Mode: Native
- Supported by: Community / Automate The Planet
```sh title="Install This Driver"
appium driver install --source=npm appium-novawindows-driver
```
### [Roku](https://github.com/headspinio/appium-roku-driver)
- Target: Roku channels (applications)
- Mode: Native
- Supported by: HeadSpin
```sh title="Install This Driver"
appium driver install --source=npm @headspinio/appium-roku-driver
```
### [Tizen](https://github.com/Samsung/appium-tizen-driver)
!!! warning
```
This driver has not been maintained since 2020 and is only compatible with Appium 1
```
- Target: Tizen applications
- Mode: Native
- Supported by: Community / Samsung
```sh title="Install This Driver"
npm install appium-tizen-driver
```
### [TizenTV](https://github.com/headspinio/appium-tizen-tv-driver)
- Target: Tizen TV web applications
- Mode: Web
- Supported by: HeadSpin
```sh title="Install This Driver"
appium driver install --source=npm appium-tizen-tv-driver
```
### [You.i Engine](https://github.com/YOU-i-Labs/appium-youiengine-driver)
!!! warning
```
This driver has not been maintained since 2022 and is only compatible with Appium 1
```
- Target: iOS, Android, macOS, Linux, tvOS applications built with You.i Engine
- Mode: Native
- Supported by: Community / You.i
```sh title="Install This Driver"
npm install appium-youiengine-driver
```

View File

@@ -1,7 +1,4 @@
---
hide:
- toc
title: Appium Plugins
---
@@ -9,42 +6,135 @@ Plugins offer various ways to extend or modify Appium's behaviour. They are _com
and are not needed for standard automation functionality, but you may find them to be useful
for more specialised automation workflows.
Generally, plugins can be installed using their listed installation key, with the following command:
```
appium plugin install <installation key>
```
### Official Plugins
These plugins are are currently maintained by the Appium team:
| <div style="width:7em">Plugin</div> | <div style="width:8em">Installation Key</div> | Description |
| --------------------------------------------------------------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Execute Driver](https://github.com/appium/appium/tree/master/packages/execute-driver-plugin) | `execute-driver` | Run entire batches of commands in a single call to the Appium server |
| [Images](https://github.com/appium/appium/tree/master/packages/images-plugin) | `images` | Image matching and comparison features |
| [Inspector](https://github.com/appium/appium-inspector/tree/main/plugins) | `inspector` | Integrate the [Appium Inspector](https://github.com/appium/appium-inspector) directly into your Appium server installation, providing a web-based interface for inspecting and interacting with your application under test. |
| [Relaxed Caps](https://github.com/appium/appium/tree/master/packages/relaxed-caps-plugin) | `relaxed-caps` | Relax Appium's requirement for vendor prefixes on capabilities |
| [Storage](https://github.com/appium/appium/tree/master/packages/storage-plugin) | `storage` | Server-side storage with client-side management |
| [Universal XML](https://github.com/appium/appium/tree/master/packages/universal-xml-plugin) | `universal-xml` | Instead of the standard XML format for iOS and Android, use an XML definition that is the same across both platforms |
### Other Plugins
These plugins are not maintained by the Appium team and can provide additional functionality:
| <div style="width:6em">Plugin</div> | <div style="width:19em">Installation Key</div> | Description | <div style="width:13em">Supported By</div> |
| ---------------------------------------------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [AltUnity](https://github.com/headspinio/appium-altunity-plugin) | `--source=npm appium-altunity-plugin` | Target Unity games and apps for automation with a new context, via the AltUnityTester framework | HeadSpin |
| [Device Farm](https://github.com/AppiumTestDistribution/appium-device-farm) | `--source=npm appium-device-farm` | Manage and create driver sessions on connected Android devices and iOS simulators | `@AppiumTestDistribution` |
| [Gestures](https://github.com/AppiumTestDistribution/appium-gestures-plugin) | `--source=npm appium-gestures-plugin` | Perform basic gestures using W3C Actions | `@AppiumTestDistribution` |
| [Interceptor](https://github.com/AppiumTestDistribution/appium-interceptor-plugin) | `--source=npm appium-interceptor` | Intercept and mock API requests and responses | `@AppiumTestDistribution` |
| [OCR](https://github.com/jlipps/appium-ocr-plugin) | `--source=npm appium-ocr-plugin` | Find elements via OCR text | `@jlipps` |
| [Reporter](https://github.com/AppiumTestDistribution/appium-reporter-plugin) | `--source=npm appium-reporter-plugin` | Generate standalone consolidated HTML reports with screenshots | `@AppiumTestDistribution` |
| [Wait](https://github.com/AppiumTestDistribution/appium-wait-plugin) | `--source=npm appium-wait-plugin` | Manage global element wait timeouts | `@AppiumTestDistribution` |
!!! note
```
If you maintain an Appium plugin that you would like to be listed in the Appium docs, feel free
to make a PR to add it to this section with a link to the documentation for the plugin.
If you maintain an Appium plugin that you would like to be listed here, feel free to create a PR!
```
## Official Plugins
These plugins are are currently maintained by the Appium team:
### [Execute Driver](https://github.com/appium/appium/tree/master/packages/execute-driver-plugin)
Run entire batches of commands in a single call to the Appium server
```sh title="Install This Plugin"
appium plugin install execute-driver
```
### [Images](https://github.com/appium/appium/tree/master/packages/images-plugin)
Add support for image matching and comparison features
```sh title="Install This Plugin"
appium plugin install images
```
### [Inspector](https://github.com/appium/appium-inspector/tree/main/plugins)
Integrate the [Appium Inspector](https://appium.github.io/appium-inspector/) directly into your
Appium server installation
```sh title="Install This Plugin"
appium plugin install inspector
```
### [Relaxed Caps](https://github.com/appium/appium/tree/master/packages/relaxed-caps-plugin)
Relax Appium's requirement for vendor prefixes on capabilities
```sh title="Install This Plugin"
appium plugin install relaxed-caps
```
### [Storage](https://github.com/appium/appium/tree/master/packages/storage-plugin)
Add server-side storage with client-side management
```sh title="Install This Plugin"
appium plugin install storage
```
### [Universal XML](https://github.com/appium/appium/tree/master/packages/universal-xml-plugin)
Translate the default iOS and Android XML formats into a common format
```sh title="Install This Plugin"
appium plugin install universal-xml
```
## Other Plugins
These plugins are not maintained by the Appium team and can provide additional functionality:
### [AltUnity](https://github.com/headspinio/appium-altunity-plugin)
Target Unity games and apps for automation via the AltUnityTester framework
Supported by: HeadSpin
```sh title="Install This Plugin"
appium plugin install --source=npm appium-altunity-plugin
```
### [Device Farm](https://github.com/AppiumTestDistribution/appium-device-farm)
Manage and create driver sessions on connected Android devices and iOS simulators
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-device-farm
```
### [Gestures](https://github.com/AppiumTestDistribution/appium-gestures-plugin)
Perform basic gestures using W3C Actions
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-gestures-plugin
```
### [Interceptor](https://github.com/AppiumTestDistribution/appium-interceptor-plugin)
Intercept and mock API requests and responses
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-interceptor
```
### [OCR](https://github.com/jlipps/appium-ocr-plugin)
Find elements via OCR text
Supported by: `@jlipps`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-ocr-plugin
```
### [Reporter](https://github.com/AppiumTestDistribution/appium-reporter-plugin)
Generate standalone consolidated HTML reports with screenshots
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-reporter-plugin
```
### [Wait](https://github.com/AppiumTestDistribution/appium-wait-plugin)
Manage global element wait timeouts
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-wait-plugin
```

View File

@@ -1,42 +1,61 @@
---
hide:
- toc
title: Appium-Related Tools
---
There are several Appium tools that have been created to to assist with things not directly related
to testing, such as Appium installation, test development, and more.
The Appium ecosystem also includes several tools that have been created to assist with things not
directly related to running tests, such as Appium installation, test development, and more.
### [Appium Inspector](https://appium.github.io/appium-inspector/latest/)
!!! note
```
If you maintain an Appium tool that you would like to be listed here, feel free to create a PR!
```
## Official Tools
These tools are currently maintained by the Appium team:
### [Appium Inspector](https://appium.github.io/appium-inspector/)
Appium has a graphical client which can be used to inspect application screenshots, view the
application hierarchy, run Appium commands, record app interactions, and more. It is very useful
for Appium test development.
application hierarchy, search for elements, run Appium commands, record app interactions, and more.
It can be very useful for Appium test development.
Find downloads and more information on its GitHub page: [Appium Inspector](https://github.com/appium/appium-inspector)
## Extension Tools
Appium driver or plugin developers can choose to include these tools in their driver/plugin:
### Appium Doctor
Appium Doctor is a command-line tool built into Appium drivers and plugins.
The command is expected to be used to validate whether a driver or plugin has all of its prerequisites and other environment details set up correctly
if the driver/plugin author implemented the `doctor` command.
The Appium Doctor tool can be used to validate whether all prerequisites and other environment
details needed for the driver/plugin have been set up correctly. The tool can be accessed via the
[`doctor` command in the Appium CLI](../cli/extensions.md#doctor):
For example, `uiautomator2` driver provides the `doctor` command below.
```
appium driver doctor uiautomator2
```sh
appium {driver|plugin} doctor <extension-name>
```
It shows no result if the driver/plugin author did not implement them.
It shows no results if the driver/plugin author did not implement Doctor support.
More information on this command can be found in the [Command-Line Usage documentation](../cli/extensions.md#doctor).
For driver/plugin developers, please read [Building Doctor Checks](../developing/build-doctor-checks.md).
!!! note
### Other Tools
```
If you maintain an Appium extension and would like to add Appium Doctor support for it, check
out the documentation on [Building Doctor Checks](../developing/build-doctor-checks.md).
```
These tools are not maintained by the Appium team and can be used to assist with other problems:
## Other Tools
| Name | Description | Supported By |
| ------------------------------------------------------------------------------ | ----------------------------------------------------- | ------------------------- |
| [appium-installer](https://github.com/AppiumTestDistribution/appium-installer) | Help set up an Appium environment for Android and iOS | `@AppiumTestDistribution` |
These tools are not maintained by the Appium team:
### [Appium Installer](https://github.com/AppiumTestDistribution/appium-installer)
Appium Installer is a command-line tool for simplifying setups of new Appium test environments.
It includes commands for installing Appium, its drivers and plugins, as well as validating
prerequisites for iOS or Android emulators or real devices.
Supported by: `@AppiumTestDistribution`
```sh title="Install This Tool"
npm install -g appium-installer
```

View File

@@ -1,6 +1,4 @@
---
hide:
- toc
title: Appium Clients
---
@@ -8,37 +6,138 @@ You need a client to write and run Appium scripts. You'll want to become very
familiar with your client documentation (as well as the documentation of any Selenium client that
the Appium client depends on) since that will be your primary interface to Appium.
To learn more about clients, read our [Client Intro](../intro/clients.md).
### Official Clients
These clients are currently maintained by the Appium team:
| Client | Language |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| [Appium Java client](https://github.com/appium/java-client) | Java |
| [Appium Python client](https://github.com/appium/python-client) | Python |
| [Appium Ruby Core client](https://github.com/appium/ruby_lib_core) (Recommended)<br>[Appium Ruby client](https://github.com/appium/ruby_lib) | Ruby |
| [Appium .NET client](https://github.com/appium/dotnet-client) | C# |
### Other Clients
These clients are not maintained by the Appium team and can be used with other languages:
| Client | Language |
| ---------------------------------------------------------------------------------------------------- | ----------------------- |
| [WebdriverIO](https://webdriver.io/docs/appium) | Node.js |
| [Nightwatch.js](https://nightwatchjs.org/guide/mobile-app-testing/introduction.html) | Node.js |
| [RobotFramework](https://github.com/serhatbolsu/robotframework-appiumlibrary) | DSL |
| [multicatch's appium-client](https://github.com/multicatch/appium-client) | Rust |
| [SwiftAppium](https://github.com/milcgroup/swiftappium) | Swift |
In general, any W3C WebDriver spec-compatible client will also integrate well with Appium, though
some Appium-specific commands may not be implemented in other clients.
To learn more about clients, check out the [Client Intro](../intro/clients.md).
!!! note
```
If you maintain an Appium client that you would like to be listed in the Appium docs, feel free
to make a PR to add it to this section with a link to the documentation for the client.
If you maintain an Appium client that you would like to be listed here, feel free to create a PR!
```
## Official Clients
These clients are currently maintained by the Appium team:
### [Java Client](https://github.com/appium/java-client)
Language: :fontawesome-brands-java: Java
\=== "Setup With Maven"
````
```xml
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>${version.you.require}</version>
<scope>test</scope>
</dependency>
```
````
\=== "Setup With Gradle"
````
```groovy
dependencies {
testImplementation 'io.appium:java-client:${version.you.require}'
}
```
````
### [Python Client](https://github.com/appium/python-client)
Language: :fontawesome-brands-python: Python
```sh title="Install From PyPi"
pip install Appium-Python-Client
```
### [Ruby Core Client](https://github.com/appium/ruby_lib_core)
Language: :material-language-ruby: Ruby
```sh title="Install From RubyGems"
gem install appium_lib_core
```
### [Ruby Client](https://github.com/appium/ruby_lib)
Language: :material-language-ruby: Ruby
This client is a wrapper for the Ruby Core Client with several helper methods, though this may
add additional complexity, therefore the Ruby Core Client is recommended instead.
```sh title="Install From RubyGems"
gem install appium_lib
```
### [.NET Client](https://github.com/appium/dotnet-client)
Language: :simple-dotnet: C#
```sh title="Install Using .NET CLI"
dotnet add package Appium.WebDriver
```
## Other Clients
These clients are not maintained by the Appium team and can be used with other languages.
In general, any W3C WebDriver spec-compatible client will also integrate well with Appium, though
some Appium-specific commands may not be implemented in other clients.
### [WebdriverIO](https://webdriver.io/docs/appium)
Language: :material-language-javascript: :material-language-typescript: JavaScript/TypeScript
```sh title="Setup Using npm"
npm init wdio@latest .
```
### [Nightwatch.js](https://nightwatchjs.org/guide/mobile-app-testing/introduction.html)
Language: :material-language-javascript: :material-language-typescript: JavaScript/TypeScript
\=== "Setup For Android"
````
```sh
npx @nightwatch/mobile-helper android --appium
```
````
\=== "Setup For iOS"
````
```sh
npx @nightwatch/mobile-helper ios --appium
```
````
### [RobotFramework AppiumLibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary)
Language: :simple-robotframework: Robot Framework
```sh title="Install From PyPi"
pip install robotframework-appiumlibrary
```
### [multicatch's appium-client](https://github.com/multicatch/appium-client)
Language: :simple-rust: Rust
```sh title="Install Using Cargo"
cargo add appium-client
```
### [SwiftAppium](https://github.com/milcgroup/swiftappium)
Language: :material-language-swift: Swift
```sh title="Install and Setup"
git clone https://github.com/milcgroup/SwiftAppium.git
cd SwiftAppium
swift build
swift run swiftappium
```

View File

@@ -1,55 +1,219 @@
---
hide:
- toc
title: Appium Drivers
---
You can't use Appium without at least one driver! Click on the link for each driver to see the
specific installation instructions and documentation for that driver.
Generally, drivers can be installed using their listed installation key, with the following command:
```
appium driver install <installation key>
```
You can't use Appium without a driver! Here you can find a list of all known Appium drivers,
along with their installation commands and links to their documentation.
To learn more about drivers, check out the [Driver Intro](../intro/drivers.md).
### Official Drivers
These drivers are currently maintained by the Appium team:
| Driver | Installation Key | Platform(s) | Mode(s) | Important Notes |
| -------------------------------------------------------------------- | ---------------- | ------------------------------ | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Chromium](https://github.com/appium/appium-chromium-driver) | `chromium` | macOS, Windows, Linux | Web | |
| [Espresso](https://github.com/appium/appium-espresso-driver) | `espresso` | Android | Native | |
| [Gecko](https://github.com/appium/appium-geckodriver) | `gecko` | macOS, Windows, Linux, Android | Web | |
| [Mac2](https://github.com/appium/appium-mac2-driver) | `mac2` | macOS | Native | |
| [Safari](https://github.com/appium/appium-safari-driver) | `safari` | macOS, iOS | Web | |
| [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver) | `uiautomator2` | Android | Native, Hybrid, Web | |
| [XCUITest](https://github.com/appium/appium-xcuitest-driver) | `xcuitest` | iOS | Native, Hybrid, Web | |
| [Windows](https://github.com/appium/appium-windows-driver) | `windows` | Windows | Native | Only the Node.js-based driver part is maintained by the Appium team. The server part (WinAppDriver executable) has not been maintained by Microsoft since 2022 |
### Other Drivers
These drivers are not maintained by the Appium team and can be used to target additional platforms:
| Driver | Installation Key | Platform(s) | Mode(s) | Supported By | Important Notes |
| -------------------------------------------------------------------------------------------------- | ------------------------------------------------ | -------------------------------- | -------------------------- | ------------------------------------- | ------------------------- |
| [Flutter](https://github.com/appium/appium-flutter-driver) | `--source=npm appium-flutter-driver` | iOS, Android | Native | Appium Team/Community | |
| [Flutter Integration](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver) | `--source=npm appium-flutter-integration-driver` | iOS, Android | Native | Community / `@AppiumTestDistribution` | |
| [LG WebOS](https://github.com/headspinio/appium-lg-webos-driver) | `--source=npm appium-lg-webos-driver` | LG TV | Web | HeadSpin | |
| [Linux](https://github.com/fantonglang/appium-linux-driver) | `--source=npm @stdspa/appium-linux-driver` | Linux | Native | `@fantonglang` | Not maintained since 2022 |
| [NovaWindows](https://github.com/AutomateThePlanet/appium-novawindows-driver) | `--source=npm appium-novawindows-driver` | Windows | Native | Community / Automate The Planet | |
| [Roku](https://github.com/headspinio/appium-roku-driver) | `--source=npm @headspinio/appium-roku-driver` | Roku | Native | HeadSpin | |
| [Tizen](https://github.com/Samsung/appium-tizen-driver) | `--source=npm appium-tizen-driver` | Android | Native | Community / Samsung | Not maintained since 2020 |
| [TizenTV](https://github.com/headspinio/appium-tizen-tv-driver) | `--source=npm appium-tizen-tv-driver` | Samsung TV | Web | HeadSpin | |
| [Youi](https://github.com/YOU-i-Labs/appium-youiengine-driver) | `--source=npm appium-youiengine-driver` | iOS, Android, macOS, Linux, tvOS | Native | Community / You.i | Not maintained since 2022 |
!!! note
```
If you maintain an Appium driver that you would like to be listed in the Appium docs, feel free
to make a PR to add it to this section with a link to the driver documentation.
If you maintain an Appium driver that you would like to be listed here, feel free to create a PR!
```
## Official Drivers
These drivers are currently maintained by the Appium team:
### [Chromium](https://github.com/appium/appium-chromium-driver)
- Target: Desktop and mobile Chromium browsers (Chrome, Microsoft Edge, etc.)
- Mode: Web
```sh title="Install This Driver"
appium driver install chromium
```
### [Espresso](https://github.com/appium/appium-espresso-driver)
- Target: Android applications
- Mode: Native
```sh title="Install This Driver"
appium driver install espresso
```
### [Gecko](https://github.com/appium/appium-geckodriver)
- Target: Desktop and mobile Gecko browsers (Firefox)
- Mode: Web
```sh title="Install This Driver"
appium driver install gecko
```
### [Mac2](https://github.com/appium/appium-mac2-driver)
- Target: macOS applications
- Mode: Native
```sh title="Install This Driver"
appium driver install mac2
```
### [Safari](https://github.com/appium/appium-safari-driver)
- Target: Desktop and mobile Safari browsers
- Mode: Web
```sh title="Install This Driver"
appium driver install safari
```
### [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver)
- Target: Android, Android TV, Android Wear applications
- Modes: Native, Hybrid, Web
```sh title="Install This Driver"
appium driver install uiautomator2
```
### [Windows](https://github.com/appium/appium-windows-driver)
!!! warning
```
Only the Node.js-based driver part is maintained by the Appium team. The server part
(WinAppDriver executable) is provided by Microsoft, but has not been maintained since 2022.
```
- Target: Windows applications
- Mode: Native
```sh title="Install This Driver"
appium driver install windows
```
### [XCUITest](https://appium.github.io/appium-xcuitest-driver/)
- Target: iOS, iPadOS, tvOS applications
- Modes: Native, Hybrid, Web
```sh title="Install This Driver"
appium driver install xcuitest
```
## Other Drivers
These drivers are not maintained by the Appium team and can be used to target other platforms:
### [Flutter](https://github.com/appium/appium-flutter-driver)
- Target: iOS and Android applications built with Flutter
- Mode: Native
- Supported by: Appium Team / Community
```sh title="Install This Driver"
appium driver install --source=npm appium-flutter-driver
```
### [Flutter Integration](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver)
- Target: iOS and Android applications built with Flutter
- Mode: Native
- Supported by: Community / `@AppiumTestDistribution`
```sh title="Install This Driver"
appium driver install --source=npm appium-flutter-integration-driver
```
### [LG WebOS](https://github.com/headspinio/appium-lg-webos-driver)
- Target: LG TV web applications
- Mode: Web
- Supported by: HeadSpin
```sh title="Install This Driver"
appium driver install --source=npm appium-lg-webos-driver
```
### [Linux](https://github.com/fantonglang/appium-linux-driver)
!!! warning
```
This driver has not been maintained since 2022 and requires a custom Appium installation
```
- Target: Linux applications
- Mode: Native
- Supported by: `@fantonglang`
```sh title="Install This Driver"
git clone https://github.com/fantonglang/appium
cd appium
yarn install
node ./
```
### [NovaWindows](https://github.com/AutomateThePlanet/appium-novawindows-driver)
!!! info
```
This driver is recommended as a drop-in replacement for the partially unmaintained
[Windows driver](#windows)
```
- Target: Windows applications
- Mode: Native
- Supported by: Community / Automate The Planet
```sh title="Install This Driver"
appium driver install --source=npm appium-novawindows-driver
```
### [Roku](https://github.com/headspinio/appium-roku-driver)
- Target: Roku channels (applications)
- Mode: Native
- Supported by: HeadSpin
```sh title="Install This Driver"
appium driver install --source=npm @headspinio/appium-roku-driver
```
### [Tizen](https://github.com/Samsung/appium-tizen-driver)
!!! warning
```
This driver has not been maintained since 2020 and is only compatible with Appium 1
```
- Target: Tizen applications
- Mode: Native
- Supported by: Community / Samsung
```sh title="Install This Driver"
npm install appium-tizen-driver
```
### [TizenTV](https://github.com/headspinio/appium-tizen-tv-driver)
- Target: Tizen TV web applications
- Mode: Web
- Supported by: HeadSpin
```sh title="Install This Driver"
appium driver install --source=npm appium-tizen-tv-driver
```
### [You.i Engine](https://github.com/YOU-i-Labs/appium-youiengine-driver)
!!! warning
```
This driver has not been maintained since 2022 and is only compatible with Appium 1
```
- Target: iOS, Android, macOS, Linux, tvOS applications built with You.i Engine
- Mode: Native
- Supported by: Community / You.i
```sh title="Install This Driver"
npm install appium-youiengine-driver
```

View File

@@ -1,6 +1,4 @@
---
hide:
- toc
title: Appium Plugins
---
@@ -8,42 +6,135 @@ Plugins offer various ways to extend or modify Appium's behaviour. They are _com
and are not needed for standard automation functionality, but you may find them to be useful
for more specialised automation workflows.
Generally, plugins can be installed using their listed installation key, with the following command:
```
appium plugin install <installation key>
```
### Official Plugins
These plugins are are currently maintained by the Appium team:
| <div style="width:7em">Plugin</div> | <div style="width:8em">Installation Key</div> | Description |
| --------------------------------------------------------------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Execute Driver](https://github.com/appium/appium/tree/master/packages/execute-driver-plugin) | `execute-driver` | Run entire batches of commands in a single call to the Appium server |
| [Images](https://github.com/appium/appium/tree/master/packages/images-plugin) | `images` | Image matching and comparison features |
| [Inspector](https://github.com/appium/appium-inspector/tree/main/plugins) | `inspector` | Integrate the [Appium Inspector](https://github.com/appium/appium-inspector) directly into your Appium server installation, providing a web-based interface for inspecting and interacting with your application under test. |
| [Relaxed Caps](https://github.com/appium/appium/tree/master/packages/relaxed-caps-plugin) | `relaxed-caps` | Relax Appium's requirement for vendor prefixes on capabilities |
| [Storage](https://github.com/appium/appium/tree/master/packages/storage-plugin) | `storage` | Server-side storage with client-side management |
| [Universal XML](https://github.com/appium/appium/tree/master/packages/universal-xml-plugin) | `universal-xml` | Instead of the standard XML format for iOS and Android, use an XML definition that is the same across both platforms |
### Other Plugins
These plugins are not maintained by the Appium team and can provide additional functionality:
| <div style="width:6em">Plugin</div> | <div style="width:19em">Installation Key</div> | Description | <div style="width:13em">Supported By</div> |
| ---------------------------------------------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [AltUnity](https://github.com/headspinio/appium-altunity-plugin) | `--source=npm appium-altunity-plugin` | Target Unity games and apps for automation with a new context, via the AltUnityTester framework | HeadSpin |
| [Device Farm](https://github.com/AppiumTestDistribution/appium-device-farm) | `--source=npm appium-device-farm` | Manage and create driver sessions on connected Android devices and iOS simulators | `@AppiumTestDistribution` |
| [Gestures](https://github.com/AppiumTestDistribution/appium-gestures-plugin) | `--source=npm appium-gestures-plugin` | Perform basic gestures using W3C Actions | `@AppiumTestDistribution` |
| [Interceptor](https://github.com/AppiumTestDistribution/appium-interceptor-plugin) | `--source=npm appium-interceptor` | Intercept and mock API requests and responses | `@AppiumTestDistribution` |
| [OCR](https://github.com/jlipps/appium-ocr-plugin) | `--source=npm appium-ocr-plugin` | Find elements via OCR text | `@jlipps` |
| [Reporter](https://github.com/AppiumTestDistribution/appium-reporter-plugin) | `--source=npm appium-reporter-plugin` | Generate standalone consolidated HTML reports with screenshots | `@AppiumTestDistribution` |
| [Wait](https://github.com/AppiumTestDistribution/appium-wait-plugin) | `--source=npm appium-wait-plugin` | Manage global element wait timeouts | `@AppiumTestDistribution` |
!!! note
```
If you maintain an Appium plugin that you would like to be listed in the Appium docs, feel free
to make a PR to add it to this section with a link to the documentation for the plugin.
If you maintain an Appium plugin that you would like to be listed here, feel free to create a PR!
```
## Official Plugins
These plugins are are currently maintained by the Appium team:
### [Execute Driver](https://github.com/appium/appium/tree/master/packages/execute-driver-plugin)
Run entire batches of commands in a single call to the Appium server
```sh title="Install This Plugin"
appium plugin install execute-driver
```
### [Images](https://github.com/appium/appium/tree/master/packages/images-plugin)
Add support for image matching and comparison features
```sh title="Install This Plugin"
appium plugin install images
```
### [Inspector](https://github.com/appium/appium-inspector/tree/main/plugins)
Integrate the [Appium Inspector](https://appium.github.io/appium-inspector/) directly into your
Appium server installation
```sh title="Install This Plugin"
appium plugin install inspector
```
### [Relaxed Caps](https://github.com/appium/appium/tree/master/packages/relaxed-caps-plugin)
Relax Appium's requirement for vendor prefixes on capabilities
```sh title="Install This Plugin"
appium plugin install relaxed-caps
```
### [Storage](https://github.com/appium/appium/tree/master/packages/storage-plugin)
Add server-side storage with client-side management
```sh title="Install This Plugin"
appium plugin install storage
```
### [Universal XML](https://github.com/appium/appium/tree/master/packages/universal-xml-plugin)
Translate the default iOS and Android XML formats into a common format
```sh title="Install This Plugin"
appium plugin install universal-xml
```
## Other Plugins
These plugins are not maintained by the Appium team and can provide additional functionality:
### [AltUnity](https://github.com/headspinio/appium-altunity-plugin)
Target Unity games and apps for automation via the AltUnityTester framework
Supported by: HeadSpin
```sh title="Install This Plugin"
appium plugin install --source=npm appium-altunity-plugin
```
### [Device Farm](https://github.com/AppiumTestDistribution/appium-device-farm)
Manage and create driver sessions on connected Android devices and iOS simulators
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-device-farm
```
### [Gestures](https://github.com/AppiumTestDistribution/appium-gestures-plugin)
Perform basic gestures using W3C Actions
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-gestures-plugin
```
### [Interceptor](https://github.com/AppiumTestDistribution/appium-interceptor-plugin)
Intercept and mock API requests and responses
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-interceptor
```
### [OCR](https://github.com/jlipps/appium-ocr-plugin)
Find elements via OCR text
Supported by: `@jlipps`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-ocr-plugin
```
### [Reporter](https://github.com/AppiumTestDistribution/appium-reporter-plugin)
Generate standalone consolidated HTML reports with screenshots
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-reporter-plugin
```
### [Wait](https://github.com/AppiumTestDistribution/appium-wait-plugin)
Manage global element wait timeouts
Supported by: `@AppiumTestDistribution`
```sh title="Install This Plugin"
appium plugin install --source=npm appium-wait-plugin
```

View File

@@ -1,41 +1,61 @@
---
hide:
- toc
title: Appium-Related Tools
---
There are several Appium tools that have been created to to assist with things not directly related
to testing, such as Appium installation, test development, and more.
The Appium ecosystem also includes several tools that have been created to assist with things not
directly related to running tests, such as Appium installation, test development, and more.
### [Appium Inspector](https://appium.github.io/appium-inspector/latest/)
!!! note
```
If you maintain an Appium tool that you would like to be listed here, feel free to create a PR!
```
## Official Tools
These tools are currently maintained by the Appium team:
### [Appium Inspector](https://appium.github.io/appium-inspector/)
Appium has a graphical client which can be used to inspect application screenshots, view the
application hierarchy, run Appium commands, record app interactions, and more. It is very useful
for Appium test development.
application hierarchy, search for elements, run Appium commands, record app interactions, and more.
It can be very useful for Appium test development.
Find downloads and more information on its GitHub page: [Appium Inspector](https://github.com/appium/appium-inspector)
## Extension Tools
Appium driver or plugin developers can choose to include these tools in their driver/plugin:
### Appium Doctor
Appium Doctor is a command-line tool built into Appium drivers and plugins.
The command is expected to be used to validate whether a driver or plugin has all of its prerequisites and other environment details set up correctly
if the driver/plugin author implemented the `doctor` command.
The Appium Doctor tool can be used to validate whether all prerequisites and other environment
details needed for the driver/plugin have been set up correctly. The tool can be accessed via the
[`doctor` command in the Appium CLI](../cli/extensions.md#doctor):
For example, `uiautomator2` driver provides the `doctor` command below.
```
appium driver doctor uiautomator2
```sh
appium {driver|plugin} doctor <extension-name>
```
It shows no result if the driver/plugin author did not implement them.
It shows no results if the driver/plugin author did not implement Doctor support.
More information on this command can be found in the [Command-Line Usage documentation](../cli/extensions.md#doctor).
For driver/plugin developers, please read [Building Doctor Checks](../developing/build-doctor-checks.md).
!!! note
### Other Tools
```
If you maintain an Appium extension and would like to add Appium Doctor support for it, check
out the documentation on [Building Doctor Checks](../developing/build-doctor-checks.md).
```
These tools are not maintained by the Appium team and can be used to assist with other problems:
## Other Tools
| Name | Description | Supported By |
| ------------------------------------------------------------------------------ | ----------------------------------------------------- | ------------------------- |
| [appium-installer](https://github.com/AppiumTestDistribution/appium-installer) | Help set up an Appium environment for Android and iOS | `@AppiumTestDistribution` |
These tools are not maintained by the Appium team:
### [Appium Installer](https://github.com/AppiumTestDistribution/appium-installer)
Appium Installer is a command-line tool for simplifying setups of new Appium test environments.
It includes commands for installing Appium, its drivers and plugins, as well as validating
prerequisites for iOS or Android emulators or real devices.
Supported by: `@AppiumTestDistribution`
```sh title="Install This Tool"
npm install -g appium-installer
```