Skip to content

The verbs

This is what the engine can do, and — the column that decides where your suite can run — what each verb needs before it can answer.

These are the engine’s own calls, which is what your driving project reaches for and what a case file reaches through. A step in a case names an act by one word; the closed list of those words is on the case format, and the verb underneath it is here.

121 verbs in 39 families. 94 of them run against an application that references nothing and a desk nobody promised. 25 need a desk. 2 need the in-app half on the other end.

Those three figures are counted out of the catalogue on every build, and the catalogue is checked against the engine in both directions — a verb added without an entry is a red. So the table below cannot fall behind the engine without the suite saying so first.

Most need nothing. A pattern act asks the control through its own accessibility peer: invoke, toggle, set value, select, expand, collapse. It works on an application that has never heard of this library, on a build agent, with the window in the background.

A desk means the foreground. The acts that synthesise real input — typing, clicking, nudging, pressing a key, walking a menu — put the input where Windows is pointing, so they need the foreground and there is nobody who can promise it. A run that asked and did not get it reports a hole: named, counted, and not folded into either a pass or a failure. That is the difference between a suite that runs unattended and one that only runs at somebody’s desk, and this table is where to find out which verbs you are reaching for.

The in-app half is a package you ship. These verbs need Winwright.InApp referenced by the application under test, so they are a decision about your product rather than about your tests.

