Skip to main content

UI tests

Use the UI track when you want Ogoron to generate and maintain browser-based tests for your product UI.

What you need

Before working with UI tests, make sure the machine can run the Python UI workspace:

  • Python 3.11+
  • a working browser runtime for Playwright
  • access to install Python dependencies into .ogoron/tests/.venv

Ogoron also collects Allure-compatible results for the UI track. The Python dependency is installed automatically in the workspace. The Allure CLI is optional and is only needed when you want to render or browse HTML reports locally.

Typical flow

From the project root:

ogoron analyze business
ogoron prepare ui-workspace
ogoron generate test-cases --by-text "Describe the feature and what must be tested"
ogoron generate autotests
ogoron run smoke
ogoron run ui-tests

When generated UI tests fail and you want a diagnosis-and-repair workflow:

ogoron heal ui-tests

What each command does

  • ogoron prepare ui-workspace creates the Python UI workspace under .ogoron/tests, prepares its runtime, and can populate the initial support layer.
  • ogoron generate test-cases creates UI test case artifacts that drive UI autotest generation.
  • ogoron generate autotests generates executable UI tests and supporting code for the workspace.
  • ogoron run smoke runs fast workspace-level smoke checks for the UI track.
  • ogoron run ui-tests runs generated UI tests from .ogoron/tests/tests/ui/generated.
  • ogoron heal ui-tests runs generated UI tests and produces a UI-focused healing workflow.

Runtime inputs

The UI track commonly uses:

  • .ogoron/configs/sut_topology.yml for UI environment wiring
  • .ogoron/tests/test.env for local runtime overrides
  • OGORON_UI_BASE_URL when the base URL must be forced explicitly

If your project needs a custom environment layout, start from the SUT topology template:

What to commit

Commit the parts of the UI workspace that represent source or configuration:

  • .ogoron/keep-git/**
  • .ogoron/tests/ogoron_ui/**
  • .ogoron/tests/tests/ui/generated/**
  • .ogoron/tests/pytest.ini
  • .ogoron/tests/pyproject.toml
  • .ogoron/tests/conftest.py
  • .ogoron/tests/test.env.example
  • .ogoron/configs/sut_topology.yml when your project uses it

What not to commit

Do not commit temporary runtime state or local artifacts:

  • .ogoron/.meta/**
  • .ogoron/for-human/**
  • .ogoron/tests/.venv/**
  • .ogoron/tests/test-results/**
  • .ogoron/tests/test.env
  • caches such as __pycache__, .pytest_cache, .ruff_cache

See also