Principle:MarketSquare Robotframework browser Python Package Installation
| Knowledge Sources | |
|---|---|
| Domains | Package_Management, Installation |
| Last Updated | 2026-02-12 04:00 GMT |
Overview
Installing a Python test automation library and its dependency chain via pip ensures that the correct versions of runtime components are resolved and placed on the Python path.
Description
The robotframework-browser library is distributed as a standard Python package on PyPI. Installation via pip install resolves and installs a carefully pinned set of dependencies that form the communication bridge between Robot Framework test cases and the Playwright browser engine.
Core Dependencies:
The library declares the following runtime dependencies in its pyproject.toml:
| Package | Version Constraint | Purpose |
|---|---|---|
| grpcio | == 1.78.0 |
gRPC client for communicating with the Node.js/binary server |
| grpcio-tools | == 1.78.0 |
Protocol buffer compilation tools for gRPC |
| protobuf | == 6.33.5 |
Protocol buffer serialization library |
| robotframework | >= 6.1.1, < 9.0.0 |
The Robot Framework test execution engine |
| robotframework-pythonlibcore | >= 4.4.1, < 5.0.0 |
Core library for building RF keyword libraries in Python |
| robotframework-assertion-engine | >= 4.0.0, < 5.0.0 |
Assertion engine for flexible keyword matchers |
| wrapt | >= 2.0.1 |
Function wrapper and decorator utilities |
| overrides | >= 7.7.0 |
Method override enforcement decorators |
| click | >= 8.1.8 |
CLI framework used by the rfbrowser command
|
| seedir | >= 0.5.1 |
Directory tree visualization for diagnostics |
| psutil | >= 7.1.3 |
Process and system utilities for managing browser processes |
| PyYAML | >= 6.0.3 |
YAML parsing support |
Optional Extras:
[bb]-- Installs robotframework-browser-batteries (version >= 19.7.2), which bundles prebuilt gRPC server binaries and eliminates the need for Node.js[robocop]-- Installs robotframework-robocop (version >= 6.10.0), a static analysis and linting tool for Robot Framework test data
Entry Points:
The package registers the rfbrowser console script entry point, which maps to Browser.entry.__main__:cli. This provides the command-line interface for initialization, browser installation, trace viewing, and other administrative tasks.
Python Version Requirement:
The library requires Python >= 3.10. This is enforced both at the package metadata level and by the use of Python 3.10+ language features such as match statements and union type syntax (X | Y).
Usage
Use pip install for the initial installation of the library. The choice of extras depends on the desired installation path:
- Standard path:
pip install robotframework-browserfollowed byrfbrowser init - BrowserBatteries path:
pip install robotframework-browser[bb]followed byrfbrowser install - With linting support:
pip install robotframework-browser[robocop]
When upgrading, it is recommended to clean the old Node.js dependencies first: pip install -U robotframework-browser followed by rfbrowser clean-node and then rfbrowser init.
Theoretical Basis
The package installation process follows standard Python packaging conventions:
1. pip resolves the dependency tree from pyproject.toml metadata
2. All pinned dependencies (grpcio, protobuf) are installed at exact versions
3. All range-constrained dependencies (robotframework, click, etc.) are installed
at the latest compatible version within the specified range
4. If extras are requested ([bb], [robocop]), their additional dependencies
are also resolved and installed
5. The "rfbrowser" console_scripts entry point is registered:
rfbrowser -> Browser.entry.__main__:cli
6. The package is installed into the active Python environment
(virtualenv, system, or conda)