Edit

Element interaction and automation

DevFlow provides commands for interacting with UI elements in a running MAUI app, including tapping, filling text, scrolling, navigating, and mutating properties.

Important

DevFlow is experimental and will change between releases.

Tap an element

Use the interact tap command to simulate a tap on a UI element. Elements are identified by their AutomationId:

maui devflow agent interact tap --automationid "MyButton"

Set AutomationId on your MAUI controls to make them discoverable by DevFlow:

<Button AutomationId="MyButton" Text="Click me" />

The tap simulates a user interaction on the target element, triggering any associated event handlers or commands.

Fill text

Use the interact fill command to enter text into Entry or Editor controls:

maui devflow agent interact fill --automationid "UsernameEntry" --text "testuser@example.com"

This clears the existing text and enters the specified value, similar to a user typing into the field.

Scroll

Use the interact scroll command to scroll within scrollable containers such as ScrollView or CollectionView:

maui devflow agent interact scroll --automationid "MyScrollView" --direction down

Supported scroll directions include up, down, left, and right.

DevFlow supports navigation commands for apps that use Shell or NavigationPage:

maui devflow agent interact navigate --route "//MainPage/Details"

For Shell-based apps, specify the route using Shell URI syntax. For NavigationPage-based apps, specify the target page type.

Mutate properties

You can change element properties at runtime for debugging purposes. This is useful for testing different visual states or verifying layout behavior without rebuilding the app:

maui devflow agent interact mutate --automationid "MyLabel" --property "Text" --value "Updated text"

Property mutations are applied immediately to the running app. Changes are not persisted and are lost when the app is restarted.

See also