Skip to content

Releases: serhatbolsu/robotframework-appiumlibrary

2.1.0

08 Jun 21:29
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

1.4.5

04 Aug 23:23
Compare
Choose a tag to compare
  • 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

27 Oct 17:01
Compare
Choose a tag to compare
  • 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 is name, value or label
    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

12 Oct 14:22
Compare
Choose a tag to compare
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 and xpath 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 and Page 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

29 Aug 07:52
Compare
Choose a tag to compare

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.