← All projects

Featured project 5 · Python · Keyword-driven

Robot Framework UI + API

UI and API test automation with Robot Framework 7, SeleniumLibrary and RequestsLibrary on the Page Object Model: 30 tests in about 70 seconds with 4 parallel pabot processes.

Live CI status of Robot Framework UI + API

View source code View documentation View latest CI runs View test report

Purpose

Shows keyword-driven automation built like maintainable software: the same tool I use at work (Robot Framework + Python), applied to a public demo shop (Sauce Demo) and a public API (DummyJSON).

Technology stack

AreaTools
FrameworkRobot Framework 7
UISeleniumLibrary 6.9
APIRequestsLibrary 0.9
Parallel runspabot
Code qualityRobocop linter (documentation required on every test and keyword)
CIGitHub Actions: lint gate, Chrome and Firefox matrix, nightly run

Architecture overview

 tests/*.robot           business language, no locators, no HTTP calls
        │
 pages / components      api service objects
 (locators live here)    (URLs and bodies live here)
        │                        │
 common.resource + ShopLibrary.py    ApiSession.resource
        │                        │
   SeleniumLibrary            RequestsLibrary

Key engineering decisions

Implemented features

Setup and execution

python -m venv .venv && .venv\Scripts\activate
pip install -r requirements.txt
pabot --processes 4 --testlevelsplit --artifacts png --artifactsinsubfolders \
      --outputdir results -A args/common.args tests
robocop check

Sample test results

Robot Framework report: 30 tests passed
Robot Framework report of a full parallel run.

CI workflow

Lint first (Robocop and a dry run), then the suite on Chrome and Firefox in parallel with pabot, a pass/fail table in the run summary, and the logs as artifacts; also a nightly run.

Known limitations and future improvements

Limitations

Next steps