browser-automation wave 2: testcafe-0001 + webdriverio-0002

testcafe-0001: Selector filterNodes (string-filter branch) and
  expandSelectorResults both dedup via Array.indexOf on growing result
  arrays. filterNodes: O(N*M) per selector filter. expandSelectorResults:
  O(N^2 * K^2) worst case when derivatives unique. Fix: Set<Node> keyed
  by object identity. Bench: 398x at N=2000 filter, 1966x at N=K=150
  expand.

webdriverio-0002: MSPO aggregator dedups per-test entries via Array.find
  on growing bucket array. O(N^2) per test bucket, same pattern repeats
  in unknown-suite merger. Fix: companion Map<bucketKey, Set<selector>>
  for O(1) dedup. Bench: 493x at N=2000.

UNDF IDs: 1290 (testcafe), 1291 (webdriverio-0002). All 17 tests pass.
This commit is contained in:
russell@unturf.com 2026-04-22 18:31:53 -04:00
parent 9a0253e724
commit b79fddfb51
16 changed files with 827 additions and 17 deletions

View file

@ -1287,5 +1287,7 @@
"playwright-0001": "UNDF-2026-000001276",
"selenium-0001": "UNDF-2026-000001277",
"selenium-0002": "UNDF-2026-000001288",
"webdriverio-0001": "UNDF-2026-000001289"
"webdriverio-0001": "UNDF-2026-000001289",
"testcafe-0001": "UNDF-2026-000001290",
"webdriverio-0002": "UNDF-2026-000001291"
}