Skip to content

Releases: seleniumbase/SeleniumBase

SeleniumBase 2.0.0 with Selenium 4.0.0

16 Oct 05:35
484c8a2
Compare
Choose a tag to compare

SeleniumBase 2.0.0 with Selenium 4.0.0

  • It's Party Time - We're upgrading to Selenium 4.0.0.
  • Only Python versions >= 3.7 get the upgrade.
  • (Python versions < 3.7 stay at Selenium 3.141.0.)
  • Refresh Python dependencies:
    selenium==4.0.0;python_version>="3.7"
    trio==0.19.0;python_version>="3.7"
    trio-websocket==0.9.2;python_version>="3.7"
    pyopenssl==21.0.0;python_version>="3.7"

Wrap-up selenium3 code / transitional release

15 Oct 20:23
89b1878
Compare
Choose a tag to compare

Wrap-up selenium3 code / transitional release

To make the upgrade process smoother to selenium 4.0.0, we're making msedge-selenium-tools optional right now before the transition to selenium 4.0.0, which SeleniumBase will use in 2.0.0. This will help prevent some possible error messages because the code for msedge-selenium-tools is already included within selenium 4.0.0, and therefore msedge-selenium-tools cannot be installed separately while using selenium 4.0.0. To transition safely from earlier SeleniumBase releases, install seleniumbase 1.67.1, then you can uninstall msedge-selenium-tools without any issues, and then you can safely transition to seleniumbase 2.0.0, which should be coming in the next release.

Refactoring Edge Chromium

15 Oct 18:00
8534eb5
Compare
Choose a tag to compare

Refactoring Edge Chromium

  • Edge Chromium must be version 80 or newer to run automation on:
    -- (Earlier versions of Edge did not use Chromium)
    -- (Only Edge Chromium is supported now -> January 2020 and newer)
  • Refresh dependencies:
    -- filelock==3.3.1;python_version>="3.6"
    -- Pillow==8.4.0;python_version>="3.6"

We're in the process of shipping leftover updates before upgrading to Selenium 4.
This release is still on Selenium 3.

Improvements to Recorder Mode assertions

14 Oct 21:02
5a5f6d6
Compare
Choose a tag to compare

Improvements to Recorder Mode assertions

🔴 SeleniumBase 1.66.14 improves the algorithm for converting recorded assertions into SeleniumBase code. Text assertions that contain the newline character will now be handled correctly. If a text assertion has a :contains selector, then the text assertion will be changed to an element assertion. Asserted text from multi-line assertions will use self.assert_text() on the first non-empty line. Asserted text from single-line assertions will use self.assert_exact_text(). Element assertions will be handled with self.assert_element().

Recorder Mode assertions and more

14 Oct 07:34
4daea7a
Compare
Choose a tag to compare

Recorder Mode assertions and more

  • New feature: Add test assertions directly from Recorder Mode.

🔴 SeleniumBase 1.66.13 lets you add assertions for elements and text while making a recording. To add an element assertion, press the [^]-key (SHIFT+6), (the border will become purple) then click on elements that you'd like to assert. To add a text assertion, press the [&]-key (SHIFT+7), (the border will become orange) then click on text elements that you'd like to assert. To go back to the regular Record Mode, press any other key. While in the special assertion modes, certain actions such as clicking on links won't have any effect. This lets you make assertions on elements without certain actions getting in the way.

Other changes:

  • Add methods for activating and deactivating Demo Mode.
  • Skip the time-limit feature while in Recorder Mode.
  • Refresh Python dependencies

New console script: "sbase mkrec FILE.py" to make a recording

11 Oct 21:24
eaabc9c
Compare
Choose a tag to compare

New console script: sbase mkrec FILE.py to make a recording

🔴 SeleniumBase 1.66.12 adds the ability to instantly create a new test recording by running sbase mkrec FILE.py. Once the browser spins up, you can open a new web page and start performing actions that will get recorded and saved to the file you specified.

Specify the driver executable_path as needed (and more)

09 Oct 04:19
386bfea
Compare
Choose a tag to compare

Specify the driver executable_path as needed (and more)

  • Specify the chromedriver & geckodriver executable_path as needed:
    -- This fixes a Windows issue where the local driver wasn't found, even though it was there.
    -- The local driver in seleniumbase/drivers/ takes priority over a driver on the System PATH.
    -- Unless using a Selenium-Grid, the local driver in seleniumbase/drivers/ is good enough.
    -- The Selenium-Grid requires drivers to exist on the System PATH to be accessible by Grid tests.
    -- For details, see: #1008

  • Add console output details for scripts that create files:
    -- This either prints a file (for a single file) or a tree (for a directory structure).
    -- For Python versions 3.6 and above, there will be rich syntax-highlighting.

  • Refresh Python dependencies:
    -- certifi>=2021.10.8

Recorder updates and a fix for the edgedriver install script

08 Oct 05:12
14c45cb
Compare
Choose a tag to compare

Recorder updates and a fix for the edgedriver install script

  • Add a console script option to create a file for Recorder Mode:
    -- sbase mkfile NEW_FILE.py -r
    -- (Works with -r, --rec, --record, or --recorder)
  • Fail fast if using Recorder Mode without Chrome or Edge:
    -- (It's a Chromium extension, so only Chromium is supported).
  • Fix the "msedgedriver" install script (a new file was added).
    -- Usage: sbase install edgedriver
  • Update Firefox settings and behavior:
    -- Set browser.privatebrowsing.autostart to False.
    -- Also fix a Firefox issue with the :contains() selector.
  • Improve the script that detects and displays JS errors:
    -- Simplify output, and only display one error per line.
  • Update the tool that scans for broken links on a page:
    -- Ignore *://fonts.gstatic.com/*
  • Refresh Python dependencies:
    -- rich==10.12.0;python_version>="3.6"
    -- coverage==6.0.1;python_version>="3.6"

Recorder Mode updates for downloads, classes, and forms

06 Oct 04:06
1b23e26
Compare
Choose a tag to compare

Recorder Mode updates for file downloads, classes, and form submissions

  • Allow the Recorder to record methods for file downloads.
  • Update Recorder-parsing of classes and form submissions.

Upgrade Recorder Mode, and more

05 Oct 21:41
bea532f
Compare
Choose a tag to compare

Upgrade Recorder Mode, and more

🔴 SeleniumBase 1.66.8 generates better selectors in Recorder Mode and improves the algorithm for converting recorded actions into SeleniumBase code.

Also:

  • Clicks that open new windows will only switch to them if not blank.
  • Refresh Python dependencies.
  • Upgrade the default Android emulator settings.