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:
- The element at the cursor position is found using FlaUI UI Automation (desktop) or the Browser Extension (web)
- A multi-segment selector is generated from the element's UIA property tree
- A
RecordedActionis stored with: event type, selector, text value, timestamp (Unix ms), URL (for browser), and control info - After recording stops, all
RecordedActionsare converted toWorkflowActionobjects and inserted on the canvas
Recorded Action Types
| You do | Action type | Activity generated |
|---|---|---|
| Click a button/link | Click | Click, ClickType = Single |
| Double-click | DoubleClick | Click, ClickType = Double |
| Right-click | RightClick | Click, ClickType = Right |
| Type in a field | TypeText | Type Into with captured text |
| Select from dropdown | SelectItem | Select Item with option value |
| Press Ctrl+S, Alt+F4, etc. | Hotkey | Send Hotkey with key combo |
| Navigate to URL | Navigate | Navigate 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
automationidpresent? If yes — that selector is stable. - Is only
idxpresent? — rebuild the selector using the Re-indicate button. - Does the Validate button show a ✓ against the running application?