(Watch the SeleniumBase tutorial from Selenium-Conf-2023 on YouTube)
- A powerful Python framework for browser automation and E2E UI testing.
- Includes Recorder Mode for instantly generating browser tests in Python.
- Supports multiple browsers, tabs, iframes, and proxies in the same test.
- Includes Test Case Management Software with Markdown technology.
- Automatic smart-waiting improves reliability and prevents flaky tests.
- Supports pytest, unittest, nose, and behave for finding/running tests.
- All the code is open source. Look inside to learn about any feature.
- Powerful logging tools for dashboards, reports, and screenshots.
- Can run tests in Headless Mode to hide the browser. (
--headless
) - Can run tests multithreaded from parallel browsers. (
-n NUM_THREADS
) - Can run tests from a shared browser session. (
--reuse-session
/--rs
) - Can run tests using Chromium's mobile device emulator. (
--mobile
) - Can run tests through a proxy server. (
--proxy=IP_ADDRESS:PORT
) - Can run tests with proxy settings via PAC URL. (
--proxy-pac-url=URL.pac
) - Can run tests through an authenticated proxy server. (
--proxy=USER:PASS@HOST:PORT
) - Can run tests with proxy+auth via PAC URL. (
--proxy-pac-url=USER:[email protected]
) - Can run tests with a customized browser user agent. (
--agent=USER_AGENT_STRING
) - Can set a Chromium User Data Directory/Profile to load. (
--user-data-dir=DIR
) - Can avoid detection by sites that try to block Selenium. (
--undetected
/--uc
) - Can integrate with selenium-wire for inspecting browser requests. (
--wire
) - Can load Chrome Extension ZIP files. (
--extension-zip=ZIP
) - Can load Chrome Extension folders. (
--extension-dir=DIR
) - Powerful console scripts. (Type
seleniumbase
orsbase
to use.) - Has the ability to translate tests into multiple spoken languages.
- Has a flexible command-line interface for customizing test runs.
- Has a global config file for configuring settings as needed.
- Includes a tool for creating interactive web presentations.
- Includes Chart Maker, a tool for creating interactive charts.
- Includes a dialog box builder to allow user-input during automation.
- Includes a website tour builder for creating interactive walkthroughs.
- Includes a GUI for running pytest scripts: SeleniumBase Commander.
- Includes integrations for GitHub Actions, Google Cloud, Azure, S3, and Docker.
- Can handle Google Authenticator logins with Python's one-time password library.
- Can load and make assertions on PDF files from websites or the local file system.
- Can inspect HTML to find issues and points of interest with the HTML Inspector.
- Is backwards-compatible with Python WebDriver methods. (Use:
self.driver
) - Can execute JavaScript code from Python calls. (Use:
self.execute_script()
) - Can pierce through Shadow DOM selectors. (Add
::shadow
to CSS fragments.) - Includes a hybrid-automation solution, MasterQA, to speed up manual testing.
- Includes useful Python decorators and password obfuscation methods.
(Have fun with test automation!)