Skip to main content
visor exposes a focused interaction set. Each interaction maps to one action in the runtime adapter.

Available actions

ActionPurposeWrites files
tapClick a target element or a coordinate on screenNo
navigateSend the runtime to a destination valueNo
actPerform a helper action such as typing or going backNo
scrollMove the page verticallyNo
waitPause for a fixed number of millisecondsNo
screenshotCapture the current screenYes
sourceCapture the current UI sourceYes
This page covers direct interaction actions. Screenshot and source behavior are documented in Evidence capture.

Tap

tap supports two mutually exclusive modes.

Target mode

Use target mode when you want visor to find an element and click it. Required input:
  • target
Behavior:
  • plain text targets are treated as accessibility identifiers
  • prefixed selectors such as text= or xpath= are parsed into the correct driver selector
  • the first matching element is clicked

Coordinate mode

Use coordinate mode when no stable selector is available. Required inputs:
  • x
  • y
Optional input:
  • normalized
Behavior:
  • if normalized is false or omitted, x and y are treated as screen coordinates
  • if normalized is true, x and y are interpreted as a fraction of screen width and height
  • Android coordinate taps use mobile: clickGesture
  • iOS coordinate taps use mobile: tap
Validation rules:
  • target mode cannot be combined with coordinates
  • coordinate mode requires both x and y
navigate sends a destination value to the runtime. Required input:
  • to
Current behavior:
  • in the real Appium adapter, the destination is passed to WebdriverIO through url(to)
  • in mock mode, the destination is echoed back in the action payload

Act

act is a compact action family for common operations. Supported operations today:
NameRequired inputsBehavior
typetarget, valueFinds the target element, clears it, then sends keys
backnoneSends a back navigation event
If act receives any other operation name, it fails.

Scroll

scroll exposes page-style vertical scrolling as a direct action. Required input:
  • direction with value up or down
Optional input:
  • percent
Behavior:
  • if percent is omitted, visor defaults it to 70
  • direction=down moves forward down the page
  • direction=up moves back up the page
  • Android uses Appium scrollGesture
  • iOS attempts the same gesture path and falls back to a touch swipe when needed
Validation rules:
  • direction is required
  • direction must be up or down
  • if present, percent must be between 1 and 100

Wait

wait pauses execution for a fixed number of milliseconds. Required input:
  • ms
Rules:
  • ms must be present
  • ms must be non-negative

Timeout handling inside runs

When an action is executed inside a scenario, each step records its duration. If a step duration exceeds the resolved timeout for the run:
  • the step is marked as failed
  • the step gets an ACTION_ERROR
  • the run continues to the remaining steps and then to assertions
This means a scenario can finish with a full record of all steps even when one step exceeded the time budget.