Environment:MarketSquare Robotframework browser Python Runtime
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, Testing |
| Last Updated | 2026-02-12 04:00 GMT |
Overview
Python 3.10+ runtime environment with gRPC, Robot Framework, and supporting libraries for the robotframework-browser package.
Description
This environment defines the Python runtime and all Python package dependencies required to run the Browser library. The library requires Python 3.10 or newer and depends on pinned versions of gRPC/protobuf for Node.js communication, Robot Framework 6.1.1+ for test execution, and several utility packages. Optional extras include robotframework-robocop for code formatting and robotframework-browser-batteries for pre-built Node.js binaries.
Usage
Use this environment for any test execution, library development, or plugin development involving the robotframework-browser library. It is a mandatory prerequisite for all workflows: Installation_and_Setup, Browser_Test_Authoring, API_Testing_via_Browser, Plugin_Development, JavaScript_Extension, and Library_Development_and_Release.
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Linux, macOS, or Windows | Tested on ubuntu-latest, macos-latest, windows-latest in CI |
| Python | >= 3.10 | Tested with 3.10, 3.11, 3.12, 3.13, 3.14 |
| Disk | ~200MB for Python packages | Plus additional space for virtual environment |
Dependencies
System Packages
- Python >= 3.10 (with `pip` or `uv` package manager)
- `setuptools` >= 61.0 (build system)
Python Packages (Runtime)
- `grpcio` == 1.78.0
- `grpcio-tools` == 1.78.0
- `protobuf` == 6.33.5
- `robotframework` >= 6.1.1, < 9.0.0
- `robotframework-pythonlibcore` >= 4.4.1, < 5.0.0
- `robotframework-assertion-engine` >= 4.0.0, < 5.0.0
- `wrapt` >= 2.0.1
- `overrides` >= 7.7.0
- `click` >= 8.1.8
- `seedir` >= 0.5.1
- `psutil` >= 7.1.3
- `PyYAML` >= 6.0.3
Python Packages (Optional Extras)
- `robotframework-robocop` >= 6.10.0 (extra: `robocop`)
- `robotframework-browser-batteries` >= 19.7.2 (extra: `bb`)
Credentials
No credentials are required for the Python runtime itself. See the Environment:MarketSquare_Robotframework_browser_Node_Runtime environment for Playwright-related environment variables.
Quick Install
# Install the library with pip
pip install robotframework-browser
# Install with optional extras
pip install "robotframework-browser[robocop]"
pip install "robotframework-browser[bb]"
# Initialize Node.js dependencies after pip install
rfbrowser init
Code Evidence
Python version constraint from `pyproject.toml:24`:
requires-python = ">= 3.10"
Pinned gRPC dependencies from `pyproject.toml:10-12`:
dependencies = [
"grpcio == 1.78.0",
"grpcio-tools == 1.78.0",
"protobuf == 6.33.5",
Robot Framework version range from `pyproject.toml:14`:
"robotframework >= 6.1.1, < 9.0.0",
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
| `ModuleNotFoundError: No module named 'grpcio'` | Python dependencies not installed | Run `pip install robotframework-browser` |
| `robotframework >= 6.1.1 required` | Robot Framework version too old | Upgrade with `pip install --upgrade robotframework` |
| `Python >= 3.10 required` | Python version below minimum | Install Python 3.10 or newer |
Compatibility Notes
- Python 3.10: Minimum supported version. Ruff linter configured with `target-version = "py310"`.
- Python 3.14: Tested in CI. Some test utilities have special handling for this version.
- gRPC pinning: The `grpcio`, `grpcio-tools`, and `protobuf` packages are pinned to exact versions to ensure binary compatibility between the Python and Node.js gRPC layers.
- BrowserBatteries: When installed, the library uses pre-built Node.js binaries instead of requiring a separate Node.js installation.