Maestro replay: optional target wait is a hard-coded 7 s (Maestro skips after ~3 s); make it configurable

Offen
#4,204 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
55/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
android, ios, typescript
Bereich
cli, testing-qa

Rechercherichtung

Start in replay-maestro-backend.js, where optionalTargetLookupTimeoutMs is hard-coded to 7000 ms, and trace where the runFlow when condition wait reads the same value. Then find where the replay and test CLI flags are parsed so a new option, such as --optional-timeout, can be passed through. Done when the timeout can be set from the flag or a config key, the default stays unchanged or is deliberately changed, and a test shows an optional missing target is skipped after the configured delay.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement
What happens

In replay --maestro, a missing optional: true target waits optionalTargetLookupTimeoutMs = 7000 ms before the step is skipped (replay-maestro-backend.js). runFlow when conditions use the same value. It is hard-coded, with no flag, config key or environment variable.

Maestro CLI skips the same missing optional target after about 3 s. On a long flow with many optional steps this costs more than the engine saves.

Measured on an Android emulator, with the same app and backend:

agent-device Maestro CLI
launch + 3 missing tapOn … optional: true 24.8 s 19.7 s (incl. ~10 s JVM start)
88-step tour, 58 optional steps 225 s 185 s
same tour with the optional wait at 3000 ms 131 s 185 s
Ask

Make the optional lookup (and the runFlow condition wait) configurable, for example --optional-timeout <ms> on replay/test or a config key, and consider defaulting it closer to Maestro's.

Environment

agent-device 0.21.36, Android emulator API 36 and iOS simulator 26.5.

Vorherrschende Sprache
TypeScript
Sterne
5.3k
Forks
377
Ø Merge
13 Std. 49 Min.
Gemergte PRs (30 T.)
650

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus callstack/agent-device

Alle Issues in callstack/agent-device

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.