Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SeleniumLibrary to be compatable with Selenium v4.10.0 #1836

Closed
emanlove opened this issue Jun 9, 2023 · 8 comments
Closed

Update SeleniumLibrary to be compatable with Selenium v4.10.0 #1836

emanlove opened this issue Jun 9, 2023 · 8 comments
Labels
Milestone

Comments

@emanlove
Copy link
Member

emanlove commented Jun 9, 2023

Selenium v4.10.0 removed some deprecated code which broke SeleniumLibrary. This is a hotfix to correct that and make SeleniumLibrary compatible.

@emanlove emanlove added bug in progress priority: critical acknowledge To be acknowledged in release notes labels Jun 9, 2023
@emanlove emanlove added this to the v6.1.1 milestone Jun 9, 2023
@bollwyvl
Copy link
Contributor

bollwyvl commented Jun 9, 2023

Thanks for making this issue.

This seems relevant to #1829 : e.g. extending the test matrix proposed there to include a "latest" upstream would catch future issues like this. Unfortunately, selenium doesn't appear to do pre-releases on PyPI, and building selenium from source is... non-trival, involving bazel and additional wrapper tools... or risking Doing It Wrong. I gave up on the conda-forge downstream, and for a while, we were doubly-doomed, as the upstream was only publishing .whl files.

@emanlove
Copy link
Member Author

emanlove commented Jun 9, 2023

I was thinking the same that #1829 has some relevance here. Initial thought was to add a check for the word "deprecated" (or the like) within the code. I plan on writing a public retrospective after the fact to explain and give a perspective to the community.

@bollwyvl
Copy link
Contributor

bollwyvl commented Jun 9, 2023

check for the word "deprecated" (or the like) within the code

Again, see there's a lot of generated code, so this would be... hard.

But, given a working selenium, pytest could help out a lot, by turning warnings into errors:

[tool.pytest.ini_options]
filterwarnings = [
  "error",
  # and ignore some things that can't be controlled
  # "ignore:pkg_resources:DeprecationWarning",
]

I'm not familiar with a similar approach for robot itself, however...

@emanlove
Copy link
Member Author

emanlove commented Jun 9, 2023

@bollwyvl we should sit and talk sometime as I know I could learn a few things about your approach with #1829 and this.

@lugi0
Copy link

lugi0 commented Jun 15, 2023

Hello @emanlove , is there an ETA for the hotfix being released?

@emanlove
Copy link
Member Author

@lugi0 Not at this time. I was hoping for this past Monday. I hit a snag with the mocking done by our internal tests. And this week I had a lot of personal work that needed to be done and had little spare time.

atodorov added a commit to kiwitcms/Kiwi that referenced this issue Jun 20, 2023
the newer version yields:

TypeError: __init__() got an unexpected keyword argument 'firefox_profile'

b/c Selenium has changed the way their init parameters. See
robotframework/SeleniumLibrary#1836
atodorov added a commit to kiwitcms/Kiwi that referenced this issue Jun 20, 2023
the newer version yields:

TypeError: __init__() got an unexpected keyword argument 'firefox_profile'

b/c Selenium has changed the way their init parameters. See
robotframework/SeleniumLibrary#1836
atodorov added a commit to kiwitcms/enterprise that referenced this issue Jul 3, 2023
the newer version yields:

TypeError: __init__() got an unexpected keyword argument 'firefox_profile'

b/c Selenium has changed the way their init parameters. See
robotframework/SeleniumLibrary#1836
atodorov added a commit to kiwitcms/enterprise that referenced this issue Jul 3, 2023
the newer version yields:

TypeError: __init__() got an unexpected keyword argument 'firefox_profile'

b/c Selenium has changed the way their init parameters. See
robotframework/SeleniumLibrary#1836
@emanlove emanlove added the rc 1 label Aug 2, 2023
@emanlove
Copy link
Member Author

emanlove commented Aug 2, 2023

A release candidate v6.1.1rc1 has been pushed to PyPI which is intended to resolve this issue. If you have pip installed, just run

pip install --pre --upgrade robotframework-seleniumlibrary
to install this release candidate or as I prefer use

pip install robotframework-seleniumlibrary==6.1.1rc1
to install exactly this version. The changes are all internal and very subtle. I recommend people do some check under certain conditions to verify this is working for you as it did previously based upon how you use the Open Browser keyword. Notes about this are in the release notes for v6.1.1rc1 and can be found at https://github.com/robotframework/SeleniumLibrary/blob/master/docs/SeleniumLibrary-6.1.1rc1.rst

Please read through these thoroughly and follow the recommended verification steps before one comments. Thank you.

@emanlove emanlove closed this as completed Aug 2, 2023
@emanlove
Copy link
Member Author

emanlove commented Aug 4, 2023

This has been fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants