executeEvent method
Future<bool>
executeEvent({
- required String widgetKey,
- required McpEventType eventType,
- McpEventParams? params,
Executes the eventType event on the widget identified by widgetKey.
Returns true if the event was executed successfully. Returns false if: the widget is not registered/mounted, parameters are missing, or the widget tree does not contain the expected element.
Assertion events return the assertion result (true = assertion passed, false = assertion failed).
Implementation
Future<bool> executeEvent({
required String widgetKey,
required McpEventType eventType,
McpEventParams? params,
}) async {
Log.i('[Executor] ⚡ $eventType → "$widgetKey"');
return switch (eventType) {
// ── Basic gestures ──────────────────────────────────────────────────
McpEventType.tap => _tap(widgetKey),
McpEventType.doubleTap => _doubleTap(widgetKey),
McpEventType.longPress => _longPress(widgetKey, params),
McpEventType.swipe => _swipe(widgetKey, params),
McpEventType.drag => _drag(widgetKey, params),
McpEventType.scroll => _scroll(widgetKey, params),
McpEventType.pinch => _pinch(widgetKey, params),
// ── Text and input ────────────────────────────────────────────────────
McpEventType.textInput => _textInput(widgetKey, params),
McpEventType.clearText => _clearText(widgetKey),
McpEventType.selectDropdown => _selectDropdown(widgetKey, params),
McpEventType.toggle => _toggle(widgetKey),
McpEventType.setSliderValue => _setSliderValue(widgetKey, params),
// ── Keyboard ─────────────────────────────────────────────────────────
McpEventType.hideKeyboard => _hideKeyboard(),
McpEventType.showKeyboard => _showKeyboard(widgetKey),
// ── Navigation ───────────────────────────────────────────────────────
McpEventType.pressBack => _pressBack(widgetKey),
// ── Smart scroll ───────────────────────────────────────────────────
McpEventType.scrollUntilVisible => _scrollUntilVisible(widgetKey, params),
McpEventType.tapByLabel => _tapByLabel(params),
McpEventType.tapAt => _tapAt(params),
// ── Utilities ───────────────────────────────────────────────────────
McpEventType.wait => _wait(params),
// ── Assertions ───────────────────────────────────────────────────────
McpEventType.assertExists => _assertExists(widgetKey),
McpEventType.assertText => _assertText(widgetKey, params),
McpEventType.assertVisible => _assertVisible(widgetKey),
McpEventType.assertEnabled => _assertEnabled(widgetKey),
McpEventType.assertSelected => _assertSelected(widgetKey),
McpEventType.assertValue => _assertValue(widgetKey, params),
McpEventType.assertCount => _assertCount(widgetKey, params),
};
}