@empiricalrun/playwright-utils 0.38.4 → 0.38.6
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 +12 -0
- package/dist/config/proxy.d.ts +6 -0
- package/dist/config/proxy.d.ts.map +1 -0
- package/dist/config/proxy.js +13 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/telemetry.d.ts +2 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +2 -0
- package/dist/test/scripts/pw-locator-patch/dismiss-overlays/index.d.ts.map +1 -1
- package/dist/test/scripts/pw-locator-patch/dismiss-overlays/index.js +19 -7
- package/package.json +3 -3
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @empiricalrun/playwright-utils
|
|
2
2
|
|
|
3
|
+
## 0.38.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 26e5a97: feat: add proxy config helpers
|
|
8
|
+
|
|
9
|
+
## 0.38.5
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 86a9e1d: feat: improvements to overlay dismissal telemetry
|
|
14
|
+
|
|
3
15
|
## 0.38.4
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BrowserContextOptions } from "@playwright/test";
|
|
2
|
+
type ProxyConfig = NonNullable<BrowserContextOptions["proxy"]>;
|
|
3
|
+
type ProxyRegion = "ap-south-1";
|
|
4
|
+
export declare function getProxyConfig(region: ProxyRegion): ProxyConfig;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/config/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,KAAK,WAAW,GAAG,WAAW,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/D,KAAK,WAAW,GAAG,YAAY,CAAC;AAOhC,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAM/D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProxyConfig = getProxyConfig;
|
|
4
|
+
const proxyEndpoints = {
|
|
5
|
+
"ap-south-1": "http://prod-proxy-nlb-6b53da958ae0b30e.elb.ap-south-1.amazonaws.com:8080",
|
|
6
|
+
};
|
|
7
|
+
function getProxyConfig(region) {
|
|
8
|
+
return {
|
|
9
|
+
server: proxyEndpoints[region],
|
|
10
|
+
username: "proxyuser",
|
|
11
|
+
password: process.env.EMPIRICAL_PROXY_PASSWORD,
|
|
12
|
+
};
|
|
13
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./auth";
|
|
|
2
2
|
export * from "./auth/google";
|
|
3
3
|
export { solveRecaptcha } from "./captcha";
|
|
4
4
|
export { baseConfig, chromeStablePath, devices } from "./config";
|
|
5
|
+
export { getProxyConfig } from "./config/proxy";
|
|
5
6
|
export * from "./email";
|
|
6
7
|
export * from "./kv";
|
|
7
8
|
export * from "./playwright-extensions";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACjE,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC;AACrB,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC;AACrB,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.devices = exports.chromeStablePath = exports.baseConfig = exports.solveRecaptcha = void 0;
|
|
17
|
+
exports.getProxyConfig = exports.devices = exports.chromeStablePath = exports.baseConfig = exports.solveRecaptcha = void 0;
|
|
18
18
|
__exportStar(require("./auth"), exports);
|
|
19
19
|
__exportStar(require("./auth/google"), exports);
|
|
20
20
|
var captcha_1 = require("./captcha");
|
|
@@ -23,6 +23,8 @@ var config_1 = require("./config");
|
|
|
23
23
|
Object.defineProperty(exports, "baseConfig", { enumerable: true, get: function () { return config_1.baseConfig; } });
|
|
24
24
|
Object.defineProperty(exports, "chromeStablePath", { enumerable: true, get: function () { return config_1.chromeStablePath; } });
|
|
25
25
|
Object.defineProperty(exports, "devices", { enumerable: true, get: function () { return config_1.devices; } });
|
|
26
|
+
var proxy_1 = require("./config/proxy");
|
|
27
|
+
Object.defineProperty(exports, "getProxyConfig", { enumerable: true, get: function () { return proxy_1.getProxyConfig; } });
|
|
26
28
|
__exportStar(require("./email"), exports);
|
|
27
29
|
__exportStar(require("./kv"), exports);
|
|
28
30
|
__exportStar(require("./playwright-extensions"), exports);
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { TelemetryEvent } from "@empiricalrun/shared-types/telemetry";
|
|
2
2
|
export declare function trackEvent(event: TelemetryEvent): Promise<void>;
|
|
3
3
|
export declare function trackOverlayDismissed(opts: {
|
|
4
|
+
original: string | undefined;
|
|
4
5
|
description: string;
|
|
6
|
+
text: string | undefined;
|
|
5
7
|
cache: boolean;
|
|
6
8
|
success: boolean;
|
|
7
9
|
testName?: string;
|
package/dist/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtE,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBrE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtE,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBrE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GAAG,IAAI,CAoBP"}
|
package/dist/telemetry.js
CHANGED
|
@@ -32,6 +32,8 @@ function trackOverlayDismissed(opts) {
|
|
|
32
32
|
properties: {
|
|
33
33
|
environment,
|
|
34
34
|
overlay_description: opts.description,
|
|
35
|
+
overlay_text: opts.text ?? "",
|
|
36
|
+
original_locator: opts.original ?? "",
|
|
35
37
|
cache_hit: opts.cache,
|
|
36
38
|
success: opts.success,
|
|
37
39
|
project_name: process.env.PROJECT_NAME ?? "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/test/scripts/pw-locator-patch/dismiss-overlays/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAK9C,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,WAKhE;AAED,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,iBAAiB,CAIhB;gBAEoB,IAAI,EAAE,IAAI;IAEjC,WAAW;IAMX,GAAG,CACP,aAAa,EAAE,GAAG,EAClB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,EACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/test/scripts/pw-locator-patch/dismiss-overlays/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAK9C,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,WAKhE;AAED,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,iBAAiB,CAIhB;gBAEoB,IAAI,EAAE,IAAI;IAEjC,WAAW;IAMX,GAAG,CACP,aAAa,EAAE,GAAG,EAClB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,EACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;YAqDF,QAAQ;CA6BvB;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GACnB,cAAc,GAAG,SAAS,CAiC5B"}
|
|
@@ -37,8 +37,14 @@ class OverlayDismissAgent {
|
|
|
37
37
|
const description = (0, utils_1.overlayDescription)(element) ?? "unknown";
|
|
38
38
|
const testName = testFn.info().title;
|
|
39
39
|
reporter(`Attempting to auto-dismiss overlay: ${description}`);
|
|
40
|
+
const text = await (0, utils_1.textContent)(this.page, element);
|
|
41
|
+
const eventProps = {
|
|
42
|
+
description,
|
|
43
|
+
text,
|
|
44
|
+
testName,
|
|
45
|
+
original: originalFailingLocator(originalError.message),
|
|
46
|
+
};
|
|
40
47
|
try {
|
|
41
|
-
const text = await (0, utils_1.textContent)(this.page, element);
|
|
42
48
|
const { success } = await (0, cache_1.executeFromCache)({
|
|
43
49
|
page: this.page,
|
|
44
50
|
dom: element?.interceptor,
|
|
@@ -46,19 +52,17 @@ class OverlayDismissAgent {
|
|
|
46
52
|
});
|
|
47
53
|
if (success) {
|
|
48
54
|
(0, telemetry_1.trackOverlayDismissed)({
|
|
49
|
-
|
|
55
|
+
...eventProps,
|
|
50
56
|
cache: true,
|
|
51
57
|
success: true,
|
|
52
|
-
testName,
|
|
53
58
|
});
|
|
54
59
|
return;
|
|
55
60
|
}
|
|
56
61
|
const usage = await this.runAgent(element, text, testFn);
|
|
57
62
|
(0, telemetry_1.trackOverlayDismissed)({
|
|
58
|
-
|
|
63
|
+
...eventProps,
|
|
59
64
|
cache: false,
|
|
60
65
|
success: true,
|
|
61
|
-
testName,
|
|
62
66
|
tokens: usage.tokens,
|
|
63
67
|
cost: usage.cost,
|
|
64
68
|
});
|
|
@@ -66,10 +70,9 @@ class OverlayDismissAgent {
|
|
|
66
70
|
catch (agentError) {
|
|
67
71
|
reporter(`Error during overlay dismissal agent execution: ${agentError.toString()}`);
|
|
68
72
|
(0, telemetry_1.trackOverlayDismissed)({
|
|
69
|
-
|
|
73
|
+
...eventProps,
|
|
70
74
|
cache: false,
|
|
71
75
|
success: false,
|
|
72
|
-
testName,
|
|
73
76
|
});
|
|
74
77
|
throw originalError;
|
|
75
78
|
}
|
|
@@ -134,6 +137,15 @@ function extractInterceptingElement(errorMessage) {
|
|
|
134
137
|
};
|
|
135
138
|
}
|
|
136
139
|
}
|
|
140
|
+
function originalFailingLocator(errorMessage) {
|
|
141
|
+
try {
|
|
142
|
+
const p = removeAnsiCodes(errorMessage).split("waiting for ")[1];
|
|
143
|
+
return p?.split("\n")[0];
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return "";
|
|
147
|
+
}
|
|
148
|
+
}
|
|
137
149
|
function removeAnsiCodes(str) {
|
|
138
150
|
const ansiRegex = new RegExp(String.raw `\u001b\[[0-9;]*m`, "g");
|
|
139
151
|
return str.replace(ansiRegex, "");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empiricalrun/playwright-utils",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.6",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org/",
|
|
6
6
|
"access": "public"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"author": "Empirical Team <hey@empirical.run>",
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@playwright/test": "1.
|
|
25
|
+
"@playwright/test": "1.57.0",
|
|
26
26
|
"@types/async-retry": "^1.4.8",
|
|
27
27
|
"@types/authenticator": "^1.1.4",
|
|
28
28
|
"@types/babel__code-frame": "^7.0.6",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@types/node": "^20.14.9",
|
|
31
31
|
"@types/serve-handler": "^6.1.4",
|
|
32
32
|
"@types/pg": "^8.11.6",
|
|
33
|
-
"playwright-core": "1.
|
|
33
|
+
"playwright-core": "1.57.0",
|
|
34
34
|
"serve-handler": "^6.1.6",
|
|
35
35
|
"@empiricalrun/shared-types": "0.12.0"
|
|
36
36
|
},
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/email.ts","./src/index.ts","./src/kv.ts","./src/logger.ts","./src/mailosaur-client.ts","./src/playwright-extensions.ts","./src/postgres.ts","./src/telemetry.ts","./src/auth/google.ts","./src/auth/index.ts","./src/auth/types.ts","./src/captcha/index.ts","./src/captcha/vision.ts","./src/config/index.ts","./src/config/devices/types.ts","./src/overlay-tests/cache.spec.ts","./src/overlay-tests/click.spec.ts","./src/overlay-tests/fixtures.ts","./src/overlay-tests/patch.spec.ts","./src/reporter/blob-utils.ts","./src/reporter/empirical-reporter.ts","./src/reporter/uploader.ts","./src/reporter/util.ts","./src/test/constants.ts","./src/test/expect.ts","./src/test/index.ts","./src/test/types.ts","./src/test/video-labels.ts","./src/test/scripts/agent-capabilities.ts","./src/test/scripts/index.ts","./src/test/scripts/locator-highlights.ts","./src/test/scripts/locator-vision.ts","./src/test/scripts/mouse-pointer.ts","./src/test/scripts/types.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/cache.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/index.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/prompt.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/types.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/utils.ts","./src/test/scripts/pw-locator-patch/highlight/click.ts","./src/test/scripts/pw-locator-patch/highlight/expect.ts","./src/test/scripts/pw-locator-patch/highlight/hover.ts","./src/test/scripts/pw-locator-patch/highlight/inner-text.ts","./src/test/scripts/pw-locator-patch/highlight/input-value.ts","./src/test/scripts/pw-locator-patch/highlight/is-checked.ts","./src/test/scripts/pw-locator-patch/highlight/is-disabled.ts","./src/test/scripts/pw-locator-patch/highlight/is-editable.ts","./src/test/scripts/pw-locator-patch/highlight/text-content.ts","./src/test/scripts/pw-locator-patch/utils/index.ts","./src/test/scripts/pw-locator-patch/vision/query.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["./src/email.ts","./src/index.ts","./src/kv.ts","./src/logger.ts","./src/mailosaur-client.ts","./src/playwright-extensions.ts","./src/postgres.ts","./src/telemetry.ts","./src/auth/google.ts","./src/auth/index.ts","./src/auth/types.ts","./src/captcha/index.ts","./src/captcha/vision.ts","./src/config/index.ts","./src/config/proxy.ts","./src/config/devices/types.ts","./src/overlay-tests/cache.spec.ts","./src/overlay-tests/click.spec.ts","./src/overlay-tests/fixtures.ts","./src/overlay-tests/patch.spec.ts","./src/reporter/blob-utils.ts","./src/reporter/empirical-reporter.ts","./src/reporter/uploader.ts","./src/reporter/util.ts","./src/test/constants.ts","./src/test/expect.ts","./src/test/index.ts","./src/test/types.ts","./src/test/video-labels.ts","./src/test/scripts/agent-capabilities.ts","./src/test/scripts/index.ts","./src/test/scripts/locator-highlights.ts","./src/test/scripts/locator-vision.ts","./src/test/scripts/mouse-pointer.ts","./src/test/scripts/types.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/cache.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/index.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/prompt.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/types.ts","./src/test/scripts/pw-locator-patch/dismiss-overlays/utils.ts","./src/test/scripts/pw-locator-patch/highlight/click.ts","./src/test/scripts/pw-locator-patch/highlight/expect.ts","./src/test/scripts/pw-locator-patch/highlight/hover.ts","./src/test/scripts/pw-locator-patch/highlight/inner-text.ts","./src/test/scripts/pw-locator-patch/highlight/input-value.ts","./src/test/scripts/pw-locator-patch/highlight/is-checked.ts","./src/test/scripts/pw-locator-patch/highlight/is-disabled.ts","./src/test/scripts/pw-locator-patch/highlight/is-editable.ts","./src/test/scripts/pw-locator-patch/highlight/text-content.ts","./src/test/scripts/pw-locator-patch/utils/index.ts","./src/test/scripts/pw-locator-patch/vision/query.ts"],"version":"5.8.3"}
|