X Tutup
Skip to content

Latest commit

 

History

History
265 lines (221 loc) · 11.2 KB

File metadata and controls

265 lines (221 loc) · 11.2 KB

SeleniumLibrary 6.1.0

SeleniumLibrary is a web testing library for Robot Framework that utilizes the Selenium tool internally. SeleniumLibrary 6.1.0 is a new release with some enhancements around timeouts, broadening edge support and removing deprecated Opera support, and bug fixes.

If you have pip installed, just run

pip install --upgrade robotframework-seleniumlibrary

to install the latest available release or use

pip install robotframework-seleniumlibrary==6.1.0

to install exactly this version. Alternatively you can download the source distribution from PyPI and install it manually.

SeleniumLibrary 6.1.0 was released on Wednesday May 3, 2023. SeleniumLibrary supports Python 3.7+, Selenium 4.0+ and Robot Framework 4.1.3 or higher.

The ability to set the page load timeout value was added (#1535). This can be done on the Library import. For example, one could set it to ten seconds, as in,

*** Setting ***
Library           SeleniumLibrary    page_load_timeout=10 seconds

In addition there are two addition keywords (Set Selenium Page Load Timeout and Get Selenium Page Load Timeout) which allow for changing the page load timeout within a script. See the keyword documentation for more information.

Actions chains allow for building up a series of interactions including mouse movements. As to simulate an acutal user moving the mouse a default duration (250ms) for pointer movements is set. This change (#1768) allows for the action chain duration to be modified. This can be done on the Library import, as in,

*** Setting ***
Library           SeleniumLibrary    action_chain_delay=100 milliseconds

or with the setter keyword Set Action Chain Delay. In addition one can get the current duretion with the new keyword Get Action Chain Delay. See the keyword documentation for more information.

The keyword documentation around timeouts was enhanced (#1738) to clarify what the default timeout is and that the default is used if None is specified. The changes are, as shown in bold,

The default timeout these keywords use can be set globally either by using the Set Selenium Timeout keyword or with the timeout argument when importing the library. If no default timeout is set globally, the default is 5 seconds. If None is specified for the timeout argument in the keywords, the default is used. See time format below for supported timeout syntax.

The executable path to the edge browser has been changed (#1698) so as to support both Windows and Linux/Unix/MacOS OSes. One should not notice any difference under Windows but under Linux/*nix one will no longer get an error message saying the Windows executable is missing.

There were some issues when using None as a parameter under certain arguments within the SeleniumLibrary(#1733). This was due to the type hinting and argument conversions. The underlying issue was resolved within the PythonLibCore to which we have upgraded to PythonLibCore v3.0.0.

  • Support for the Opera browser was removed from the underlying Selenium Python bindings and thus we have removed the deprecated opera support. (#1786)
  • Internal Only: The library's acceptance tests removed a deprecated rebot option. (#1793)

Please Take Note - The SeleniumLibrary Team will be depreciating and removing the Selenium2Library package in an upcoming release. When the underlying Selenium project transitioned, over six years ago, from distinguishing between the "old" selenium (Selenium 1) and the "new" WebDriver Selenium 2 into a numerically increasing versioning, this project decided to use the original SeleniumLibrary package name. As a convenience the Selenium2Library package was made a wrapper around the SeleniumLibrary package. Due to the issues around upgrading packages and the simple passage of time, it is time to depreciate and remove the Selenium2Library package.

If you are still installing the Selenium2Libary package please transition over, as soon as possible, to installing the SeleniumLibrary package instead.

  • @0xLeon for suggesting and @robinmatz for enhancing the page load timeout; adding an API to set page load timeout. (#1535)
  • @johnpp143 for reporting the action chains timeout as fixed and unchangeable. @rasjani for enhancing the library import and adding keywords allowing for user to set the Action Chain's duration. (#1768)
  • Dave Martin for enhancing the documentation around Timeouts. (#1738)
  • @tminakov for pointing out the issue around the None type and Tato Aalto and Pekka Klärck for enhancing the core and PLC resolving an issue with types. (#1733)
  • @remontees for adding support for Edge webdriver under Linux. (#1698)
  • Lassi Heikkinen for assisting in removing deprecated opera support (#1786), for enhancing the acceptance tests (#1788), for fixing the tests on firefox (#1808), and for removing the deprecated rebot option (#1793).
  • @dotlambda for pointing out that the RemoteDriverServerException was removed from Selenium (#1804)
  • @DetachHead for fixing StringIO import as it was removed in robot 5.0 (#1753)

In addition to the acknowledgements above I want to personally thank Jani Mikkonen as a co-maintainer of the SeleniumLibrary and all the support he has given over the years. I also want to thank Tatu Aalto for his continued support and guidance of and advice concerning the SeleniumLibrary. Despite "leaving" the project, he still is actively helping me to which I again say Kiitos! As I talked about in our Keynote talk at RoboCon 2023 I have been working on building up the SeleniumLibrary team. I want to acknowledge the following people who have stepped up and have been starting to take a larger development and leadership role with the SeleniumLibrary,

Lassi Heikkinen, Lisa Crispin, Yuri Verweij, and Robin Matz

Their active participation has made this library significantly better and I appreciate their contributions and participation. -- Ed Manlove

ID Type Priority Summary
#1733 bug high The Wait Until * keywords don't support a None value for the error parameter
#1535 enhancement high Add API to set page load timeout
#1698 enhancement high Update webdrivertools.py
#1738 enhancement high Suggestion for clarifying documentation around Timeouts
#1768 enhancement high Keywords which uses action chains are having a default 250ms timeout which cannot be overriden.
#1786 --- high Remove deprecated opera support
#1785 bug medium Review Page Should Contain documentation
#1796 bug medium atest task loses python interpreter when running with virtualenv under Windows
#1788 enhancement medium Acceptance tests: rebot option --noncritical is deprecated since RF 4
#1795 enhancement medium Microsoft edge webdriver
#1808 enhancement medium Fix tests on firefox
#1789 --- medium Review workaround for selenium3 bug tests
#1804 --- medium RemoteDriverServerException was removed from Selenium
#1794 bug low Documentation timing
#1806 enhancement low Remove remote driver server exception
#1807 enhancement low Rf v5 v6
#1815 enhancement low Updated Test Get Cookie Keyword Logging with Samesite attribute
#1753 --- low fix StringIO import as it was removed in robot 5.0
#1793 --- low Remove deprecated rebot option

Altogether 19 issues. View on the issue tracker.

X Tutup