@empiricalrun/playwright-utils 0.20.10 → 0.20.11

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @empiricalrun/playwright-utils
2
2
 
3
+ ## 0.20.11
4
+
5
+ ### Patch Changes
6
+
7
+ - 089977f: test: added test for no overlay scenarios
8
+ - 3ffd03c: feat: enable key moments feature flag
9
+
3
10
  ## 0.20.10
4
11
 
5
12
  ### Patch Changes
@@ -102,3 +102,14 @@ test_1.test.beforeEach(async ({ page }) => {
102
102
  (0, test_1.expect)(firstLineThatStartsWithAt).toBeDefined();
103
103
  (0, test_1.expect)(firstLineThatStartsWithAt).toContain("overlay-tests/click.spec.ts:106");
104
104
  });
105
+ (0, test_1.test)("should return from master agent planner", async ({ page }) => {
106
+ await page.goto(`http://localhost:${PORT}/no-overlay.html`);
107
+ try {
108
+ // Deliberately click on a button that doesn't exist
109
+ await page.getByRole("button", { name: "Login" }).click();
110
+ }
111
+ catch (e) {
112
+ (0, test_1.expect)(e.message).toContain("locator.apply: Timeout 5000ms exceeded");
113
+ (0, test_1.expect)(e.message).toContain("waiting for getByRole('button', { name: 'Login' })");
114
+ }
115
+ });
@@ -19,7 +19,7 @@ exports.addLocatorHighlights = addLocatorHighlights;
19
19
  function applyHighlights(page, testFn) {
20
20
  const LocatorClass = page.locator("").constructor;
21
21
  (0, hover_1.patchHover)(LocatorClass, testFn);
22
- (0, expect_1.patchExpect)(LocatorClass, testFn);
22
+ (0, expect_1.patchExpect)(LocatorClass);
23
23
  (0, input_value_1.patchInputValue)(LocatorClass, testFn);
24
24
  (0, is_checked_1.patchIsChecked)(LocatorClass, testFn);
25
25
  (0, is_editable_1.patchIsEditable)(LocatorClass, testFn);
@@ -1,6 +1,5 @@
1
1
  import type { Locator } from "@playwright/test";
2
- import { TestFn } from "../../types";
3
2
  export declare function patchExpect(LocatorClass: Function & {
4
3
  prototype: Locator;
5
- }, testFn: TestFn): void;
4
+ }): void;
6
5
  //# sourceMappingURL=expect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../../../../src/test/scripts/pw-locator-patch/highlight/expect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKrC,wBAAgB,WAAW,CACzB,YAAY,EAAE,QAAQ,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,EAC/C,MAAM,EAAE,MAAM,QAkCf"}
1
+ {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../../../../src/test/scripts/pw-locator-patch/highlight/expect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMhD,wBAAgB,WAAW,CAAC,YAAY,EAAE,QAAQ,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,QAoB1E"}
@@ -3,30 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.patchExpect = void 0;
4
4
  const utils_1 = require("../utils");
5
5
  const isExpectPatched = new WeakMap();
6
- function patchExpect(LocatorClass, testFn) {
6
+ function patchExpect(LocatorClass) {
7
7
  if (isExpectPatched.get(LocatorClass)) {
8
8
  return;
9
9
  }
10
10
  const originalExpect = LocatorClass.prototype._expect;
11
+ // No need to add test.step in this patch as its already an internal method and is not part of stack trace
12
+ // if added then its tracked as a separate step in playwright trace
11
13
  // @ts-ignore _expect is a private method in playwright
12
14
  // https://github.com/microsoft/playwright/blob/69287f26bc514b740eac40160503d6fac8185d37/packages/playwright-core/src/client/locator.ts#L352
13
15
  LocatorClass.prototype._expect = async function (expression, options) {
14
- let result;
15
- const stepName = `locator._expect(${(0, utils_1.description)(this)})`;
16
- await testFn.step(stepName, async () => {
17
- try {
18
- result = await originalExpect.apply(this, [expression, options]);
19
- }
20
- catch (error) {
21
- if (error instanceof Error) {
22
- Error.captureStackTrace(error, LocatorClass.prototype._expect);
23
- }
24
- throw error;
25
- }
26
- if (result.matches) {
27
- await (0, utils_1.scrollAndHighlight)(this);
28
- }
29
- }, { box: true });
16
+ const result = await originalExpect.apply(this, [expression, options]);
17
+ if (result.matches) {
18
+ await (0, utils_1.scrollAndHighlight)(this);
19
+ }
30
20
  return result;
31
21
  };
32
22
  isExpectPatched.set(LocatorClass, true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empiricalrun/playwright-utils",
3
- "version": "0.20.10",
3
+ "version": "0.20.11",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -43,8 +43,8 @@
43
43
  "puppeteer-extra-plugin-recaptcha": "^3.6.8",
44
44
  "rimraf": "^6.0.1",
45
45
  "@empiricalrun/llm": "^0.9.35",
46
- "@empiricalrun/r2-uploader": "^0.3.8",
47
- "@empiricalrun/test-gen": "^0.45.0"
46
+ "@empiricalrun/test-gen": "^0.45.0",
47
+ "@empiricalrun/r2-uploader": "^0.3.8"
48
48
  },
49
49
  "scripts": {
50
50
  "dev": "tsc --build --watch",