executeEvent method
Future<bool>
executeEvent({
- required String widgetKey,
- required McpEventType eventType,
- McpEventParams? params,
Ejecuta el evento eventType sobre el widget identificado por widgetKey.
Retorna true si el evento se ejecutó con éxito. Retorna false si: el widget no está registrado/montado, faltan parámetros, o el widget tree no contiene el elemento esperado.
Los eventos de aserción retornan el resultado de la aserción (true = aserción cumplida, false = aserción fallida).
Implementation
Future<bool> executeEvent({
required String widgetKey,
required McpEventType eventType,
McpEventParams? params,
}) async {
Log.i('[Executor] ⚡ $eventType → "$widgetKey"');
return switch (eventType) {
// ── Gestos básicos ──────────────────────────────────────────────────
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),
// ── Texto e input ────────────────────────────────────────────────────
McpEventType.textInput => _textInput(widgetKey, params),
McpEventType.clearText => _clearText(widgetKey),
McpEventType.selectDropdown => _selectDropdown(widgetKey, params),
McpEventType.toggle => _toggle(widgetKey),
McpEventType.setSliderValue => _setSliderValue(widgetKey, params),
// ── Teclado ─────────────────────────────────────────────────────────
McpEventType.hideKeyboard => _hideKeyboard(),
McpEventType.showKeyboard => _showKeyboard(widgetKey),
// ── Navegación ───────────────────────────────────────────────────────
McpEventType.pressBack => _pressBack(widgetKey),
// ── Scroll inteligente ───────────────────────────────────────────────
McpEventType.scrollUntilVisible => _scrollUntilVisible(widgetKey, params),
McpEventType.tapByLabel => _tapByLabel(params),
// ── Utilidades ───────────────────────────────────────────────────────
McpEventType.wait => _wait(params),
// ── Aserciones ───────────────────────────────────────────────────────
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),
};
}