~4 min2 / 5

Recording Actions

Every action you perform during a recording session is translated into a workflow activity in real time. This page explains what gets captured, how selectors are generated, and how to record clean, maintainable steps.

How the Recorder Works

When a recording session is active, Genzbots installs a low-level mouse hookthat intercepts every click, and monitors keyboard input for hotkeys and text typing. For each captured action:

  1. The element at the cursor position is found using FlaUI UI Automation (desktop) or the Browser Extension (web)
  2. A multi-segment selector is generated from the element's UIA property tree
  3. A RecordedAction is stored with: event type, selector, text value, timestamp (Unix ms), URL (for browser), and control info
  4. After recording stops, all RecordedActions are converted to WorkflowAction objects and inserted on the canvas

Recorded Action Types

You doAction typeActivity generated
Click a button/linkClickClick, ClickType = Single
Double-clickDoubleClickClick, ClickType = Double
Right-clickRightClickClick, ClickType = Right
Type in a fieldTypeTextType Into with captured text
Select from dropdownSelectItemSelect Item with option value
Press Ctrl+S, Alt+F4, etc.HotkeySend Hotkey with key combo
Navigate to URLNavigateNavigate with URL (browser mode)

Tips for Clean Recordings

  • Wait for pages and dialogs to fully load before clicking — the recorder captures the element present at click time
  • Click on labelled, identifiable controls (buttons with names, inputs with labels) — generic Pane/Custom elements produce weaker selectors
  • For data entry, type the full intended value into each field — the recorder captures the complete text, not individual keystrokes
  • Navigate between form fields with Tab rather than mouse clicks where possible — it produces cleaner output
  • Record in short, logical segments (e.g., one recording per page/screen) and combine activities on the canvas
  • Avoid recording during loading spinners — click only once the target element is fully rendered

Selector Quality

After recording, review each activity's selector in the Properties Panel. Open the Selector Editorand check:

  • Is automationid present? If yes — that selector is stable.
  • Is only idx present? — rebuild the selector using the Re-indicate button.
  • Does the Validate button show a ✓ against the running application?
Was this helpful?