Skip to content

Releases: seleniumbase/SeleniumBase

Refresh Python dependencies

11 Dec 21:30
ed913fb
Compare
Choose a tag to compare

Refresh Python dependencies

  • pytest-xdist==1.34.0;python_version<"3.5"
  • pytest-xdist==2.2.1;python_version>="3.5" and python_version<"3.6"
  • pytest-xdist==2.5.0;python_version>="3.6"
  • pytest-forked==1.3.0;python_version<"3.6"
  • pytest-forked==1.4.0;python_version>="3.6"
  • prompt-toolkit==3.0.24;python_version>="3.6.2"

Update options and dependencies

07 Dec 19:12
b5218fd
Compare
Choose a tag to compare

Update options and dependencies

  • Update default Firefox options (disable the silent updater):
    -- options.set_preference("app.update.silent", False)
    -- options.set_preference("extensions.update.silent", False)
  • Add the new --proxy-bypass-list option:
Designates the hosts, domains, and/or IP addresses
to bypass when using a proxy server with "--proxy".
Format: A ";"-separated string.
Example usage:
    pytest
        --proxy="username:password@servername:port"
        --proxy-bypass-list="*.foo.com;github.com"
    pytest
        --proxy="servername:port"
        --proxy-bypass-list="127.0.0.1:8080"
  • Refresh Python dependencies:
    -- setuptools>=59.5.0;python_version>="3.6"
    -- charset-normalizer==2.0.9;python_version>="3.5"

Refactor wait_for_ready_state_complete() and related code

03 Dec 16:38
e65fc98
Compare
Choose a tag to compare

Refactor wait_for_ready_state_complete() and related code

  • All part of determining the optimal trade-off between speed and reliability.

Fix visual tests that use the "sb" fixture (and more!)

03 Dec 05:22
e8b8338
Compare
Choose a tag to compare

Fix visual tests that use the "sb" fixture (and more!)

  • Fix log path issue with visual tests that use the sb fixture.
  • Handle a possible edge case with page loads.
  • Make sure highlighting isn't blocked by pop-up alerts.
  • Set WAIT_FOR_RSC_ON_CLICKS to be False by default.
    -- Tests will be faster, but you may need to manually call self.accept_alert() or self.dismiss_alert() because previously, waiting for the readyState of the page to be "complete" might have dismissed alerts automatically due to an existing WebDriver "feature" where calling self.execute_script("") automatically closes pop-up alerts.

Use the correct log path for tests that use the "sb" fixture

02 Dec 20:20
d77472c
Compare
Choose a tag to compare

Use the correct log path for tests that use the "sb" fixture

  • This resolves #1101
  • (Only Windows tests using the sb fixture were affected by this bug.)
  • Also refresh Python dependencies:
    -- ipython==7.30.1;python_version>="3.7"
    -- rich==10.15.2;python_version>="3.6"

Expand visual testing logs with a side-by-side comparison

02 Dec 05:34
97ab233
Compare
Choose a tag to compare

Expand visual testing logs with a side-by-side comparison

  • Add a baseline.png image to the ./latest_logs/ folder on visual diff failures.
  • Add a baseline_diff.png image to the ./latest_logs/ folder on visual diff failures.
  • Add a side_by_side.html file showing both of the above images together on visual diff failures.
  • Give the new side_by_side.html file a nice favicon.
  • Make updates to the visual_baseline/ folder:
    -- Rename screenshot.png to baseline.png.
    -- Add latest.png to help the user detect important changes to the existing visual baseline.
  • Here's an example of a side_by_side.html file from ./latest_logs/:

side_by_side.html

Also:

  • Improve output for deferred asserts:
    -- (For when the user forgets to call self.process_deferred_asserts() before the end of tests.)
  • Refresh Python dependencies:
    -- parso==0.8.3;python_version>="3.6"

Improve parsing of Selenoid capabilities from cap files

30 Nov 06:25
91bc000
Compare
Choose a tag to compare

Improve parsing of Selenoid capabilities from cap files

This should allow for easy parsing of the following cap-file example:

capabilities = {
    "screenResolution": "1280x1024x24",
    "selenoid:options": {
        "enableVNC": True,
        "enableVideo": False,
    },
}

(as seen from SeleniumBase/examples/capabilities/selenoid_cap_file.py)

A valid command-line arg for this should also be accepted. Eg:

pytest --cap-string='{"selenoid:options": {"enableVNC": true}}
  • Also refresh Python dependencies:
    -- rich==10.15.1;python_version>="3.6"

Add compatibility with "Selenoid" Selenium grids

29 Nov 06:52
f0d6242
Compare
Choose a tag to compare

Add compatibility with "Selenoid" Selenium grids

  • Add compatibility with "Selenoid" Selenium grids:
    -- On the command-line, add --cap-string='{"selenoid": "true"}'
    -- Or use --cap-file=CAP_FILE.py with a line that contains:
    -------- "selenoid": "true",
    -- This resolves #1088
  • Also refresh Python dependencies:
    -- setuptools>=59.4.0;python_version>="3.6"
    -- rich==10.15.0;python_version>="3.6"

Refresh Python dependencies

27 Nov 18:20
85f7777
Compare
Choose a tag to compare

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

25 Nov 18:13
d570ae8
Compare
Choose a tag to compare

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 calling self.open(url)
  • Add the Recorder Desktop App (located in examples/desktop_apps/.