Skip to main content

Driver-agnostic environment abstraction for OKW4Robot. Defines keywords and YAML-based component definitions to build, run, and tear down ephemeral test environments.

Project description

robotframework-okw-env

Driver-agnostic environment abstraction for OKW4Robot.

Deutsche Version: README_de.md

What

One set of keywords (StartEnvironment, StopEnvironment, WaitForReady, ...) to build, run, and tear down ephemeral test environments — regardless of the underlying provider (Docker, Proxmox, Kubernetes, ...).

Why — Signal vs. NOISE

Test code should describe what the test needs, not how infrastructure is provisioned. Docker Compose syntax, Proxmox API calls, and Kubernetes manifests are NOISE — the test only needs:

ENV_Start        WebShop
ENV_Start        PostgresDB    version=17
ENV_BuildAndRun
ENV_WaitForReady WebShop

Architecture

┌──────────────────────────────┐
│  Robot Framework Test        │  ENV_Start, ENV_Stop, ...
├──────────────────────────────┤
│  okw-env (this library)      │  Keywords, YAML loader, provider contract
├──────────────┬───────────────┤
│  okw-env-    │  okw-env-     │  Provider plugins
│  docker      │  proxmox      │
├──────────────┼───────────────┤
│  Docker      │  Proxmox      │  Underlying APIs
│  Compose     │  VE API       │
└──────────────┴───────────────┘

Install

pip install robotframework-okw-env

Plus one or more provider plugins:

pip install robotframework-okw-env-docker
pip install robotframework-okw-env-proxmox

Component YAML

Environment components are defined in YAML — no infrastructure code in tests:

PostgresDB:
  provider: docker
  image: postgres
  version: "17"
  port: 5432
  env:
    POSTGRES_DB: testdb
    POSTGRES_PASSWORD: test123
  healthcheck: "pg_isready -U postgres"

Minimal Example

*** Settings ***
Library    okw4robot.library.OKW4RobotLibrary    WITH NAME    OKW

*** Test Cases ***
Order With Payment Gateway
    # Phase 0 — Environment
    ENV_Start        WebShop
    ENV_Start        PostgresDB
    ENV_Start        PaymentGW
    ENV_BuildAndRun
    ENV_WaitForReady WebShop

    # Phase 1-4 — Test
    StartApp         MyShop
    SetValue         Article      Laptop
    ClickOn          Order
    VerifyValue      Status       Paid
    StopApp

    # Phase 5 — Teardown
    ENV_Stop

Key Benefits

  • Isolation — Each test gets its own environment, enabling parallel execution
  • Ephemeral — Environments exist only during test execution, no security concerns
  • Combinable — Version matrix testing via templates
  • Provider-agnostic — Same test, different infrastructure

Provider Plugins

Plugin Repository
okw-env-docker Docker Compose
okw-env-proxmox Proxmox VE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework_okw_env-0.1.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotframework_okw_env-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_okw_env-0.1.0.tar.gz.

File metadata

  • Download URL: robotframework_okw_env-0.1.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for robotframework_okw_env-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a9a8a752e12ac209beda8f02d4a12db716e7b8691fac4cebd6ac102bd67bcfd4
MD5 7c2d10cd19fe25abde26ccc950593890
BLAKE2b-256 1f81f8fb34adf6b2d327a95284564ddaaae63b1427386d303c1a10f6c55885e8

See more details on using hashes here.

File details

Details for the file robotframework_okw_env-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_okw_env-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b0b0c2597fa3ee21d879d178619458b4cdadd5d7f4cdcd114bfc9b20b0e7bfd
MD5 2f3ee40de8b72399310512993b154591
BLAKE2b-256 f8585a88c8749cab4ce384ec3bfe983b84cb9bc56cf48c5884b7fe1f0dcbb95b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page