Skip to content

Releases: serhatbolsu/robotframework-appiumlibrary

AppiumLibrary v3.2.1

15 Dec 20:27

Choose a tag to compare

AppiumLibrary is a mobile testing library for Robot Framework. It uses Appium to communicate with Android and iOS applications similar to how Selenium WebDriver talks to web browser.

AppiumLibrary v3.2.1 supports Python 3.9 through 3.13, Appium Python Client version 5.1.1 or greater, and Selenium version 4.26.0 or greater. This release adds support for Robot Framework v7.4. It was released on Monday, 15th December 2025.

Changes

  • Remove the following deprecated keywords Reset Application, Element Name Should Be, Element Value Should Be, Zoom, Long Press. [#462]

  • Implement new assertion keywords Expect Element, Expect Text. These two keywords make it easier to verify than an existing element reaches a specific state. Both support configurable timeout and retry interval parameters, allowing to check to wait and retry until the expected state is met or the timeout is reached. This is useful in cases where UI updates are not immediate or depend on some event. These replace the following keywords: Element Should Be Enabled, Element Should Be Disabled, Element Should Be Visible, Text Should Be Visible. [#462]

  • Deprecate the following keywords Element Should Be Enabled, Element Should Be Disabled, Element Should Be Visible, Text Should Be Visible. Use the new assertion keywords Expect Element, Expect Text instead. [#462]

  • Utility script to update a repository or file to the latest changes: update_appium_tool.py
    The script can be run in two modes:

    1. python update_appium_tool.py path/to/repository/or/file updates the repository
    2. python update_appium_tool.py path/to/repository/or/file --dry-run shows what will be updated, without modifying any files

    The script replaces the following deprecated keyword calls with new ones: Text Should Be Visible, Element Should Be Disabled, Element Should Be Enabled, Element Should Be Visible, Element Value Should Be, Element Name Should Be. [#462]

  • Removed kitchen dependency; updating how file push generates byte string [#463]

  • Made compatible to Robot Framework version 7.4 [#459]

Acknowledgements

First I want to thank Guilherme Carvalho who noticed the v3.2 release was not resolving the v7.4 issue and there might be a v3.2 release issue. Indeed I botched that release and thus need to make this one. Thanks Guilherme for checking it out and reporting the issue.

I want to thank ..

I also want to thank Gaddour for several PRs that did not make it into this release but are currently under review. We appreciate your interest and work towards improving the library.

I want to thank Hélio Guilherme, Mark Moberts, Pekka Klärck for reviewing, development guidance and general support which helped get out this release.

Thanks to the core development and maintainers, Gabriela Simion and Christoph Singer as well as their employer imbus, and for all their contributions and support.

Feedback and Feature Requests for future releases ..

If you have any feedback or feature requests please submit an issue on the repository or reach out in Slack. Some of the big picture questions and design we are wrestling with include: dual keywords apple and android, how to make a framework for gestures, including custom gestures, and what does the language of gesture look like?, coordinates and directions, and finally how, if at all, does appium work along selenium?.

So come and join us on this journey as we continue to build and support the AppiumLibrary!

AppiumLibrary v3.2

15 Dec 16:52

Choose a tag to compare

AppiumLibrary is a mobile testing library for Robot Framework. It uses Appium to communicate with Android and iOS applications similar to how Selenium WebDriver talks to web browser.

AppiumLibrary v3.2 supports Python 3.9 through 3.13, Appium Python Client version 5.1.1 or greater, and Selenium version 4.26.0 or greater. This release adds support for Robopt Framework v7.4. It was released on Monday, 15th December 2025.

Changes

  • Remove the following deprecated keywords Reset Application, Element Name Should Be, Element Value Should Be, Zoom, Long Press. [#462]

  • Implement new assertion keywords Expect Element, Expect Text. These two keywords make it easier to verify than an existing element reaches a specific state. Both support configurable timeout and retry interval parameters, allowing to check to wait and retry until the expected state is met or the timeout is reached. This is useful in cases where UI updates are not immediate or depend on some event. These replace the following keywords: Element Should Be Enabled, Element Should Be Disabled, Element Should Be Visible, Text Should Be Visible. [#462]

  • Deprecate the following keywords Element Should Be Enabled, Element Should Be Disabled, Element Should Be Visible, Text Should Be Visible. Use the new assertion keywords Expect Element, Expect Text instead. [#462]

  • Utility script to update a repository or file to the latest changes: update_appium_tool.py
    The script can be run in two modes:

    1. python update_appium_tool.py path/to/repository/or/file updates the repository
    2. python update_appium_tool.py path/to/repository/or/file --dry-run shows what will be updated, without modifying any files

    The script replaces the following deprecated keyword calls with new ones: Text Should Be Visible, Element Should Be Disabled, Element Should Be Enabled, Element Should Be Visible, Element Value Should Be, Element Name Should Be. [#462]

  • Removed kitchen dependency; updating how file push generates byte string [#463]

  • Made compatible to Robot Framework version 7.4 [#459]

Acknowledgements

I want to thank ..

I also want to thank Gaddour for several PRs that did not make it into this release but are currently under review. We appreciate your interest and work towards improving the library.

I want to thank Hélio Guilherme, Mark Moberts, Pekka Klärck for reviewing, development guidance and general support which helped get out this release.

Thanks to the core development and maintainers, Gabriela Simion and Christoph Singer as well as their employer imbus, and for all their contributions and support.

Feedback and Feature Requests for future releases ..

If you have any feedback or feature requests please submit an issue on the repository or reach out in Slack. Some of the big picture questions and design we are wrestling with include: dual keywords apple and android, how to make a framework for gestures, including custom gestures, and what does the language of gesture look like?, coordinates and directions, and finally how, if at all, does appium work along selenium?.

So come and join us on this journey as we continue to build and support the AppiumLibrary!

AppiumLibrary v3.1

18 Aug 11:28

Choose a tag to compare

AppiumLibrary is a mobile testing library for Robot Framework. It uses Appium to communicate with Android and iOS applications similar to how Selenium WebDriver talks to web browser.

AppiumLibrary v3.1 supports Python 3.9 through 3.13, Appium Python Client version 5.1.1 or greater, and Selenium version 4.26.0 or greater. It was released on Monday, 18th August 2025 .

Changes

  • Fix Start Activity

  • Add support for both locator and coordinates in Tap keyword. Check keyword documentation for more information.

  • Deprecate Long Press as its functionality can be replaced by the updated Tap keyword

  • Add timedelta to Tap and Tap With Positions

  • Deprecate Element Value Should Be and Element Name Should Be as they can be replaced by Element Attribute Should Match

  • Add Get Device Location [#452]

  • Update the keyword documentation

  • Updated Python package to use pyproject.toml [#451]

Acknowledgements

I want to thank ..

  • Eslem Elmishtawy for contributing the Get Device Location keyword. [#452]

  • axiom41 for pointing out the setup.py warning and to Tatu Aalto for sharing his experience converting to pyproject.toml. [#451]

  • Christoph Singer and Gabriela Simion for all their contributions. It is their main contributions that make this release. I also want to recognize imbus for their support of Christoph and Gabriela and the larger Robot Framework community.

Feedback and Feature Requests for future releases ..

If you have any feedback or feature requests please submit an issue on the repository or reach out in Slack. Some of the big picture questions and design we are wrestling with include: dual keywords apple and android, how to make a framework for gestures, including custom gestures, and what does the language of gesture look like?, coordinates and directions, and finally how, if at all, does appium work along selenium?.

So come and join us on this journey as we continue to build and support the AppiumLibrary!

AppiumLibrary v3.0.0

30 Jul 02:12

Choose a tag to compare

AppiumLibrary is a mobile testing library for Robot Framework. It uses Appium to communicate with Android and iOS applications similar to how Selenium WebDriver talks to web browser.

AppiumLibrary v3.0.0 supports Python 3.9 through 3.13, Appium Python Client version 5.1.1 or greater, and Selenium version 4.26.0 or greater. It was released on Tuesday, 29th July 2025 .

Changes

  • Update the Appium-Python-Client and selenium versions. As noted this version of AppiumLibrary supports Appium-Python-Client version 5.1.1 or greater, and Selenium version 4.26.0 or greater.

  • Update Open Application. Open Application now uses the ClientConfig for configuration. If you encounter any issues or warnings when using this keyword, please refer to Selenium’s client config class [docs, code]

  • Removed the deprecated keyword Launch Application. Use Activate Application keyword instead.

  • Removed the deprecated keyword Background App. Use Background Application keyword instead.

  • Removed the deprecated keyword Quit Application. Use Close Application keyword instead.

  • Removed the deprecated keyword Click Button. Use Click Element keyword instead.

  • Removed the additional following deprecated keywords Click A Point, Click Element At Coordinates, Pinch

  • Swipe now requires named arguments. To help clarify the end point arguments (over distance) we require you to use named arguments only with this keyword. See the keyword documentation for examples.

  • Fixed Long Press and Tap by replacing TouchAction with ActionHelpers

  • Add Android functionality for Scroll Up and Scroll Down

  • Added Get Device Time keyword to retrieve the device's current time

Acknowledgements

There are a lot of people who deserve credit for this release. First I want to give a great deal of thanks to Gaja from Eficode. Gaja has been sharing her great depth of technical knowledge and practical experience as we work to bring the AppiumLibrary up to date. I also want to give a great big Thank You to Gabi and Christoph from imbus. They have been the main drivers and developers for this release. Their (welcomed) persistence has helped us cross the finish line with this release.

I want to extend my gratitude to both the teams and leadership at Eficode and imbus, both Robot Framework Foundation members and supporters. As mentioned, it was their team members that both helped me get this release out and thus helped the community at large. It is that type of support that makes this community healthy, vibrant, and such a wonderful community to be a part of. So Thank You Eficode and imbus!

I want to thank Dor Blayzer, Jani Mikkonen, Diego Molina, Marcos Kobuchi, Mandeep Dhiman, Matthew Dahm, Gergely Turi, daisyzou, linyan0321, Alpha-Centauri-00, Nicolas Trutmann, Liviu Avram, Eslam Elmishtawy, Mohamed Sedky, Lukáš Procházka, Joshua Gorospe, and all those I might have missed - all who contributed help, ideas, suggestions, code, and some pleas for updates. Not all made it in but your suggestions and ideas help drive this release forward. So thank you.

Next I want to thank Aviv and Israel who came looking for AppiumLibrary support and fellow users at RoboCon that really started this revitalization of the library.

Finally I want to thank Serhat Bolsu and William Zhang for contributing this Library to the community.

If you have praise or gratitude for this release please go and thank the people and corporations above. If you have issues with this release, come and blame me - Ed Manlove. You can find me in either the Robot Framework Community Slack or GitHub. Speaking of which, we are already planning some upcoming releases, so …

Feedback and Feature Requests for future releases ..

If you have any feedback or feature requests please submit an issue on the repository or reach out in Slack. Some of the big picture questions and design we are wrestling with include: dual keywords apple and android, how to make a framework for gestures, including custom gestures, and what does the language of gesture look like?, coordinates and directions, and finally how, if at all, does appium work along selenium?.

So come and join us on this journey as we continue to build and support the AppiumLibrary!

2.1.0

08 Jun 21:29

Choose a tag to compare

AppiumLibrary 2.1.0

AppiumLibrary is a mobile testing solution for Robot Framework. This release includes
quite a few changes which are listed below.

Changes

  • Relaxed requirement for selenium allowing up to and including 4.16
  • Fix selenium to use compatible versions
  • updated documentation for ios predicate
    • Updated documentation for predicate type of element
    • Delete .DS_Store
    • Update documentation on ios predicate
  • Added optional first_only parameter to Get Text (#402)
    • Be able to get the text from all elements matching one locator
    • Default behavior not changed
  • Fix dependency break (#417) (#418)
    Python-Appium-Client 4.0.0 has removed certain features installation
    breaks currently as current codebase still uses those removed features
    like TouchAction
  • Added method to click iOS Alert button in Appium v2 (#420)
  • Update Android element attributes names docs in _element.py (#421)
  • Fix: remove appended dot in waitactivity (#383)
    • Remove appending of dot in Android wait_activity
  • use capabilities instead of desired_capabilities (#414)
    • ...to support selenium 4.17.2 and above
  • Update Server CLI Args link in _applicationmanagement.py (#408)
  • Fix contributor link of jollychang in README.rst (#405)
  • Fix selenium to use compatible versions
  • Add library argument and keyword to set sleep between wait until loop (#313)
    • Make sleep between wait loop configurable via keyword
    • add get sleep_between_wait keyword
    • rename keyword
    • add sleep_between_wait_loop argument in library import
  • Enhance README file (#373)
    • Enhance README file
      • Update the project contributors.
      • Add 2 Options for installation
      • Add Apache 2.0 License Badge
    • Set Uniform Size for Contributor's avatars
  • GitHub workflows (#357)
    • Create publish.yml
    • Update .github/workflows/publish.yml
    • Removed Install dependencies step
  • Implement New Action Keyword Drag And Drop (#371)
  • Implement New Action Keyword Flick (#370)
    • Implement New Action Keyword Flick
    • Revise the location of the flick keyword
    • Update Documentation
  • Fix Makefile
    • Typo fix in help
    • Indentation fix in test_requirements
  • Update docs

Acknowledgements

There are many people who helped put together the changes for this release. I
want to thank Guilherme Correa, Liviu Avram, Yoann, Jani Mikkonen, Dor Blayzer,
euphonious28, tkoukkari, Sadik Kuzau, Tanakiat Srisaranyakul, Josh Rivera,
Filipe Henrique Benjamim de Arruda for their contributions to the issues and
changes made in this release.

I personally want to thank Serhat Bolsu for working with me and the larger Robot
Framework community to continue to maintain and support this library. As a community,
we have greatly benefited from his work and look forward to the continued success of
the library.

I also want to thank Gaja, Joshua, Liviu, Aviv, Dor, and an every growing list of community
members who have helped me understanding all aspects of Appium and the mobile testing
space within Robot Framework. - Ed Manlove

2.0.0

01 Nov 11:44

Choose a tag to compare

Selenium 4 Support with python-client v2.0.0

  • Deprecate the TouchAction keywords
  • Deprecate launch_application, quit_application, reset_application according to Appium Python Client
  • Rename Activate App to Activate Application for consistency
  • Rename Background App to Background Application for consistency
  • Rename Stop App to Stop Application for consistency
  • Rename Remove App to Remove Application for consistency
  • Added Terminate Application
  • Support for strict_ssl added in Open Application
  • Support for arguments(dict) with Execute Script and Execute Async Script
  • Added Tap With Positions that uses new ActionChain of w3c
  • Espresso selector support (viewtag, data matcher, view matcher)
  • Fix all find_element_by to find_element using AppiumBy

What's Changed

New Contributors

Full Changelog: 1.6.3...2.0.0

1.6.3

18 Sep 11:38

Choose a tag to compare

  • Scroll fix of Appium 1.22 by @Wolfe1
  • Added switch iframe and parent frame by @KenSrc

1.6

04 May 08:10

Choose a tag to compare

1.6
  • Sample code
  • Documentation update on how to start
  • Execute Adb Shell - new keyword added
  • Screen record - new keyword added
  • Is Keyboard Shown - new keyword added
  • (iOS) Chain - locator added
  • (iOS) Tab multiple times - new keyword added
  • (Android) Open Notifications - new keyword added

1.5

19 Nov 19:51
6c467ea

Choose a tag to compare

1.5
  • iOS predicates selector - new locator strategy
  • Execute Sync/Async Script in Web context - new keyword added
  • Long press has time parameter now
  • Added log-level filter for reporting
  • Set Location Keyword - new keyword added
  • Appium-Python library min-version bump
  • Simulate Touch ID on iOS Simulator

1.4.6

19 Nov 19:52

Choose a tag to compare

  • Some of the best practices uses a way not to open/close webdriver session on every test case.
    Releasing support to Launch/Quit application while keeping the webdriver session open. Refer to keyword documentation for an example.
    Since Open Application / Close Application are used keyword naming, Launch / Quit are used
  • Unicode support required improvements as Appium has done some changes on iOS side.

New Keywords:

Keyword Argument1
Launch Application
Quit Application