Executable examples for OKW4Robot -- a driver-agnostic keyword architecture for Robot Framework.
Each example uses publicly available demo websites and can be run
immediately after installation. No application code, no test
infrastructure -- just pip install and robot.
pip install -r requirements.txtcd selenium/saucedemo
robot tests/SauceDemo_Login.robotcd selenium/saucedemo
robot tests/SauceDemo_SetContext.robotcd selenium/expandtesting
robot tests/DynamicTable.robot- Python 3.10+
- Chrome browser (for Selenium examples)
- ChromeDriver matching your Chrome version (for Selenium examples)
- A reachable Docker host (for env-docker examples)
| Example | Website | What it demonstrates |
|---|---|---|
| SauceDemo Login | saucedemo.com | Login with valid/invalid/locked users, template-driven tests |
| SauceDemo SetContext | saucedemo.com | Repeating GUI structures (product cards) without per-item locators |
| Dynamic Table | expandtesting.com | Table access by header names, dynamic content |
| ENV Docker Basic | Docker host (local/remote) | Environment provisioning lifecycle with PostgreSQL |
okw-examples/
requirements.txt
selenium/
saucedemo/
locators/ # YAML GUI object definitions
tests/ # Robot Framework test suites
README.md
expandtesting/
locators/
tests/
README.md
rest-api/
expandtesting/tests/ # REST API test suites
dummyjson/tests/
ssh/
basic/tests/ # SSH command execution
env-docker/
basic/
components/ # YAML environment definitions
tests/ # ENV lifecycle tests
README.md
OKW separates what to test from how to find GUI elements:
- Tests use abstract keywords:
SetValue,ClickOn,VerifyValue - Locators are defined in YAML files -- no hardcoded selectors in test code
- Drivers (Selenium, FlaUI, RemoteSwing) are loaded automatically via YAML config
This means the same test keywords work across web, desktop, and Java Swing applications. Only the YAML locator files differ.