fix(runtime): surface unresolved action targets instead of dropping silently

serializeAction emitted {x:0,y:0} via `?? 0` whenever a Tap/InputText/Swipe
target failed to resolve to coordinates. The runner then collapsed those
to ErrNoAction, so every selector typo became a silent no-op tick.

Have the runtime return null on unresolved targets and log a console
warning (visible via chromedp's runtime listener). Drop the now-redundant
{0,0} -> ErrNoAction guard so a deliberate Tap at the origin actually
fires.
This commit is contained in:
pj committed 2026-05-03 11:01:16 +07:00
1 parent 372fd23d87
commit 57101df48d
2 files changed
+17 -8

No files matched your search

-3
View File
@@ -446,9 +446,6 @@ func nextActionFromV8(ctx context.Context, web driver.WebDriver) (verifier.Actio
}
switch decoded.Kind {
case "Tap":
if decoded.X == 0 && decoded.Y == 0 {
return verifier.Action{}, verifier.ErrNoAction
}
return verifier.Action{Kind: verifier.ActionKindTap, X: decoded.X, Y: decoded.Y}, nil
case "InputText":
return verifier.Action{