DEV.co
Open-Source Testing · MarketSquare

robotframework-browser

robotframework-browser is a Python library that enables browser automation and testing via Robot Framework using Playwright as the underlying engine. It supports multiple browsers (Chromium, Firefox, WebKit) and offers both Robot Framework keyword syntax and direct Python API access.

Source: GitHub — github.com/MarketSquare/robotframework-browser
651
GitHub stars
144
Forks
Python
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositoryMarketSquare/robotframework-browser
OwnerMarketSquare
Primary languagePython
LicenseApache-2.0 — OSI-approved
Stars651
Forks144
Open issues32
Latest releasev20.0.0 (2026-06-07)
Last updated2026-07-08
Sourcehttps://github.com/MarketSquare/robotframework-browser

What robotframework-browser is

Built on Playwright, this library bridges Robot Framework (a keyword-driven automation framework) with modern browser automation capabilities. It includes Node.js-based backend components, optional Robocop integration for code quality, and extensibility via JavaScript plugins. Requires Python 3.10+.

Quickstart

Get the robotframework-browser source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/MarketSquare/robotframework-browser.gitcd robotframework-browser# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

End-to-End Web Application Testing

Leverages Robot Framework's keyword-driven approach to create readable, maintainable acceptance tests across Chromium, Firefox, and WebKit browsers simultaneously.

Cross-Browser Compatibility Validation

Tests web applications against multiple browser engines with unified syntax, eliminating per-browser test rewrites and reducing maintenance overhead.

Non-Technical Test Automation

Robot Framework's English-like keyword syntax enables business analysts and QA testers without programming experience to write and maintain automated tests.

Implementation considerations

  • Verify Python 3.10+ is available across all development and CI/CD environments before adoption.
  • Decide between BrowserBatteries (simpler, precompiled) vs. manual NodeJS installation based on OS/architecture support and plugin requirements.
  • Plan for ~700MB+ disk footprint per installation; consider selective browser binary installation if targeting specific browsers only.
  • If using Python API directly (not Robot Framework), implement Robot Framework listener patterns manually to access automatic cleanup and failure handling.
  • Review optional Robocop transformer integration if code quality and automated refactoring are priorities.

When to avoid it — and what to weigh

  • Python < 3.10 Requirement — Projects locked to Python 3.9 or earlier cannot use this library without a major version upgrade, creating organizational friction.
  • Node.js Dependency Concerns — Node.js (v22 or v24 LTS) is mandatory unless using BrowserBatteries. This adds operational complexity, supply chain surface area, and potential platform/architecture incompatibilities.
  • Limited Python-Only Usage — Direct Python usage lacks automatic resource cleanup, failure hooks, and other features dependent on Robot Framework's listener/dynamic API—requiring manual implementation overhead.
  • High Installation Footprint — Browser binaries (~700MB+) are installed by default; selective installation is possible but not the default, increasing deployment size and CI/CD friction.

License & commercial use

Apache License 2.0 (Apache-2.0)—a permissive, OSI-approved license permitting commercial use, modification, and distribution with standard liability disclaimers and notice requirements.

Apache 2.0 explicitly permits commercial use without royalty or special permission. No copyleft obligations. Ensure compliance with notice and attribution requirements in distribution; no warranty is provided by the licensor.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Requires review. Library runs untrusted web content via Playwright; ensure browser sandbox isolation is understood. Node.js dependency introduces additional supply chain surface. No explicit security policy, vulnerability disclosure process, or audit history provided in data. Verify Playwright's security model aligns with your risk profile.

Alternatives to consider

Selenium with Robot Framework (SeleniumLibrary)

Longer-established alternative; heavier resource usage; no WebKit support; slower; considered legacy compared to Playwright architecture.

Playwright (direct Python/TypeScript API)

Lower-level control, smaller footprint, no Robot Framework overhead; requires pure coding; not suitable for non-technical test writers.

Cypress / Puppeteer (JavaScript-native)

Native JavaScript execution; faster for Node.js-centric teams; weaker keyword-driven automation abstractions; different ecosystem and tooling.

Software development agency

Build on robotframework-browser with DEV.co software developers

Evaluate robotframework-browser for your QA and E2E testing workflow. Consider Python 3.10+ availability, Node.js dependencies, and team skill set (keyword-driven vs. code-based) before adoption.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

robotframework-browser FAQ

Can I use this library with Python 3.9 or earlier?
No. Only Python 3.10 or newer is supported. A full version upgrade is required.
Do I need to install Node.js separately?
Not if you use robotframework-browser-batteries (handles precompiled Node binaries). Otherwise, Node.js v22 or v24 LTS must be installed and rfbrowser init run to set up dependencies.
How much disk space does installation require?
Approximately 700MB+ for Playwright browser binaries (Chromium, Firefox, WebKit). This is installed by default but can be skipped or limited to specific browsers.
Can I use this library with pure Python code (not Robot Framework)?
Yes, but with limitations. Automatic resource cleanup, run-on-failure hooks, and other features depend on Robot Framework's listener/dynamic API integration and must be manually implemented.

Custom software development services

Adopting robotframework-browser is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source testing software in production.

Ready to Automate Browser Testing?

Evaluate robotframework-browser for your QA and E2E testing workflow. Consider Python 3.10+ availability, Node.js dependencies, and team skill set (keyword-driven vs. code-based) before adoption.