Qontinuiontinui
← Back to Documentation

State Machines

How visual states form the nodes of a model-based automation

What Is a State?

A state represents a distinct screen, dialog, or condition of the application — a login screen, a dashboard, an open settings panel. In Qontinui's model, states are the nodes of a graph; transitions are the edges connecting them. Automation moves through this graph the way a traveler moves through a map of cities.

Key Concept: States Are Recognized, Not Assumed

Qontinui does not track state by remembering which buttons were clicked. It determines the current state by looking at the screen and matching identifying images. This is what lets the engine recover when the application ends up somewhere unexpected.

Beyond a Classic State Machine

A traditional finite state machine assumes exactly one state is active at a time. Real interfaces do not behave that way — a modal dialog opens over a dashboard, a toolbar and a sidebar and a content area are all present together. Qontinui's state model (built on the open-source MultiState library) embraces this directly.

Multiple Active States

Several states can be active at the same time. A dialog can be active alongside the screen it covers, and independent panels can each carry their own state.

State Groups

Related states that belong together — a toolbar, sidebar, and content area that always appear as a unit — can be grouped so they activate and deactivate together.

Occlusion & Reveal

When one state covers others (a modal over a page), the covered states are treated as occluded rather than destroyed. Closing the cover reveals them again.

How a State Is Recognized

Each state carries one or more identifying images — screenshots of UI elements unique to that state. To decide whether a state is active, the engine searches the current screen for those images using visual recognition.

  1. 1.The engine captures the current screen
  2. 2.It searches for each of the state's identifying images
  3. 3.If all required images are found, the state is considered active
  4. 4.This check runs before actions and during transitions to keep the engine's picture of reality accurate

What a State Can Contain

Identifying images are the essential ingredient, but a state can also bundle other elements that describe its anatomy:

State Images

The visual templates that identify the state and provide click targets within it

Regions & Locations

Rectangular areas and point coordinates used to scope searches or position interactions

State Strings

Text values associated with the state, used for input or verification

Note: This page covers the concepts. For the step-by-step of creating states, adding identifying images, and marking initial and final states in the builder, see Working with States.

Next Steps

State Machines - Qontinui Documentation