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 secondsIn 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 millisecondsor 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
StringIOimport 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.