@testmuai/playwright-bindings 0.1.10 → 0.1.11-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"healPatch.d.ts","sourceRoot":"","sources":["../src/healPatch.ts"],"names":[],"mappings":"AAeA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAgErD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAUvD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAU3D"}
1
+ {"version":3,"file":"healPatch.d.ts","sourceRoot":"","sources":["../src/healPatch.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAiFrD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAUvD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAU3D"}
package/dist/healPatch.js CHANGED
@@ -9,6 +9,15 @@ const HEAL_METHODS = [
9
9
  const COORD_METHODS = new Set(['click', 'dblclick', 'hover']);
10
10
  const originals = new Map();
11
11
  let installed = false;
12
+ /**
13
+ * A Playwright strict-mode violation is a plain Error whose message names the
14
+ * condition — Playwright doesn't expose a dedicated error class for it, so we
15
+ * match on the message.
16
+ */
17
+ function isStrictModeViolation(err) {
18
+ return (typeof err?.message === 'string' &&
19
+ err.message.toLowerCase().includes('strict mode violation'));
20
+ }
12
21
  function wrap(name, original) {
13
22
  return async function wrapped(...args) {
14
23
  const stepInfo = currentStep();
@@ -20,10 +29,15 @@ function wrap(name, original) {
20
29
  }
21
30
  catch (e) {
22
31
  const err = e;
23
- if (err?.name === 'TimeoutError' &&
24
- (await this.count()) === 0 &&
25
- COORD_METHODS.has(name)) {
26
- // Element is genuinely absent try vision-coordinate heal.
32
+ const strict = isStrictModeViolation(err);
33
+ // Heal on a timeout where the element is absent (count === 0), or a
34
+ // strict-mode violation where the selector matched >1 element (count > 0
35
+ // is expected, so skip the absence check). Both gated to coord-healable
36
+ // methods. The count() probe only runs on the timeout branch — the OR
37
+ // short-circuits for strict mode so we don't pay for it.
38
+ if (COORD_METHODS.has(name) &&
39
+ (strict || (err?.name === 'TimeoutError' && (await this.count()) === 0))) {
40
+ // Element absent or ambiguous — try vision-coordinate heal.
27
41
  // getVisionCoordinates may throw (Python 13d9f6b: no silent fallback
28
42
  // when smart is ON); on any vision failure, re-throw the original
29
43
  // TimeoutError so the test surfaces the real problem.
@@ -1 +1 @@
1
- {"version":3,"file":"healPatch.js","sourceRoot":"","sources":["../src/healPatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"healPatch.js","sourceRoot":"","sources":["../src/healPatch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testmuai/playwright-bindings",
3
- "version": "0.1.10",
3
+ "version": "0.1.11-beta.1",
4
4
  "description": "Testmu binding for Playwright — thin runtime for LambdaTest exports",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",