GitHub

What is the project about?

SeleniumBase is a Python framework designed for web automation, testing, scraping, and bypassing CAPTCHAs. It builds upon Selenium/WebDriver APIs and integrates with testing frameworks like pytest, pynose, and behave.

What problem does it solve?

  • Simplifies and streamlines web automation tasks.
  • Provides a more user-friendly and readable syntax compared to raw Selenium.
  • Handles common WebDriver actions automatically (browser launching, closing, screenshot capture on failure).
  • Improves test reliability by automatically waiting for elements to load.
  • Offers built-in test discovery, execution, and reporting features.
  • Helps bypass bot detection mechanisms (using UC Mode and CDP Mode).
  • Provides tools for generating tests, managing test cases, and creating data visualizations.

What are the features of the project?

  • Simplified API for common web interactions (clicking, typing, navigating, etc.).
  • Automatic element waiting and handling.
  • Support for multiple browsers (Chrome, Edge, Firefox, Safari).
  • Command-line options for customizing test runs.
  • Integration with pytest, pynose, and behave testing frameworks.
  • Automatic test discovery.
  • Generation of test reports (HTML, XML, Dashboard).
  • Screenshot capture on test failures.
  • Demo Mode for visual debugging.
  • Proxy server support.
  • User-Agent modification.
  • Handling of pop-up alerts.
  • Support for iframes.
  • Ability to execute custom jQuery scripts.
  • Deferred asserts for multiple verifications.
  • Retry mechanisms for flaky tests.
  • Integration with CI/CD platforms (GitHub Actions, Jenkins, Azure Pipelines, Google Cloud, AWS).
  • MasterQA hybrid solution for manual and automated testing.
  • Offline test execution.
  • Selenium Grid integration for parallel testing.
  • Recorder Mode for generating tests from manual actions.
  • CasePlans for test case management.
  • ChartMaker for building data visualizations.
  • UC Mode and CDP Mode for stealth and bypassing bot detection.

What are the technologies used in the project?

  • Python
  • Selenium WebDriver
  • pytest
  • pynose (optional)
  • behave (optional)
  • undetected-chromedriver (for UC Mode)
  • JavaScript (for jQuery execution and CDP Mode)
  • HTML/CSS (for web interactions)

What are the benefits of the project?

  • Faster development of automation scripts.
  • More reliable and less flaky tests.
  • Easier debugging and maintenance.
  • Improved test organization and reporting.
  • Scalability through parallel execution and Selenium Grid.
  • Enhanced productivity for web automation tasks.
  • Ability to bypass bot detection.

What are the use cases of the project?

  • Web application testing (UI testing, end-to-end testing).
  • Web scraping and data extraction.
  • Automating repetitive web tasks.
  • Bypassing CAPTCHAs and bot detection.
  • Creating website tours and walkthroughs.
  • Monitoring website performance and availability.
  • Generating data visualizations from web data.
  • Manual testing assistance with MasterQA.
SeleniumBase screenshot