Skip to main content

Introduction

AppiumLibrary is an appium testing library for Robot Framework. Library can be downloaded from PyPI.

It uses Appium to communicate with Android and iOS application similar to how Selenium WebDriver talks to web browser.

It is supporting Python 3.9+ and Appium Python Client 5.1.1+

Latest PyPI version Number of PyPI downloads License

Keyword Documentation

See Keyword Documentation for available keywords and more information about the library in general.

Installation

Option 1 (recommended)

The recommended installation method is using pip:

pip install --upgrade robotframework-appiumlibrary

Option 2

It is possible to install directly from GitHub repository. To Install latest source from the master branch, use this command: pip:

pip install git+https://github.com/serhatbolsu/robotframework-appiumlibrary.git

Please note that installation will take some time, because pip will clone the AppiumLibrary project to a temporary directory and then perform the installation.

See Robot Framework installation instructions for detailed information about installing Python and Robot Framework itself.

Device Setup

After installing the library, you still need to setup an simulator/emulator or real device to use in tests. iOS and Android have separate paths to follow, and those steps better explained in Appium Quickstart Intro. Please follow the Driver-Specific Setup according to platform.

[As we make updates to the AppiumLibrary we want to provide current and helpful documentation with regards to setting up not only devices but the full development environment. I’ll note personally I found this to be a bit overwhelming and complex - doable but lengthy. Once source which greatly helped me is the RoboCon 2024 workshop notes provide by the team at Eficode. This information may be incorporated here in the future.]

Usage

To write tests with Robot Framework and AppiumLibrary, AppiumLibrary must be imported into your RF test suite. See Robot Framework User Guide for more information.

As it uses Appium make sure your Appium server is up and running. For how to use Appium please refer to Appium Quickstart Intro.

When using Robot Framework, it is generally recommended to write tests easy to read/modify. The keywords provided in AppiumLibrary are pretty low level. It is thus typically a good idea to write tests using Robot Framework’s higher level keywords that utilize AppiumLibrary keywords internally. This is illustrated by the following example where AppiumLibrary keywords like Input Text are primarily used by higher level keywords like Input Search Query.

*** Settings ***
Documentation  Simple example using AppiumLibrary
Library  AppiumLibrary

*** Variables ***
${ANDROID_AUTOMATION_NAME}    UIAutomator2
${ANDROID_APP}                ${CURDIR}/demoapp/ApiDemos-debug.apk
${ANDROID_PLATFORM_NAME}      Android
${ANDROID_PLATFORM_VERSION}   %{ANDROID_PLATFORM_VERSION=11}

*** Test Cases ***
Should send keys to search box and then check the value
  Open Test Application
  Input Search Query  Hello World!
  Submit Search
  Search Query Should Be Matching  Hello World!


*** Keywords ***
Open Test Application
  Open Application  http://127.0.0.1:4723/wd/hub  automationName=${ANDROID_AUTOMATION_NAME}
  ...  platformName=${ANDROID_PLATFORM_NAME}  platformVersion=${ANDROID_PLATFORM_VERSION}
  ...  app=${ANDROID_APP}  appPackage=io.appium.android.apis  appActivity=.app.SearchInvoke

Input Search Query
  [Arguments]  ${query}
  Input Text  txt_query_prefill  ${query}

Submit Search
  Click Element  btn_start_search

Search Query Should Be Matching
  [Arguments]  ${text}
  Wait Until Page Contains Element  android:id/search_src_text
  Element Text Should Be  android:id/search_src_text  ${text}

Create a file with the content above (name it: test_file.robot) and execute:

robot test_file.robot

The above example is single file test case, more examples can be found in a sample project that illustrates using Robot Framework and AppiumLibrary. Check the sample project that you can find examples of mobile web & ios & android.

Contributing

Fork the project, make a change, and send a pull request!

Project Contributors

William Zhang

akupahkala

Arnaud Ruffin

Serhat Bolsu

soukingang

Junuen Villa

Xie Lieping

Erik Bartalos

Tanakiat Srisaranyakul

Joshua Rivera

Minh Nguyen

Thiago Paiva Brito

js361014

Sadik Kuzu

Jonathan Gayvallet

matthew-dahm

KumarS

jennyw1

JMcn

Xia Clark

ac-simoes

Ulhas Deshmukh

Leon Guo

Pramod

smaspe

eXtReMaL

Erol Selitektay

Filipe Arruda

Felipe Luiz Tortella

Filipe Henrique Benjamim de Arruda

Gaja

Gabriela Simion

Christoph Singer

Eslam Elmishtawy

Oliver Boehmer

Roman Haladej

Mikko Korpela

Hélio Guilherme

Mark Moberts

Ed Manlove

AppiumLibrary is modeled after (and forked from) appiumandroidlibrary, but re-implemented to use appium 1.X technologies.

Release files for robotframework-appiumlibrary 3.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for robotframework-appiumlibrary 3.2.1
File Size Uploaded
robotframework_appiumlibrary-3.2.1.tar.gz 40.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for robotframework-appiumlibrary 3.2.1
File Interpreter ABI Platform
robotframework_appiumlibrary-3.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 87.8 kB

Release files / robotframework_appiumlibrary-3.2.1.tar.gz

Download URL robotframework_appiumlibrary-3.2.1.tar.gz
Size 40.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f1a56efbbc00ea63ab577a18dcf4fcf5c262aa1cdbcab3ba97f971f75e255dfd
BLAKE2b-256 checksum
How to use checksums
4b17ab8c7c8a06daa561520a33261369ede02383cd562a24123b744494a94e76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / robotframework_appiumlibrary-3.2.1-py3-none-any.whl

Download URL robotframework_appiumlibrary-3.2.1-py3-none-any.whl
Size 47.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9bae5a078101a3eb667aef05829caa853dc7544ab36caf0e8ca5a79480ed464e
BLAKE2b-256 checksum
How to use checksums
29e621572505b7af0d933591861b821ee538fbd413adab09011a916aa05ed03f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

3.2.1 This release

2 release files

3.2

2 release files

3.1

2 release files

3.0.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.6.4

2 release files

1.6.3

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.6

2 release files

1.5.0.2

1 release file

1.5

2 release files

1.4.6

1 release file

1.4.5.6

1 release file

1.4.5.5

1 release file

1.4.5.4

1 release file

1.4.5

1 release file

1.4.4

1 release file

1.4.3

1 release file

1.4.2

1 release file

1.4.1.1

1 release file

1.4.1

1 release file

1.4.0.1

1 release file

1.3.7

1 release file

1.3.6

1 release file

1.3.5

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.7

1 release file

1.2.6

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.22

1 release file

1.0.21

1 release file

1.0.20

1 release file

1.0.19

1 release file

1.0.18

1 release file

1.0.17

1 release file

1.0.16

1 release file

1.0.15

1 release file

1.0.14

1 release file

1.0.13

1 release file

1.0.12

1 release file

1.0.11

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page