Releases: serhatbolsu/robotframework-appiumlibrary
AppiumLibrary v3.2.1
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:python update_appium_tool.py path/to/repository/or/fileupdates the repositorypython update_appium_tool.py path/to/repository/or/file --dry-runshows 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 ..
-
Oliver Boehmer and Mikko Korpela for reporting the compatibility issues with Robot Framework v7.4 [#459]
-
Roman Haladej for reporting on the kitchen dependency issue. [#463]
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
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:python update_appium_tool.py path/to/repository/or/fileupdates the repositorypython update_appium_tool.py path/to/repository/or/file --dry-runshows 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 ..
-
Oliver Boehmer and Mikko Korpela for reporting the compatibility issues with Robot Framework v7.4 [#459]
-
Roman Haladej for reporting on the kitchen dependency issue. [#463]
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
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
Tapkeyword. Check keyword documentation for more information. -
Deprecate
Long Pressas its functionality can be replaced by the updatedTapkeyword -
Add timedelta to
TapandTap With Positions -
Deprecate
Element Value Should BeandElement Name Should Beas they can be replaced byElement 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 Locationkeyword. [#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
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 Applicationnow 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. UseActivate Applicationkeyword instead. -
Removed the deprecated keyword
Background App. UseBackground Applicationkeyword instead. -
Removed the deprecated keyword
Quit Application. UseClose Applicationkeyword instead. -
Removed the deprecated keyword
Click Button. UseClick Elementkeyword instead. -
Removed the additional following deprecated keywords Click A Point, Click Element At Coordinates, Pinch
-
Swipenow 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
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_onlyparameter toGet 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
- Enhance README file
- 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
- Implement New Action Keyword
- 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
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 ApptoActivate Applicationfor consistency - Rename
Background ApptoBackground Applicationfor consistency - Rename
Stop ApptoStop Applicationfor consistency - Rename
Remove ApptoRemove Applicationfor consistency - Added
Terminate Application - Support for strict_ssl added in
Open Application - Support for arguments(dict) with
Execute ScriptandExecute Async Script - Added
Tap With Positionsthat 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
- Adding new keyword adb command timeout by @felipetortella in #328
- Add the possibility to embed screenshots in log.html as base64 content by @arnaudruffin in #332
- Support applications with multiple webviews. Add scrolling to the visible webview. by @matthew-dahm in #329
- Version bump by @sadikkuzu in #345
- Fix for #352 by @js361014 in #353
- Added file deleting support for Android by @js361014 in #354
- Added get_element_rect by @js361014 in #356
- Added app activation by @js361014 in #359
- Added remove app by @js361014 in #361
- Added stopping app by @js361014 in #360
New Contributors
- @felipetortella made their first contribution in #328
- @arnaudruffin made their first contribution in #332
- @matthew-dahm made their first contribution in #329
- @sadikkuzu made their first contribution in #345
Full Changelog: 1.6.3...2.0.0
1.6.3
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
- 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
- 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 |