Update dependency robotframework-seleniumlibrary to v6 #92
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==5.1.3
->==6.6.1
Release Notes
robotframework/SeleniumLibrary (robotframework-seleniumlibrary)
v6.6.1
: SeleniumLibrary 6.6.1Compare Source
SeleniumLibrary 6.6.1 is a new release which adds Python 3.12 support. SeleniumLibrary supports
Python 3.8 through 3.12, Selenium 4.21.0 through 4.24.0 and Robot Framework 6.1.1 and 7.0.1.
Most important enhancement (and only one)
Added support for Python 3.12 (#1906)
Support for Python 3.12 was added in this release. In addition we added Robot Framework 7.0.1
while dropping 5.0.1 which did not officially support Python 3.12. In addition with the almost
monthly releases of Selenium we have caught up testing against and supporting Selenium versions
4.21.0, 4.22.0, 4.23.1, and 4.24.0.
Acknowledgements
Yuri Verweij, Tatu Aalto and Lassi Heikkinen for reviewing the changes. (#1906)
See full details in release notes
v6.6.0
Compare Source
v6.5.0
Compare Source
v6.4.0
: SeleniumLibrary 6.4.0Compare Source
SeleniumLibrary 6.4.0 is a new release with enhancements around driver configuration and logging, printing pages as pdf, and some bug fixes. SeleniumLibrary supports Python 3.8 through 3.11, Selenium 4.16.0 through 4.21.0 and
Robot Framework 5.0.1, 6.1.1 and 7.0.
Most important enhancements
Add new selenium 4 print page as PDF functionality (#1824)
The print page as pdf functionality within Selenium 4 has been added into SeleniumLibrary
with a new keyword. See the keyword documentation for usage.
Add driver Service Class into Open Browser (#1900)
Selenium has shifted from a couple arguments for configuring the driver settings into the new
Service class. As with the options argument these changes allows for service class to be set
using a simlar string format. More information can be found in the
Open Browser
keyworddocumentation and newly rearranged Introduction.
Add warning about frame deselection when using
Page Should Contain
keyword. (#1894)In searching through the page, the
Page Should Contain
keyword will select and searchthrough frames. Thus it silently changes the frame context. Added warning within the keyword
documentation noting as such.
Wrong Type Hint on some keywords. (#1880)
Several type hints on locator arguments denoted the argument allowed for none when indeed
they did not. This corrects those type hints.
Deprecated features
Start Deprecation and Removal of Selenium2Library (deep) references/package (#1826)
Removed references and instructions regarding Selenium2Library; moving some to an archived
VERSIONS.rst top level documentation.
Acknowledgements
locator: Union[WebElement, None, str]
) (#1880)See full details in release notes
v6.3.0
: SeleniumLibrary 6.3.0Compare Source
SeleniumLibrary 6.3.0 is a new release with enhancements including minimizing browser window, waiting on expected conditions, getting element attribute or properties and bug fixes. SeleniumLibrary supports Python 3.8 through 3.11, Selenium 4.14.0 through 4.19.0 and Robot Framework 5.0.1, 6.1.1 and 7.0.
Most important enhancements
Added
Minimize Browser Window
keyword (#1741)New keyword which minimizes the current browser window.
Add keywords to fetch differentiated element Attribute or Property (#1822)
The older
Get Element Attribute
keyword uses the Selenium getAttribute() method which, as [this SauceLabs article (https://saucelabs.com/resources/blog/selenium-4-new-element-attribute-and-property-methods) describes "did not actually retrieve the Attribute value." Instead it "figured out what the user was most likely interested in between the Attribute value and the Property values and returned it." This would mean sometimes it might return an unexpected result. Selenium 4 introduced newer methods which returns either the attribute or the property as specifically asked for.It is recommend that one transition to these newer
Get DOM Attribute
andGet Property
keywords.Incorporate the expected conditions of Selenium (#1827)
A new keyword that allows for one to wait on an expected condition.
Remove deprecation of Press Key keyword (#1892)
The Press Keys keyword was introduced to replace Press Key. Press Key in turn was deprecated but I (Ed Manlove) failed to remove. Its been noted that both keywords use different underlying methods for sending or pressing keys and either one will work in differing situations. So instead of removing Press Key, it has been reinstated as a library keyword.
Acknowledgements
and Yuri Verweij, Lisa Crispin, and Tatu Aalto for their continued support of the library development.
See full details in release notes
v6.2.0
: SeleniumLibrary 6.2.0Compare Source
SeleniumLibrary 6.2.0 is a new release with compatibility fixes for recent selenium versions and some bug fixes. SeleniumLibrary supports Python 3.8 through 3.11, Selenium 4.12.0 through 4.15.2 and Robot Framework 5.0.1 and 6.1.1.
Most important enhancements
Remove deprecated headless option for chrome and firefox. (#1858)
If one specified either headlesschrome or headlessfirefox as the browser within the Open Browser keyword, then the library would handle setting this option with the underlying Selenium driver. But the methods to do so were deprecated and then removed in Selenium v4.13.0. Thus one was not getting a headless browser in these instances. This resolves that issue.
Resolve issue with service log_path now log_output. (#1870)
Selenium changed the arguments for the service log within v4.13.0. This change allows for a seamless usage across versions before and after v4.13.0.
Execute JavaScript converts arguments to strings. (#1843)
If any ARGUMENTS were passed into either the Execute Javascript or Execute Async Javascript then they were converted to strings even if they were of some other type. This has been corrected within this release.
Acknowledgements
I want to thank the following for helping to get out this release,
#1843
_)and Yuri Verweij, Lisa Crispin, and Tatu Aalto.
See full details in release notes
v6.1.3
: SeleniumLibrary 6.1.3Compare Source
SeleniumLibrary 6.1.3 is a hotfix release that fixes an issue with remote browsers when options are not provided.
SeleniumLibrary 6.1.3 was released on Thursday October 12, 2023. SeleniumLibrary supports Python 3.8+, Selenium 4.3+ and Robot Framework 4.1.3 or higher.
Most important enhancements
Remote browser fails when no options provided (#1855)
For several of the remote browsers we need to initialize the options if none are provided. In addition the deprecated and removed from selenium desired_capabilities have been removed from SeleniumLibrary v6.1.3.
Acknowledgements
I want to thank Tero Lempiäinen for pointing out this issue (#1855)
See full details in release notes
v6.1.2
: SeleniumLibrary 6.1.2Compare Source
SeleniumLibrary 6.1.2 is a hotfix release focused on bug fixes for setting configuration options when using a remote Edge or Safari Browser. More information is given below.
SeleniumLibrary 6.1.2 was released on Saturday September 9, 2023. SeleniumLibrary supports Python 3.7+, Selenium 4.3+ and Robot Framework 4.1.3 or higher.
Most important enhancements
Missing "Options" setup in EDGE browser for remote url execution
The browser options if given within the
Open Browser
orCreate WebDriver
keyword were not being passed to either a remote Edge or remote Safari browser. This has been fixed within this release.See full details in release notes
v6.1.1
: SeleniumLibrary 6.1.1Compare Source
SeleniumLibrary 6.1.1 is a hotfix release with one bug fix - the incompatablitilty with Selenium v4.10.0+. More information is given below.
SeleniumLibrary 6.1.1 was released on Friday August 4, 2023. SeleniumLibrary supports Python 3.7+, Selenium 4.3.0 or higher and Robot Framework 4.1.3 or higher.
Most important enhancements
Fixed Selenium v4.10.0+ Incompatibility
Selenium v4.10.0 removed code that was labeled as deprecated which we did not catch before the release. As such it broke code particular around how the Open Browser keyword calls into selenium. This release is a targeted change to resolve that conflict. In particular if one is using a few particular arguments with the
Open Browser
keyword then it is recommended you verify you get the same results as before. Some of these you should not need to make any changes as we make those internally. But others we completely removed and you with need to update to get the same functionality. Let me walk through those argument now ..If you use the
service_log_path
and/orexecutable_path
argument, these are now passed different to the webdriver creation. We have strong confidence this was done properly but still want to be transparent a change was made there. If you find something amiss please open a support ticket.If you use Firefox and the
ff_profile_dir
argument, this is now attached first to theoptions
structure and passed along to the webdriver creation via options. Again for most users you should not see any issues. If, by chance, you are already setting the profile via options (ieOpen Browser None Firefox options=profile=/path/to/profile/dir
) and through theff_profile_dir
then you will get unexpected operation. I suspect the ff_profile_dir will overwride the other; but that is just a guess. Don't try to set it in two places at once. I recognize the change of profile into the options structure complicates the argument structure here (for example what is you want to pass a profile object?). It is not my intention nor do I even attempt to address that here. If you do use Firefox profiles and have some thoughts on how we can improve this, please reach out.If you use
desired_capabilities
they are deprecated and removed completely by Selenium. SeleniumLibrary just ignores that you passed them in. We will, most likely in the next release just remove that argument, but I wanted to ease you into this as best as I could. This is not the place for a tutorial on what has been the way to do this but you can find plenty about that on either Selenium Grid documentation or vendors like SauceLabs or BrowserStack.Finally if you do do anything beyond the basic
Open Browser someUrl someBrowser
it would be worthwhile that with this release you get similar expected results as with the previous 6.1.0 release. If you see some browser configuration settings that are not resulting in previous usage and can prove this release has something in error please raise a ticket.See full details in release notes
v6.1.0
: SeleniumLibrary 6.1.0Compare Source
SeleniumLibrary 6.1.0 is a new release with some enhancements around timeouts, broadening edge support and removing deprecated Opera support, and bug fixes.
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.
Most important enhancements
Set Page Load Timeout
The ability to set the page load timeout value was added (https://github.com/robotframework/SeleniumLibrary/issues/1535). This can be done on the Library import. For example, one could set it to ten seconds, as in,
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.
Duration of mouse movements within Action Chains
Actions chains allow for building up a series of interactions including mouse movements. As to simulate an actual user moving the mouse a default duration (250ms) for pointer movements is set. This change (https://github.com/robotframework/SeleniumLibrary/issues/1768) allows for the action chain duration to be modified. This can be done on the Library import, as in,
or with the setter keyword Set Action Chain Delay. In addition one can get the current duration with the new keyword Get Action Chain Delay. See the keyword documentation for more information.
Timeout documentation updated
The keyword documentation around timeouts was enhanced (https://github.com/robotframework/SeleniumLibrary/issues/1738) to clarify what the default timeout is and that the default is used if None is specified. The changes are, as shown in italics here,
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.
Edge webdriver under Linux
The executable path to the edge browser has been changed (https://github.com/robotframework/SeleniumLibrary/issues/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.
Upcoming Deprecation of Selenium2Library
Please Take Note - The SeleniumLibrary Team will be deprecating 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 deprecate 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.
See full details in release notes
v6.0.0
: SeleniumLibrary 6.0.0Compare Source
SeleniumLibrary is a web testing library for Robot Framework that utilizes the Selenium tool internally. SeleniumLibrary 6.0.0 is a new release with enhancements to locators and bug fixes on how run on failure functionality is executed. Starting with version 6.0 SeleniumLibrary requires Selenium 4.0+. If you wish to use Selenium version 3.x you must use SeleniumLibrary version 5 or prior.
See release notes for full details.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.