robotframework-browser
Robot Framework Browser library powered by Playwright. Aiming for speed, reliability and visibility.
What it is and what it does
robotframework-browser is a Robot Framework library that wraps Playwright to automate browser interactions—opening pages, clicking elements, extracting text, and verifying page content. It supports Chromium, Firefox, and WebKit across Windows, macOS, and Linux. The library can be used from Robot Framework test syntax or directly from Python, though some Robot Framework-specific features (like automatic cleanup and run-on-failure hooks) depend on the framework's listener or dynamic library API when called from Python.
Installation has two main paths: use robotframework-browser-batteries for a simpler setup with precompiled Node binaries (no NodeJS required), or install with NodeJS 22, 24, or 26 LTS for more flexibility. The library depends on grpcio, protobuf, robotframework, wrapt, click, and other utilities. Browser binaries (Chromium, Firefox, WebKit) are installed separately via the rfbrowser command-line tool and add roughly 700 MB to disk. The library is actively maintained, production-stable, and supports current Python versions (3.10+).
Use it for:
- Write automated web UI tests in Robot Framework syntax that run against multiple browsers without code changes
- Verify web application functionality by automating user interactions like form submission and navigation
- Build cross-browser regression test suites for web applications using Playwright's speed and reliability
- Automate repetitive web tasks (data entry, screenshot capture, content extraction) via Robot Framework keywords
- Integrate browser automation into CI/CD pipelines with Robot Framework's reporting and logging
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Browser automation library for Robot Framework that uses Playwright to control Chromium, Firefox, and WebKit browsers for testing and web automation.
Yes. robotframework-browser is actively maintained, production-stable, permissively licensed, has low install friction, and sits in the top 5000 PyPI packages by downloads. Install it if you need to automate browser testing in Robot Framework or Python. Choose robotframework-browser-batteries if your OS/architecture is supported and you want to skip NodeJS setup; otherwise install with NodeJS 22, 24, or 26 LTS. No known security vulnerabilities.
Install
robotframework-browser on PyPI
pip
pip install robotframework-browseruv
uv add robotframework-browserpoetry
poetry add robotframework-browserInstalling robotframework-browser
Before you install
Low friction installation with a pure-Python wheel. Requires Python 3.10 or newer. Two installation paths: with precompiled binaries via robotframework-browser-batteries (simpler, platform-dependent), or with NodeJS installed locally (more flexible). Recently active maintenance with a release 7 days ago.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pip install robotframework-browser
rfbrowser install
# In a Robot Framework test file:
*** Settings ***
Library Browser
*** Test Cases ***
Example
New Page https://example.com
Get Text h1
Python 3.10 or newer required. Installation also requires either NodeJS 22/24/26 LTS or the robotframework-browser-batteries package (platform-dependent availability). Browser binaries (~700 MB) are installed separately via rfbrowser install.
Verify before relying
- Whether all Robot Framework listener and dynamic library API features work when called directly from Python (description notes some are Robot Framework-dependent)
- Performance characteristics and scalability limits for large test suites
- Availability of robotframework-browser-batteries for your specific OS and processor architecture
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 12 — grpcio, grpcio-tools, protobuf, robotframework, robotframework-pythonlibcore, robotframework-assertion-engine, wrapt, overrides, click, seedir, psutil, PyYAML |
| Maintenance | actively maintained — 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,126,580/month — #4,326 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: robotframework_browser-20.3.0-py3-none-any.whl
Keywords: robotframework, playwright, testing, automation, web, browser
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
browsergym-coreBrowserGym provides a gymnasium environment for…
permissive · top 5,000 on PyPI
playwrightAutomate Chromium, Firefox, and WebKit browsers…
permissive · top 1,000 on PyPI
pytest-playwrightA pytest plugin that integrates Playwright…
permissive · top 5,000 on PyPI
rebrowser-playwrightA patched version of Playwright that automates…
permissive · top 15,000 on PyPI
robotframework-seleniumlibrarySeleniumLibrary is a Robot Framework library…
permissive · top 5,000 on PyPI
hyperbrowserPython SDK for controlling remote browser…
permissive · top 15,000 on PyPI
robocorp-browserA wrapper around Playwright that automates…
permissive · top 15,000 on PyPI
scrapy-playwrightIntegrates Playwright browser automation into…
permissive · top 5,000 on PyPI
robotframeworkRobot Framework is a generic open-source…
permissive · top 5,000 on PyPI
pytest-playwright-asyncioA pytest plugin that integrates Playwright…
permissive · top 15,000 on PyPI