Skip to content

Install Robot Framework and Write Your First Test

15-07-2026 Roy de Kleijn
Install Robot Framework and Write Your First Test

The quickest way to understand Robot Framework is to run something. This post takes you from an empty machine to a passing test in a few minutes, and explains what each step does so nothing feels like magic.

Prerequisites

Robot Framework is built on Python, and the simplest way to manage both Python and your project's packages is uv, a fast Python package and project manager. If you do not have it yet, install uv by following its instructions for your system, then check it is available:

uv --version

uv creates and manages an isolated environment for your project automatically, so you never have to set one up by hand. It can even install a suitable Python version for you if one is missing.

Create a project and install Robot Framework

Start a project. uv sets up the folder, a pyproject.toml and an isolated environment:

uv init robot-tests
cd robot-tests

Add the framework itself:

uv add robotframework

That gives you the parser, the engine and the reporting, but not the ability to drive a browser yet. For web testing, add the Browser library, which is built on Playwright, and run its one-time setup:

uv add robotframework-browser
uv run rfbrowser init

The rfbrowser init step downloads the browser binaries the library needs. It runs once. Running it through uv run makes sure it uses your project's environment.

Write your first test

Create a file called login.robot with this content:

*** Settings ***
Library    Browser

*** Test Cases ***
A Registered User Can Log In
    New Page       https://demo.example.com/login
    Fill Text      id=username    standard_user
    Fill Secret    id=password    secret
    Click          id=login
    Get Text       body    contains    Welcome

A few things to notice. The *** Settings *** section imports the library you need. The *** Test Cases *** section holds the test, whose name is the readable line "A Registered User Can Log In". Each indented line is a keyword and its arguments, separated by two or more spaces. Four spaces is the recommended separator, and it is what keeps the file readable.

Run it

From the project folder, run the test through uv so it uses your project's environment:

uv run robot login.robot

Robot Framework runs the test and prints a summary showing whether it passed or failed. It also writes three files in the current folder:

  • report.html, a high-level summary of the run.
  • log.html, a detailed, step-by-step log you can expand keyword by keyword.
  • output.xml, the machine-readable results other tools can read.

Open log.html in a browser and expand the test. You will see every keyword that ran, its arguments and how long it took. That log is where you will spend a lot of time once your tests grow, so it is worth getting familiar with it early. We cover it in understanding Robot Framework logs and reports.

What just happened

You installed a framework, added a library that knows how to drive a browser, described a test in readable keywords, and ran it. That shape, framework plus libraries plus readable test data, is the whole model of Robot Framework. Everything else you learn builds on it.

Where to go next

From here, the natural next steps are learning the syntax properly and understanding variables and keywords, which is where tests start to become reusable rather than one-off scripts. Start with Robot Framework syntax basics.

If you would rather follow a structured path from install to a full suite, our Robot Framework Certified Professional course covers it in order and prepares you for the RFCP exam.

Frequently asked questions

Do I need to install Python separately? Not necessarily. uv can install and manage a suitable Python version for you, along with your project's packages. You just need uv itself.

Why do I run rfbrowser init? The Browser library uses Playwright, which needs browser binaries. rfbrowser init downloads them once so your tests have something to drive.

Can I use a different library instead of Browser? Yes. For example, uv add robotframework-seleniumlibrary gives you SeleniumLibrary instead. The test structure stays the same, only the keywords change.


Next: Robot Framework syntax basics, or revisit what is Robot Framework?.

Delen:
Roy de Kleijn

Test Automation Expert

Met meer dan 15 jaar ervaring in software testing en test automation helpt Roy teams om hun testprocessen te verbeteren.

Get Robot Framework certified

Go from the basics to exam-ready at your own pace with the online RFCP course.