Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Principle:MarketSquare Robotframework browser Python Package Installation

From Leeroopedia
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-browser followed by rfbrowser init
  • BrowserBatteries path: pip install robotframework-browser[bb] followed by rfbrowser 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)

Related Pages

Implemented By

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment