SeleniumBase

(Watch the tutorial on YouTube)

Features: 🏰

* A complete test automation framework for web and mobile E2E UI testing. * Has [Recorder Mode](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/recorder_mode.md) for generating scripts from recorded actions. (``--rec``) * Supports multiple browsers, tabs, iFrames, and proxies in the same test. * Automatic smart-waiting improves reliability and prevents flaky tests. * Supports [pytest](https://docs.pytest.org/en/latest/), [unittest](https://docs.python.org/3/library/unittest.html), and [nose](http://nose.readthedocs.io/en/latest/) for test discovery and execution. * No paywalls! You get access to all available features from the start. * Powerful logging tools for [dashboards, reports, and screenshots](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/example_logs/ReadMe.md). * 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 through an authenticated proxy server. (``--proxy=USER:PASS@HOST:PORT``) * 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 load Chrome Extension ZIP files. (``--extension_zip=ZIP``) * Can load Chrome Extension folders. (``--extension_dir=DIR``) * Powerful [console scripts](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/ReadMe.md). (Type **``seleniumbase``** or **``sbase``** to use.) * Has the ability to translate tests into [multiple spoken languages](https://github.com/seleniumbase/SeleniumBase/tree/master/examples/translations). * Has a flexible [command-line interface](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/customizing_test_runs.md) for customizing test runs. * Has a [global config file](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/config/settings.py) for configuring settings as needed. * Includes a tool for [creating interactive web presentations](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/presenter/ReadMe.md). * Includes [Chart Maker](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/chart_maker/ReadMe.md), a tool for creating interactive charts. * Includes a [dialog box builder](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/dialog_boxes/ReadMe.md) to allow user-input during automation. * Includes a [website tour builder](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/tour_examples/ReadMe.md) for creating interactive walkthroughs. * Includes integrations for [GitHub Actions](https://seleniumbase.io/integrations/github/workflows/ReadMe/), [Google Cloud](https://github.com/seleniumbase/SeleniumBase/tree/master/integrations/google_cloud/ReadMe.md), [Azure](https://github.com/seleniumbase/SeleniumBase/blob/master/integrations/azure/jenkins/ReadMe.md), [S3](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/plugins/s3_logging_plugin.py), and [Docker](https://github.com/seleniumbase/SeleniumBase/blob/master/integrations/docker/ReadMe.md). * Can handle Google Authenticator logins with [Python's one-time password library](https://pyotp.readthedocs.io/en/latest/). * Can load and make assertions on PDF files from websites or the local file system. * Is backwards-compatible with Python [WebDriver](https://www.selenium.dev/projects/) 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](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/masterqa/ReadMe.md), for speeding up manual testing. * Includes a tool to [convert Katalon & SeleniumIDE recordings](https://github.com/seleniumbase/SeleniumBase/blob/master/integrations/katalon/ReadMe.md) into SeleniumBase format. * Includes useful [Python decorators and password obfuscation methods](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common/ReadMe.md). --------

(Have fun with test automation!)

SeleniumBase

[](https://seleniumbase.io/)