Skip to content

Architecture and setup

Robot Framework sits in the middle of a simple stack. Your test cases call keywords; keywords come from libraries (Python code) or resource files (shared Robot Framework code); libraries drive the system under test — a browser, an API, the file system. This layering is the generic test automation architecture (gTAA): the framework defines and runs, libraries adapt it to each interface.

The gTAA layering: data drives the framework, which drives libraries, which drive the system under teststack diagramTest cases & keywords.robot suites · resourcesdrivesRobot Framework coreparse · run · reportdrivesLibrariesBrowser · Requests · your keywordsdrivesSystem under testbrowser · API · file system
YouTube video · 1:56Robot Framework tutorial Episode 2 — Architecture and test case example

See how test data, Robot Framework, libraries, and the system under test form one automation stack.

To run anything you need a Python project with Robot Framework installed. This course can run commands three ways — pick yours with the “Run with” picker above the first command below:

  • uv (recommended) — one tool for the environment and dependencies.
  • venv — a plain Python virtual environment (.venv).
  • poetry — the poetry package manager.

Every command example below and throughout the course adapts to your choice. You can change it any time; set each lab up with the runner you picked.

Task 1 — Create a project and add Robot Framework

Section titled “Task 1 — Create a project and add Robot Framework”
Run

Work in your open workspace folder.

  1. Create the project:

    Terminal window
    uv init --no-workspace --name rf-essentials
  2. Add Robot Framework:

    Terminal window
    uv add robotframework
    Terminal window
    pip install robotframework
    Terminal window
    poetry add robotframework
  1. Create a virtual environment (use python3 if python isn’t found):

    Terminal window
    python -m venv .venv
  2. Activate it — source .venv/bin/activate, or .venv\Scripts\Activate.ps1 in PowerShell — then install Robot Framework into it:

    Terminal window
    uv add robotframework
    Terminal window
    pip install robotframework
    Terminal window
    poetry add robotframework
  1. Create the project:

    Terminal window
    uv init --no-workspace --name rf-essentials
  2. Add Robot Framework:

    Terminal window
    uv add robotframework
    Terminal window
    pip install robotframework
    Terminal window
    poetry add robotframework

Done when

Robot Framework is installed in the project’s environment.

Run

Confirm the install by asking Robot Framework for its version:

Terminal window
uv run robot --version
Terminal window
robot --version
Terminal window
poetry run robot --version

It prints a line like Robot Framework 7.x (Python 3.x on ...) and exits.

Done when

the last command ran robot and printed its version banner.

Check your understanding

Quick recall. Your first answer stays in this browser; the quiz never blocks your progress.

  1. In the generic test automation architecture (gTAA), Robot Framework is…

    Show the answer

    Answer: The test execution layer that drives libraries — Robot Framework is the execution and definition layer; libraries adapt it to each interface under test.

  2. What does uv add robotframework change in your project?

    Show the answer

    Answer: It records the dependency and locks a resolved version — uv add writes the dependency into pyproject.toml and pins the resolved version in uv.lock.

Key terms

uvcommand
Fast Python package manager: uv add <pkg> records a dependency; uv run <cmd> runs inside the project environment.
RobotCodeconcept
The recommended VS Code extension for Robot Framework — syntax, run, and debug support.

All terms in the glossary →