Releases: seleniumbase/SeleniumBase
Refresh Python dependencies
Refresh Python dependencies
setuptools>=59.3.0;python_version>="3.6"ipython==7.30.0;python_version>="3.7"prompt-toolkit==3.0.23;python_version>="3.6.2"coverage==6.2;python_version>="3.6"(optional dependency)
Shadow DOM overhaul and more
Shadow DOM overhaul and more
- This resolves #1083
- Update code for Shadow DOM changes in Chromium 96+
- Update dependencies:
--selenium==4.1.0;python_version>="3.7"
--packaging>=21.3;python_version>="3.6"
--setuptools>=59.2.0;python_version>="3.6"
--charset-normalizer==2.0.8;python_version>="3.5"
--more-itertools==8.12.0;python_version>="3.5"
--cryptography==36.0.0;python_version>="3.7"
--typing-extensions==3.10.0.2;python_version<"3.6"
--typing-extensions==4.0.0;python_version>="3.6" and python_version<"3.8" - Update default Firefox preferences:
--"browser.contentblocking.database.enabled", True - Add method:
self.is_valid_url(url) - Allow URLs that start with
view-source:when callingself.open(url) - Add the Recorder Desktop App (located in
examples/desktop_apps/.
Use "options" instead of "desired_capabilities" as needed
Use "options" instead of "desired_capabilities" as needed
desired_capabilitiesare deprecated in Selenium 4, so they are converted tooptionsinstead.
-- (This only effects Python versions 3.7 and newer. Python 3.6 and below still use Selenium 3.)- Also speed up messages in Headless Mode.
- Also refresh Python dependencies:
--setuptools>=59.1.1;python_version>="3.6"
--jedi==0.18.1;python_version>="3.6"
--filelock==3.4.0;python_version>="3.6"
--rich==10.14.0;python_version>="3.6"
Refresh the "setuptools" dependency
Refresh the "setuptools" dependency
setuptools>=59.0.1;python_version>="3.6"- Resolves #1073
Improve arg-parsing for Selenium Grid usage
Improve arg-parsing for Selenium Grid usage
This change improves how the command-line args are used to construct the server address for connecting to a Selenium Grid. If the port is included in the --server arg, then that will be used instead of adding on the port via --port. Additionally, if the port is specified separately with --port (as it was previously), then the port will now get added to the correct location in the server address string if the server URL included multiple slashes.
(See https://seleniumbase.io/seleniumbase/utilities/selenium_grid/ReadMe/ for the complete Selenium Grid usage instructions.)
Make improvements to the "Deferred Assert" system
Make improvements to the "Deferred Assert" system
SeleniumBase deferred asserts allow you to make multiple assertions on the same page without failing the test after the first failed assert. Instead, you can choose when to process those assertions by calling: self.process_deferred_asserts().
- Add
self.deferred_assert_exact_text()
-- (This is similar toself.deferred_assert_text(), but text must beequal, instead ofin.) - Fix spacing in the console output of deferred assertion failures.
- This resolves #1065
- Example test: SeleniumBase/examples/test_deferred_asserts.py
Also refresh Python dependencies:
traitletsversion now only has a lower bound, instead of an exact version.
-- (For Python versions 3.7 and newer. Earlier Python versions still use a pin.)
traitlets==4.3.3;python_version<"3.7"
traitlets>=5.1.1;python_version>="3.7"
Update Recorder Mode script-generation, and more
Update Recorder Mode script-generation, and more
This is to prevent a duplicate browser action that can occur when a click redirects to a new URL. The Recorder will record a click() and an open() action, but if the click already takes the user to the URL being opened, then the browser does not need to call the open() action separately, and instead should mask the action with open_if_not_url(). This issue was discovered when clicking a link with href="https://en.wikipedia.org/", which redirected to https://en.wikipedia.org/wiki/Main_Page.
Other changes include:
- Better error-handling for the
open()method. - Update timing logic for the time-limit feature.
- Refresh Python dependencies:
--more-itertools==8.11.0;python_version>="3.5"
Simplify output associated with "NoSuchWindowException"
Simplify output associated with "NoSuchWindowException"
This is for #1060
Although this won't handle all cases of the above, improvements will be noticeable in many situations.
Also refresh Python dependencies:
- pycparser==2.21
- rich==10.13.0;python_version>="3.6"
Multiple improvements to the Recorder and Recorder Mode
Windows and EdgeDriver updates
Windows and EdgeDriver updates
- Add better detection for the version of Edge installed.
- Disable
Edge Syncif not set. - Use
LATEST_STABLEfor the default version of EdgeDriver. - Add ability to install EdgeDriver without knowing full version.
- Use
os.get_terminal_size()instead ofstty sizefor width. - On Windows, use
abapovermonokaifor the print theme. - Refresh Python dependencies:
--setuptools>=58.5.2;python_version>="3.6"
--soupsieve==2.3;python_version>="3.6"