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.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | MarketSquare/robotframework-browser |
| Owner | MarketSquare |
| Primary language | Python |
| License | Apache-2.0 — OSI-approved |
| Stars | 651 |
| Forks | 144 |
| Open issues | 32 |
| Latest release | v20.0.0 (2026-06-07) |
| Last updated | 2026-07-08 |
| Source | https://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+.
Get the robotframework-browser source
Clone the repository and explore it locally.
git clone https://github.com/MarketSquare/robotframework-browser.gitcd robotframework-browser# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
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.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
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.
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.coRelated 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?
Do I need to install Node.js separately?
How much disk space does installation require?
Can I use this library with pure Python code (not Robot Framework)?
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.