Releases: serhatbolsu/robotframework-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_only
parameter 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 App
toActivate Application
for consistency - Rename
Background App
toBackground Application
for consistency - Rename
Stop App
toStop Application
for consistency - Rename
Remove App
toRemove Application
for consistency - Added
Terminate Application
- Support for strict_ssl added in
Open Application
- Support for arguments(dict) with
Execute Script
andExecute 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
- 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 |
1.4.5
- Not visible element and text should be able to return error, this will be possible with new added keywords.
- Each device has different pixel rations which also effects test case script for pixels not being reliable.
Swipe By Percent
will handle swipes without requiring pixels.
New Keywords:
Keyword | Argument1 | Argument2 | Argument3 | Argument4 |
---|---|---|---|---|
Swipe By Percent | x_percent | y_percent | x_end_percent | y_end_percent |
Element Should Be Visible | locator | |||
Text Should Be Visible | text | |||
Get Window Height | ||||
Get Window Width |
1.4.1
- Unicode better support
Appium shortcomings cause testing challenges with unicode characters or non-english apps. Each platform have different implementation underlying so their behaviour is different. While Android can handle unicode characters inside xpath
, iOS can not. Unicode normalization used in order to make everything work without hassle.
- Unicode supported now inside xpath text.
example:
Click Element //*[@name="öışğ"]
Input Text //*[contains(@text, "ışüğ")]
Click Text
iOS handling is much better now. Works regardless if text isname
,value
orlabel
example:
Click Text SignUp
This will first check if name
does match, if not it will check value
or label
. But this is just logic underlying.
Please do not hesitate to open issues
1.4
Important new features and compatibility features with Selenium added in this release
Selectors now takes id
and xpath
as default so you do not need to specify if you are using id
or xpath
(which starts with //
) . Also you can now use WebElement
in addition to other locators.
Existing test cases will not be effected, no change is required 👍
- New finding elements strategy now supports directly using WebElement. Check keyword documentation for more information.
- Added default locator strategies. Default is:
id
andxpath
check library introduction for more details. Click Text
added as keyword in which you can directly click on found texts. Underlying it works on predefined xpath depending on platform.- Unicode fixes also reflected on
Page Should Contain Text
andPage Should Not Contain Text
- Getting an element text is added and its helper keywords.
New Keywords:
Keyword | Argument1 | Argument2 |
---|---|---|
Get Text | locator | |
Click Text | text | exact_match |
Element should contain text | locator | text |
Element should not contain text | locator | text |
Element text should be | locator | text |
Get Matching Xpath Count | xpath_locator | |
Xpath Should Match X Times | xpath_locator | count |
Name Change: (Breaking Change)
Get Element -> Get Webelement
Get Elements -> Get Webelements
Source distribution is available at PyPI and pip users can simply run:
# to install or upgrade to the latest release.
pip install --upgrade robotframework-appiumlibrary
v1.3.7
- Swipe critical bug fix (thanks to @minhnguyenphuonghoang )
Source distribution is available at PyPI and pip users can simply run
pip install --upgrade robotframework-appiumlibrary
to install or upgrade to the latest release.