None
Nothing. It reads what any Windows application already offers.
TheInAppHalf
The in-app half, on the other end. The engine cannot call it at all — the assembly carries no reference to it — so this is never an API call.
FamilyVerbWhat it doesNeeds
ResolveOnceone look for a locator under a rootnothing
Untilthe same, polled to a deadlinenothing
Matchingevery element one step matchesnothing
Beneathevery element a locator's steps before its last one reachnothing
InspectWindowthe control view under a window handlenothing
Underthe same under an element already in handnothing
Renderthat tree as lines a person readsnothing
Renderedthe same lines with their parts keptnothing
Lineone element as its own linenothing
CopyableStepthe step a line opens with, where it has onenothing
ElementFactsOfwhat UI Automation says about one elementnothing
PatternValuesOfwhat its patterns read, as valuesnothing
ActionabilityCheckOfwhether an element can take an actnothing
Wordedone of the four as a person says itnothing
AdmittedTothe door an act reaches its element throughnothing
Ofthe same against a look already takennothing
SubjectUnguardeda subject with no project behind itnothing
LocatorParsea locator out of its textnothing
TryParsethe same without throwingnothing
UiaVocabularyIsControlTypewhether a name is a control typenothing
IsPatternwhether a name is a patternnothing
ControlTypeForthe control type one name meansnothing
Nearestthe nearest name to a misspelt onenothing
AttemptOnceone look, which is what asking whether a thing has gone needsnothing
Untila deadline on a sightingnothing
UntilTruea deadline on a conditionnothing
RetryBoundedan act attempted to a cap and countednothing
Recordedthat count stamped onto the step a trace recordsnothing
FocusInwhat holds the focus, read against the application under testnothing
Heldthe same, or nothing where the focus went somewhere elsenothing
PreflightCheckwhat each declared act needs against the treenothing
Offerswhat one locator's element offersnothing
Requirethe same, stopping on a refusalnothing
ActInvokepress it through its own accessibility peernothing
Toggleflip it through the toggle patternnothing
SetValuewrite through the value patternnothing
SetRangemove through the range patternnothing
Selectselect through the selection-item patternnothing
Expandopen through the expand-collapse patternnothing
Collapseshut through the samenothing
SelectingConfirmedselect and confirm, escalating only if allowednothing
SurfaceAsFoundput the controls back the way they werenothing
PickValuesevery value a picker holdsnothing
PointerCheckeach declared reason against the treenothing
Reasonswhat needs a desktop, grouped by whynothing
Summarisethe same as one block of textnothing
Wordedone reason as a person says itnothing
MayGetAPeerwhether a peer would make the act unnecessarynothing
Clicksynthesised mouse inputa desk
DoubleClicktwo of the samea desk
Runa declared pointer acta desk
KeyboardTypesynthesised keys into a controla desk
Runa declared typing acta desk
TraversalPressa traversal key at a windowa desk
Nudgea range moved by a keya desk
WhoHasFocuswhat holds the focus, asked and not pressednothing
SynthesisedTypetyping, as a step's own resulta desk
Clicka click a case had to say the reason fora desk
Nudgean arrow key at a range control, as a stepa desk
ChordTryParsewhether text a case wrote is a chord, answered before anything is drivennothing
Spelledwhat a chord may be, which is what a refusal lists when one is notnothing
SynthesisedPressa traversal key at the window, or WW317's chord — one verb, and neither needs anything of the application beyond the desktop the keys go toa desk
PickValuereach a value, by keyboard where the pattern will nota desk
Atreach whatever sits at a position, by the same two routesa desk
SynthesisedPickreaching a value in a picker, as a stepa desk
PickAtreaching a position in a picker, as a stepa desk
ExpandMenuopening a submenu with Right, as a stepa desk
MenuEnterenter a menu bar the way a keyboard user doesa desk
Towalk to an entrya desk
Expandopen a submenua desk
Dismissclose what was openeda desk
Highlightedwhat a menu is highlighting, read and not pressednothing
NotificationAreaTraythe taskbar's notification areanothing
Overflowthe flyout, where it is opennothing
Chevronthe button that opens itnothing
Showingthe icons on the barnothing
Hiddenthe icons in the flyoutnothing
ElementForone icon as an elementnothing
Reachablewhether there is a notification area to look atnothing
Placingwhether this desk is placing icons at all, wherever they land — the question a case asks after failing to find its own, and the one that tells a slow shell from an absent iconnothing
Findan icon by name, opening the flyout to looka desk
OpenOverflowopen the flyouta desk
CloseOverflowshut it againa desk
OpenMenuan icon's context menu, by keya desk
Clickan icon clicked with the primary button, at its centre (WW483)a desk
TopLevelWindowsOfProcessevery top-level window a process ownsnothing
Largestthe largest of them, which is the frame where there is onenothing
DrawnByTheShellwhether a window class is one the shell draws on an application's behalf, which is how the drop shadow behind a menu stops being the largest window a tray process ownsnothing
ForegroundNowwho holds the keyboard, read straight from Windowsnothing
Checkwhether a named window holds itnothing
Waitedthe same, waited for over a budget the caller declares — WW470, for a window that is still coming forward rather than one somebody else is holdingnothing
Betweenthe same judgement over two sightings a caller already hasnothing
ForeignInputWatchstart a window in which this run owns the machinenothing
Readwhether anybody else used it in that windownothing
DeskReadwhether there is an interactive desk to drive at allnothing
Blockedthe reading as the one line a refusal printsnothing
Caughtwhether a throw is the desk refusing rather than the code failingnothing
WorthAnotherLookwhether a refusal is one a second look could answernothing
AppTargetAttachToa target from a pid this run did not startnothing
AttachToWindowthe same from a window handlenothing
FromLauncha target from a process this run launched, arguments keptnothing
ProcessRegisterFora register with the stopping budget a project declaresnothing
ObstructionReadingwhat stands over a region, read off the z ordernothing
PaintedFrameOfwhat a window actually paints inside the rectangle it ownsnothing
SeeThroughOfwhether a window's own pixels are composited with what is behind them, read off its style bits and its layer attributes — an application that references nothing still has bothnothing
DerivedSetFromthe expected set out of the strings the project declaresnothing
Reportedthe expected set out of what the application prints when the project's arguments ask itnothing
ReportedValueone expected value out of what the application prints, where the answer is not a setnothing
LoadingInwhether a page has finished computing, read off the tree against the project's own loading label — and a page it could not walk answers that it did not looknothing
Sightedwhether one declared string is showing right now, and whether the look reached the whole window — which is what makes an absence an absencenothing
CaseRunOfone case, run: the loop, the waits, the attempts and the verdict, none of which the case itself carriesnothing
SuiteRunthe cases a selection asked for, run against a window the caller already has, with what it left alone named rather than countednothing
Launchthe same, launching the application under test per fixture — and lending one window to the cases that only read it where the invocation asked for thatnothing
Undeclaredwhich steps name an act needing a project key nothing declares — the reading behind the refusal a run makes at its door, split out so a tool can report every one of them where a run stops at the firstnothing
OwnRenderIntoask the application to render the tree behind one of its windows into a named file, and read back whether it did — the route this block calls its default, which the engine cannot take because a render needs a visual tree and nothing outside that process has onethe in-app half
PopupIntoask the application for the tree one named popup is holding — the surface a copy of the screen cannot photograph open and has nothing to photograph closed, so a preview of a flyout nobody has clicked is a picture only the application can takethe in-app half
ArmedInwhether an application has put up the window its in-app half declares — the reading the engine already took to decide whether a silence it recorded still stands, and the one this suite used to take again with a walk of its ownnothing
DropShadowsReadingwhether this desk draws the shadow a menu asks for — a system setting, off on a runner tuned for speed, and the fact that turns a case waiting for a shadow into a hole naming itnothing
Ofthe answer a reading already taken turns into, which is the half a case can drive without switching a setting of the machine off in the middle of a runnothing
MenuMenuOwnerwhich window is working a menu right now, read from the desk's own input state — the fact that tells a tracked popup's owner holding the foreground from an intruder holding itnothing
RaisedFromthe same fact for the kind Windows says nothing about: which window of the menu's own thread holds the desk, which is what a drop-down raised for a tray icon leaves behindnothing