promod 2.5.4 → 3.0.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.
Files changed (88) hide show
  1. package/built/cjs/config.d.ts +43 -0
  2. package/built/cjs/config.js +161 -0
  3. package/built/cjs/config.js.map +1 -0
  4. package/built/cjs/helpers/execute.script.d.ts +1 -1
  5. package/built/cjs/helpers/execute.script.js +1 -3
  6. package/built/cjs/helpers/execute.script.js.map +1 -1
  7. package/built/cjs/index.d.ts +3 -1
  8. package/built/cjs/index.js +4 -1
  9. package/built/cjs/index.js.map +1 -1
  10. package/built/cjs/interface.d.ts +8 -4
  11. package/built/cjs/mappers.d.ts +1 -1
  12. package/built/cjs/mappers.js.map +1 -1
  13. package/built/cjs/pw/index.d.ts +2 -2
  14. package/built/cjs/pw/pw_client.d.ts +12 -11
  15. package/built/cjs/pw/pw_client.js +47 -58
  16. package/built/cjs/pw/pw_client.js.map +1 -1
  17. package/built/cjs/pw/pw_element.d.ts +17 -16
  18. package/built/cjs/pw/pw_element.js +19 -46
  19. package/built/cjs/pw/pw_element.js.map +1 -1
  20. package/built/cjs/shared/custom_selector_filter.d.ts +19 -0
  21. package/built/cjs/shared/custom_selector_filter.js +40 -0
  22. package/built/cjs/shared/custom_selector_filter.js.map +1 -0
  23. package/built/cjs/shared/validate_browser.d.ts +7 -0
  24. package/built/cjs/shared/validate_browser.js +29 -0
  25. package/built/cjs/shared/validate_browser.js.map +1 -0
  26. package/built/cjs/swd/swd_alignment.d.ts +1 -1
  27. package/built/cjs/swd/swd_alignment.js +2 -28
  28. package/built/cjs/swd/swd_alignment.js.map +1 -1
  29. package/built/cjs/swd/swd_client.d.ts +13 -10
  30. package/built/cjs/swd/swd_client.js +95 -31
  31. package/built/cjs/swd/swd_client.js.map +1 -1
  32. package/built/cjs/swd/swd_element.d.ts +14 -13
  33. package/built/cjs/swd/swd_element.js +13 -12
  34. package/built/cjs/swd/swd_element.js.map +1 -1
  35. package/built/esm/config.d.ts +43 -0
  36. package/built/esm/config.js +158 -0
  37. package/built/esm/config.js.map +1 -0
  38. package/built/esm/helpers/execute.script.d.ts +1 -1
  39. package/built/esm/helpers/execute.script.js +5 -9
  40. package/built/esm/helpers/execute.script.js.map +1 -1
  41. package/built/esm/index.d.ts +3 -1
  42. package/built/esm/index.js +4 -7
  43. package/built/esm/index.js.map +1 -1
  44. package/built/esm/interface.d.ts +8 -4
  45. package/built/esm/interface.js +1 -2
  46. package/built/esm/internals/index.js +1 -5
  47. package/built/esm/internals/index.js.map +1 -1
  48. package/built/esm/internals/logger.js +3 -6
  49. package/built/esm/internals/logger.js.map +1 -1
  50. package/built/esm/mappers.d.ts +1 -1
  51. package/built/esm/mappers.js +1 -7
  52. package/built/esm/mappers.js.map +1 -1
  53. package/built/esm/pw/index.d.ts +2 -2
  54. package/built/esm/pw/index.js +7 -10
  55. package/built/esm/pw/index.js.map +1 -1
  56. package/built/esm/pw/pw_client.d.ts +12 -11
  57. package/built/esm/pw/pw_client.js +103 -118
  58. package/built/esm/pw/pw_client.js.map +1 -1
  59. package/built/esm/pw/pw_element.d.ts +17 -16
  60. package/built/esm/pw/pw_element.js +84 -118
  61. package/built/esm/pw/pw_element.js.map +1 -1
  62. package/built/esm/shared/custom_selector_filter.d.ts +19 -0
  63. package/built/esm/shared/custom_selector_filter.js +38 -0
  64. package/built/esm/shared/custom_selector_filter.js.map +1 -0
  65. package/built/esm/shared/validate_browser.d.ts +7 -0
  66. package/built/esm/shared/validate_browser.js +27 -0
  67. package/built/esm/shared/validate_browser.js.map +1 -0
  68. package/built/esm/swd/index.js +7 -10
  69. package/built/esm/swd/index.js.map +1 -1
  70. package/built/esm/swd/swd_alignment.d.ts +1 -1
  71. package/built/esm/swd/swd_alignment.js +13 -42
  72. package/built/esm/swd/swd_alignment.js.map +1 -1
  73. package/built/esm/swd/swd_client.d.ts +13 -10
  74. package/built/esm/swd/swd_client.js +171 -111
  75. package/built/esm/swd/swd_client.js.map +1 -1
  76. package/built/esm/swd/swd_element.d.ts +14 -13
  77. package/built/esm/swd/swd_element.js +90 -97
  78. package/built/esm/swd/swd_element.js.map +1 -1
  79. package/docs/client.md +335 -111
  80. package/docs/config.md +176 -0
  81. package/docs/element.md +214 -141
  82. package/docs/elements.md +125 -65
  83. package/docs/init.md +66 -12
  84. package/oxlintrc.json +20 -0
  85. package/package.json +15 -18
  86. package/readme.md +114 -14
  87. package/tsconfig.esm.json +6 -2
  88. package/tsconfig.json +4 -1
@@ -0,0 +1,43 @@
1
+ type PromodBrowserName = 'chrome' | 'firefox' | 'webkit' | 'edge';
2
+ type PromodBrowserConfig = {
3
+ browserName: PromodBrowserName;
4
+ headless?: boolean;
5
+ args?: string[];
6
+ executablePath?: string;
7
+ proxy?: {
8
+ server: string;
9
+ bypass?: string;
10
+ username?: string;
11
+ password?: string;
12
+ };
13
+ viewport?: {
14
+ width: number;
15
+ height: number;
16
+ };
17
+ userAgent?: string;
18
+ isMobile?: boolean;
19
+ deviceScaleFactor?: number;
20
+ locale?: string;
21
+ timezoneId?: string;
22
+ permissions?: string[];
23
+ geolocation?: {
24
+ latitude: number;
25
+ longitude: number;
26
+ accuracy?: number;
27
+ };
28
+ colorScheme?: 'light' | 'dark' | 'no-preference';
29
+ ignoreHTTPSErrors?: boolean;
30
+ };
31
+ type PwBrowserType = 'chromium' | 'firefox' | 'webkit';
32
+ type PwConfig = {
33
+ browserType: PwBrowserType;
34
+ launchOptions: Record<string, unknown>;
35
+ contextOptions: Record<string, unknown>;
36
+ };
37
+ type SwdConfig = {
38
+ browserName: string;
39
+ capabilities: Record<string, unknown>;
40
+ };
41
+ declare function toPwConfig(config: PromodBrowserConfig): PwConfig;
42
+ declare function toSwdConfig(config: PromodBrowserConfig): SwdConfig;
43
+ export { toPwConfig, toSwdConfig, PromodBrowserConfig };
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPwConfig = toPwConfig;
4
+ exports.toSwdConfig = toSwdConfig;
5
+ function toPwConfig(config) {
6
+ const { browserName } = config;
7
+ let browserType;
8
+ const launchOptions = {};
9
+ const contextOptions = {};
10
+ if (browserName === 'chrome' || browserName === 'edge') {
11
+ browserType = 'chromium';
12
+ if (browserName === 'edge') {
13
+ launchOptions.channel = 'msedge';
14
+ }
15
+ }
16
+ else if (browserName === 'firefox') {
17
+ browserType = 'firefox';
18
+ }
19
+ else {
20
+ browserType = 'webkit';
21
+ }
22
+ if (config.headless !== undefined)
23
+ launchOptions.headless = config.headless;
24
+ if (config.args)
25
+ launchOptions.args = config.args;
26
+ if (config.executablePath)
27
+ launchOptions.executablePath = config.executablePath;
28
+ if (config.proxy)
29
+ launchOptions.proxy = config.proxy;
30
+ if (config.viewport)
31
+ contextOptions.viewport = config.viewport;
32
+ if (config.userAgent)
33
+ contextOptions.userAgent = config.userAgent;
34
+ if (config.isMobile !== undefined)
35
+ contextOptions.isMobile = config.isMobile;
36
+ if (config.deviceScaleFactor !== undefined)
37
+ contextOptions.deviceScaleFactor = config.deviceScaleFactor;
38
+ if (config.locale)
39
+ contextOptions.locale = config.locale;
40
+ if (config.timezoneId)
41
+ contextOptions.timezoneId = config.timezoneId;
42
+ if (config.permissions)
43
+ contextOptions.permissions = config.permissions;
44
+ if (config.geolocation)
45
+ contextOptions.geolocation = config.geolocation;
46
+ if (config.colorScheme)
47
+ contextOptions.colorScheme = config.colorScheme;
48
+ if (config.ignoreHTTPSErrors !== undefined)
49
+ contextOptions.ignoreHTTPSErrors = config.ignoreHTTPSErrors;
50
+ return { browserType, launchOptions, contextOptions };
51
+ }
52
+ function buildChromeArgs(config) {
53
+ const args = [];
54
+ if (config.headless)
55
+ args.push('--headless=new');
56
+ if (config.args)
57
+ args.push(...config.args);
58
+ if (config.proxy)
59
+ args.push(`--proxy-server=${config.proxy.server}`);
60
+ if (config.viewport)
61
+ args.push(`--window-size=${config.viewport.width},${config.viewport.height}`);
62
+ if (config.userAgent)
63
+ args.push(`--user-agent=${config.userAgent}`);
64
+ if (config.locale)
65
+ args.push(`--lang=${config.locale}`);
66
+ return args;
67
+ }
68
+ function buildMobileEmulation(config) {
69
+ const emulation = {};
70
+ let hasDeviceMetrics = false;
71
+ const deviceMetrics = {};
72
+ if (config.userAgent)
73
+ emulation.userAgent = config.userAgent;
74
+ if (config.isMobile !== undefined) {
75
+ deviceMetrics.mobile = config.isMobile;
76
+ hasDeviceMetrics = true;
77
+ }
78
+ if (config.deviceScaleFactor !== undefined) {
79
+ deviceMetrics.pixelRatio = config.deviceScaleFactor;
80
+ hasDeviceMetrics = true;
81
+ }
82
+ if (hasDeviceMetrics) {
83
+ if (config.viewport) {
84
+ deviceMetrics.width = config.viewport.width;
85
+ deviceMetrics.height = config.viewport.height;
86
+ }
87
+ emulation.deviceMetrics = deviceMetrics;
88
+ }
89
+ if (Object.keys(emulation).length === 0)
90
+ return undefined;
91
+ return emulation;
92
+ }
93
+ function buildChromeOptions(config) {
94
+ const options = {};
95
+ const args = buildChromeArgs(config);
96
+ if (args.length > 0)
97
+ options.args = args;
98
+ if (config.executablePath)
99
+ options.binary = config.executablePath;
100
+ const mobileEmulation = buildMobileEmulation(config);
101
+ if (mobileEmulation)
102
+ options.mobileEmulation = mobileEmulation;
103
+ return options;
104
+ }
105
+ function buildEdgeOptions(config) {
106
+ return buildChromeOptions(config);
107
+ }
108
+ function buildFirefoxOptions(config) {
109
+ const options = {};
110
+ const args = [];
111
+ if (config.headless)
112
+ args.push('-headless');
113
+ if (config.args)
114
+ args.push(...config.args);
115
+ if (args.length > 0)
116
+ options.args = args;
117
+ if (config.executablePath)
118
+ options.binary = config.executablePath;
119
+ const prefs = {};
120
+ if (config.userAgent)
121
+ prefs['general.useragent.override'] = config.userAgent;
122
+ if (config.locale)
123
+ prefs['intl.accept_languages'] = config.locale;
124
+ if (Object.keys(prefs).length > 0)
125
+ options.prefs = prefs;
126
+ return options;
127
+ }
128
+ function toSwdConfig(config) {
129
+ const { browserName } = config;
130
+ if (browserName === 'webkit') {
131
+ throw new Error('Selenium WebDriver does not support WebKit. Use Playwright for WebKit testing.');
132
+ }
133
+ const capabilities = {};
134
+ if (config.ignoreHTTPSErrors) {
135
+ capabilities.acceptInsecureCerts = true;
136
+ }
137
+ let swdBrowserName;
138
+ if (browserName === 'chrome') {
139
+ swdBrowserName = 'chrome';
140
+ const chromeOptions = buildChromeOptions(config);
141
+ if (Object.keys(chromeOptions).length > 0) {
142
+ capabilities['goog:chromeOptions'] = chromeOptions;
143
+ }
144
+ }
145
+ else if (browserName === 'edge') {
146
+ swdBrowserName = 'MicrosoftEdge';
147
+ const edgeOptions = buildEdgeOptions(config);
148
+ if (Object.keys(edgeOptions).length > 0) {
149
+ capabilities['ms:edgeOptions'] = edgeOptions;
150
+ }
151
+ }
152
+ else {
153
+ swdBrowserName = 'firefox';
154
+ const firefoxOptions = buildFirefoxOptions(config);
155
+ if (Object.keys(firefoxOptions).length > 0) {
156
+ capabilities['moz:firefoxOptions'] = firefoxOptions;
157
+ }
158
+ }
159
+ return { browserName: swdBrowserName, capabilities };
160
+ }
161
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- declare function toNativeEngineExecuteScriptArgs(args: any): Promise<any>;
1
+ declare function toNativeEngineExecuteScriptArgs(args: unknown[]): Promise<unknown[]>;
2
2
  export { toNativeEngineExecuteScriptArgs };
@@ -6,7 +6,7 @@ async function toNativeEngineExecuteScriptArgs(args) {
6
6
  const executeScriptArgs = [];
7
7
  const argsArray = (0, sat_utils_1.toArray)(args);
8
8
  if (!argsArray.length)
9
- return;
9
+ return executeScriptArgs;
10
10
  for (const item of argsArray) {
11
11
  const resolvedItem = (0, sat_utils_1.isPromise)(item) ? await item : item;
12
12
  if (Array.isArray(resolvedItem)) {
@@ -26,8 +26,6 @@ async function toNativeEngineExecuteScriptArgs(args) {
26
26
  executeScriptArgs.push(resolvedItem);
27
27
  }
28
28
  }
29
- if (executeScriptArgs.length === 1 && !(0, sat_utils_1.isArray)(args))
30
- return executeScriptArgs[0];
31
29
  return executeScriptArgs;
32
30
  }
33
31
  //# sourceMappingURL=execute.script.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.script.js","sourceRoot":"","sources":["../../../lib/helpers/execute.script.ts"],"names":[],"mappings":";;AA+BS,0EAA+B;AA/BxC,yCAAwD;AAExD,KAAK,UAAU,+BAA+B,CAAC,IAAI;IACjD,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO;IAE9B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,EAAE,CAAC;YAEtB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,YAAY,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;YACzD,iBAAiB,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,YAAY,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAC1D,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAElF,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"execute.script.js","sourceRoot":"","sources":["../../../lib/helpers/execute.script.ts"],"names":[],"mappings":";;AAkCS,0EAA+B;AAlCxC,yCAA+C;AAO/C,KAAK,UAAU,+BAA+B,CAAC,IAAe;IAC5D,MAAM,iBAAiB,GAAc,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO,iBAAiB,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAY,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAc,EAAE,CAAC;YAEjC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,YAAY,IAAK,YAAkC,CAAC,gBAAgB,EAAE,CAAC;YAChF,iBAAiB,CAAC,IAAI,CAAC,MAAO,YAAkC,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACvF,CAAC;aAAM,IAAI,YAAY,IAAK,YAAkC,CAAC,iBAAiB,EAAE,CAAC;YACjF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAO,YAAkC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import { seleniumWD } from './swd';
2
2
  import { playwrightWD } from './pw';
3
- export { seleniumWD, playwrightWD };
3
+ import { toPwConfig, toSwdConfig } from './config';
4
+ import type { PromodBrowserConfig } from './config';
5
+ export { seleniumWD, playwrightWD, toPwConfig, toSwdConfig, PromodBrowserConfig };
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.playwrightWD = exports.seleniumWD = void 0;
3
+ exports.toSwdConfig = exports.toPwConfig = exports.playwrightWD = exports.seleniumWD = void 0;
4
4
  const swd_1 = require("./swd");
5
5
  Object.defineProperty(exports, "seleniumWD", { enumerable: true, get: function () { return swd_1.seleniumWD; } });
6
6
  const pw_1 = require("./pw");
7
7
  Object.defineProperty(exports, "playwrightWD", { enumerable: true, get: function () { return pw_1.playwrightWD; } });
8
+ const config_1 = require("./config");
9
+ Object.defineProperty(exports, "toPwConfig", { enumerable: true, get: function () { return config_1.toPwConfig; } });
10
+ Object.defineProperty(exports, "toSwdConfig", { enumerable: true, get: function () { return config_1.toSwdConfig; } });
8
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAG1B,2FAHA,gBAAU,OAGA;AAFnB,6BAAoC;AAEf,6FAFZ,iBAAY,OAEY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAM1B,2FANA,gBAAU,OAMA;AALnB,6BAAoC;AAKf,6FALZ,iBAAY,OAKY;AAJjC,qCAAmD;AAIhB,2FAJ1B,mBAAU,OAI0B;AAAE,4FAJ1B,oBAAW,OAI0B"}
@@ -326,12 +326,16 @@ export type TCookie = {
326
326
  };
327
327
  export type TLogLevel = {
328
328
  level: string;
329
- type: string;
330
- timestamp: string;
331
- message: any | any[];
329
+ type: string | {
330
+ url: string;
331
+ lineNumber: number;
332
+ columnNumber: number;
333
+ };
334
+ timestamp: string | number;
335
+ message: unknown;
332
336
  };
333
337
  export type TSwitchToIframe = {
334
338
  timeout?: number;
335
339
  message?: string;
336
340
  };
337
- export type ExecuteScriptFn = (data: any | any[]) => unknown;
341
+ export type ExecuteScriptFn = (...data: any[]) => unknown;
@@ -155,7 +155,7 @@ declare const KeysPW: {
155
155
  * @param {string} urlOrPath
156
156
  * @returns {string}
157
157
  */
158
- declare const resolveUrl: (urlOrPath: string, appBaseUrl: any) => any;
158
+ declare const resolveUrl: (urlOrPath: string, appBaseUrl: string) => string;
159
159
  declare const getPositionXY: (position: string, { x, y, width, height }: {
160
160
  x: number;
161
161
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../lib/mappers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../lib/mappers.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { preBindBrowserInstance } from './pw_element';
2
2
  declare const playwrightWD: {
3
3
  browser: import("./pw_client").Browser;
4
- $: (selector: string | import("../mappers").TCustomSelector | ((...args: any[]) => any) | Promise<any>, root?: import("../interface").PromodElementType | any, ...rest: any[]) => import("../interface").PromodElementType;
5
- $$: (selector: string | import("../mappers").TCustomSelector | ((...args: any[]) => any) | Promise<any>, root?: import("../interface").PromodElementType | any, ...rest: any[]) => import("../interface").PromodElementsType;
4
+ $: (selector: string | import("../mappers").TCustomSelector | ((...args: unknown[]) => unknown) | Promise<unknown>, root?: import("../interface").PromodElementType, ...rest: unknown[]) => import("../interface").PromodElementType;
5
+ $$: (selector: string | import("../mappers").TCustomSelector | ((...args: unknown[]) => unknown) | Promise<unknown>, root?: import("../interface").PromodElementType, ...rest: unknown[]) => import("../interface").PromodElementsType;
6
6
  preBindBrowserInstance: typeof preBindBrowserInstance;
7
7
  };
8
8
  export { playwrightWD };
@@ -11,11 +11,11 @@ declare class ContextWrapper {
11
11
  private _contextConfig;
12
12
  constructor(serverBrowser: PWBrowser, config?: {});
13
13
  switchPage(data: TSwitchBrowserTabPage): Promise<void>;
14
- getPageLogs(): any[];
14
+ getPageLogs(): TLogLevel[];
15
15
  runNewContext(browserData?: {
16
16
  currentBrowserName?: string;
17
17
  newBrowserName?: string;
18
- capabilities?: any;
18
+ capabilities?: Record<string, unknown>;
19
19
  }): Promise<void>;
20
20
  getCurrentContext(): Promise<BrowserContext>;
21
21
  changeContext({ index, browserName }: TSwitchBrowserTabPage): Promise<void>;
@@ -27,7 +27,7 @@ type TMockReq = {
27
27
  url: string;
28
28
  handler: (request?: Request) => {
29
29
  status?: number;
30
- body?: any;
30
+ body?: string | Buffer;
31
31
  headers?: {
32
32
  [k: string]: string;
33
33
  };
@@ -54,14 +54,15 @@ declare class Browser {
54
54
  currentClient(): PWBrowser;
55
55
  injectPagePreloadScript(script: string): Promise<void>;
56
56
  mockRequests(mock: TMockReq): void;
57
+ clearMockRequests(): void;
57
58
  injectEngine({ context, page }: {
58
59
  context?: BrowserContext;
59
60
  page?: Page;
60
61
  }): void;
61
- setClient({ driver, lauchNewInstance, baseConfig }?: {
62
- driver: any;
63
- lauchNewInstance?: any;
64
- baseConfig?: any;
62
+ setClient({ driver, lauchNewInstance, baseConfig, }?: {
63
+ driver: PWBrowser;
64
+ lauchNewInstance?: () => Promise<PWBrowser>;
65
+ baseConfig?: Record<string, unknown>;
65
66
  }): void;
66
67
  /** @private */
67
68
  private getWorkingContext;
@@ -515,10 +516,10 @@ declare class Browser {
515
516
  * const result = await browser.executeScript(() => document.body.offsetHeight);
516
517
  *
517
518
  * @param {!Function} script scripts that needs to be executed
518
- * @param {any|any[]} [args] function args
519
+ * @param {any[]} [args] function args
519
520
  * @returns {Promise<any>}
520
521
  */
521
- executeScript(script: ExecuteScriptFn, args?: any | any[]): Promise<any>;
522
+ executeScript(script: ExecuteScriptFn, args?: any[]): Promise<any>;
522
523
  /**
523
524
  * @example
524
525
  * const { playwrightWD } = require('promod');
@@ -579,8 +580,8 @@ declare class Browser {
579
580
  * @return {Promise<void>}
580
581
  */
581
582
  close(): Promise<void>;
582
- scrollElementByMouseWheel(element: PromodElementType, x: any, y: any, deltaX: any, deltaY: any, duration: any): Promise<void>;
583
- scrollByMouseWheel(x: any, y: any, deltaX: any, deltaY: any, duration: any): Promise<void>;
583
+ scrollElementByMouseWheel(element: PromodElementType, x: number, y: number, deltaX: number, deltaY: number, duration: number): Promise<void>;
584
+ scrollByMouseWheel(x: number, y: number, deltaX: number, deltaY: number, duration: number): Promise<void>;
584
585
  keyboardPressEsc(): Promise<void>;
585
586
  keyboardPressEnter(): Promise<void>;
586
587
  }
@@ -7,29 +7,7 @@ const sat_wait_1 = require("sat-wait");
7
7
  const execute_script_1 = require("../helpers/execute.script");
8
8
  const mappers_1 = require("../mappers");
9
9
  const internals_1 = require("../internals");
10
- function validateBrowserCallMethod(browserClass) {
11
- const protKeys = Object.getOwnPropertyNames(browserClass.prototype).filter((item) => item !== 'constructor');
12
- for (const key of protKeys) {
13
- const descriptor = Object.getOwnPropertyDescriptor(browserClass.prototype, key);
14
- if ((0, sat_utils_1.isAsyncFunction)(descriptor.value)) {
15
- const originalMethod = descriptor.value;
16
- // eslint-disable-next-line no-inner-declarations
17
- async function decoratedWithChecker(...args) {
18
- if (!this._engineDriver) {
19
- throw new Error(`
20
- ${key}(): Seems like driver was not initialized,
21
- or visit https://github.com/Simple-Automation-Testing/promod/blob/master/docs/init.md#getDriver
22
- `);
23
- }
24
- return originalMethod.call(this, ...args);
25
- }
26
- Object.defineProperty(decoratedWithChecker, 'name', { value: key });
27
- descriptor.value = decoratedWithChecker;
28
- Object.defineProperty(browserClass.prototype, key, descriptor);
29
- }
30
- }
31
- return new browserClass();
32
- }
10
+ const validate_browser_1 = require("../shared/validate_browser");
33
11
  class PageWrapper {
34
12
  constructor(context) {
35
13
  this._context = context;
@@ -127,10 +105,6 @@ class ContextWrapper {
127
105
  else {
128
106
  await this._currentPage.updateContext(this._currentContext);
129
107
  }
130
- this._currentContext.on('page', async (page) => {
131
- // @ts-ignore
132
- this._currentContext._pages.add(page);
133
- });
134
108
  }
135
109
  async getCurrentContext() {
136
110
  if (!this._currentContext) {
@@ -142,21 +116,12 @@ class ContextWrapper {
142
116
  async changeContext({ index, browserName }) {
143
117
  const contexts = await this.server.contexts();
144
118
  if ((0, sat_utils_1.isNumber)(index) && contexts[index]) {
145
- this._currentContext.removeListener('page', () => { });
146
119
  this._currentContext = contexts[index];
147
- this._currentContext.on('page', async (page) => {
148
- // @ts-ignore
149
- this._currentContext._pages.add(page);
150
- });
151
120
  await this._currentPage.updateContext(this._currentContext);
152
121
  }
153
- if (browserName && contexts.find((item) => item['__promodBrowserName'] === browserName)) {
154
- this._currentContext.removeListener('page', () => { });
122
+ if (browserName &&
123
+ contexts.find((item) => item['__promodBrowserName'] === browserName)) {
155
124
  this._currentContext = contexts.find((item) => item['__promodBrowserName'] === browserName);
156
- this._currentContext.on('page', async (page) => {
157
- // @ts-ignore
158
- this._currentContext._pages.add(page);
159
- });
160
125
  await this._currentPage.updateContext(this._currentContext);
161
126
  }
162
127
  }
@@ -186,7 +151,11 @@ class Browser {
186
151
  this.wait = sat_wait_1.waitFor;
187
152
  }
188
153
  static getBrowser() {
189
- return validateBrowserCallMethod(Browser);
154
+ return (0, validate_browser_1.validateBrowserCallMethod)(Browser, {
155
+ driverPropertyName: '_engineDriver',
156
+ excludedMethods: ['constructor'],
157
+ errorUrlSuffix: '#getDriver',
158
+ });
190
159
  }
191
160
  currentClient() {
192
161
  return this._engineDriver;
@@ -201,6 +170,9 @@ class Browser {
201
170
  }
202
171
  this._requestsMocks.push(mock);
203
172
  }
173
+ clearMockRequests() {
174
+ this._requestsMocks = [];
175
+ }
204
176
  injectEngine({ context, page }) {
205
177
  if (context) {
206
178
  const browser = context.browser();
@@ -212,7 +184,9 @@ class Browser {
212
184
  this._contextWrapper = new ContextWrapper(browser);
213
185
  }
214
186
  }
215
- setClient({ driver, lauchNewInstance, baseConfig } = { driver: null }) {
187
+ setClient({ driver, lauchNewInstance, baseConfig, } = {
188
+ driver: null,
189
+ }) {
216
190
  this._engineDriver = driver || this._engineDriver;
217
191
  this._contextWrapper = new ContextWrapper(this._engineDriver, baseConfig);
218
192
  this._createNewDriver = lauchNewInstance;
@@ -308,10 +282,20 @@ class Browser {
308
282
  return;
309
283
  }
310
284
  await this.closeAllpagesExceptInitial();
285
+ // switch context back to the remaining initial page
286
+ await this._contextWrapper.switchPage({ index: 0 });
311
287
  // set initialTab to null for further "it" to use
312
288
  this.initialTab = null;
313
289
  }
314
- async closeAllpagesExceptInitial() { }
290
+ async closeAllpagesExceptInitial() {
291
+ internals_1.promodLogger.engineLog(`[PW] Promod client interface calls method "closeAllpagesExceptInitial" from wrapped API`);
292
+ const pages = (await this._contextWrapper.getCurrentContext()).pages();
293
+ for (const page of pages) {
294
+ if (page !== this.initialTab) {
295
+ await page.close();
296
+ }
297
+ }
298
+ }
315
299
  /**
316
300
  *
317
301
  * @example
@@ -630,12 +614,12 @@ class Browser {
630
614
  */
631
615
  async get(url) {
632
616
  const getUrl = (0, mappers_1.resolveUrl)(url, this.appBaseUrl);
633
- (await this._contextWrapper.getCurrentPage()).goto(getUrl);
617
+ (await (await this._contextWrapper.getCurrentPage()).goto(getUrl));
634
618
  await (await this._contextWrapper.getCurrentPage())
635
- .waitForLoadState('domcontentloaded', { timeout: 10000 })
619
+ .waitForLoadState('domcontentloaded', { timeout: 5000 })
636
620
  .catch(console.error);
637
621
  await (await this._contextWrapper.getCurrentPage())
638
- .waitForLoadState('load', { timeout: 10000 })
622
+ .waitForLoadState('load', { timeout: 5000 })
639
623
  .catch(console.error);
640
624
  }
641
625
  /**
@@ -660,21 +644,30 @@ class Browser {
660
644
  const page = await this.getCurrentPage();
661
645
  const pageFrames = await page.frames();
662
646
  const frames = await (0, sat_utils_1.asyncFilter)(pageFrames, async (frame) => (await frame
663
- .frameLocator(selector)
647
+ .locator(selector)
664
648
  .first()
649
+ .contentFrame()
665
650
  .locator('*')
666
651
  .all()
667
652
  .catch(() => [])).length > 0);
668
653
  for (const [_index, frame] of frames.entries()) {
669
654
  const allElements = await frame
670
- .frameLocator(selector)
655
+ .locator(selector)
671
656
  .first()
657
+ .contentFrame()
672
658
  .locator('*')
673
659
  .all()
674
660
  .catch(() => []);
675
661
  const res = await (0, sat_utils_1.asyncSome)(allElements, async (item) => await item.isVisible());
676
662
  if (res) {
677
- return (await (await frame.frameLocator(selector).first().locator('*').first().elementHandle({ timeout: 25 })).ownerFrame());
663
+ const handle = await frame
664
+ .locator(selector)
665
+ .first()
666
+ .contentFrame()
667
+ .locator('*')
668
+ .first()
669
+ .evaluateHandle((el) => el);
670
+ return (await handle.ownerFrame());
678
671
  }
679
672
  }
680
673
  }, {
@@ -740,26 +733,22 @@ class Browser {
740
733
  * const result = await browser.executeScript(() => document.body.offsetHeight);
741
734
  *
742
735
  * @param {!Function} script scripts that needs to be executed
743
- * @param {any|any[]} [args] function args
736
+ * @param {any[]} [args] function args
744
737
  * @returns {Promise<any>}
745
738
  */
746
- async executeScript(script, args) {
739
+ async executeScript(script, args = []) {
747
740
  internals_1.promodLogger.engineLog(`[PW] Promod client interface calls method "executeScript" from wrapped API, args: `, script, args);
748
- let recomposedArgs = await (0, execute_script_1.toNativeEngineExecuteScriptArgs)(args);
749
- if ((0, sat_utils_1.isArray)(recomposedArgs)) {
750
- for (const [index, item] of Object.entries(recomposedArgs)) {
751
- recomposedArgs[index] = item?.elementHandle ? await item?.elementHandle() : item;
752
- }
753
- }
754
- else {
755
- recomposedArgs = recomposedArgs?.elementHandle ? await recomposedArgs.elementHandle() : recomposedArgs;
741
+ const recomposedArgs = await (0, execute_script_1.toNativeEngineExecuteScriptArgs)(args);
742
+ for (let i = 0; i < recomposedArgs.length; i++) {
743
+ const item = recomposedArgs[i];
744
+ recomposedArgs[i] = item?.evaluate ? await item?.evaluateHandle((node) => node) : item;
756
745
  }
757
746
  const result = await (0, sat_wait_1.waitFor)(async () => await (await this.getWorkingContext()).evaluate(script, recomposedArgs), {
758
747
  stopIfNoError: true,
759
748
  timeout: 2000,
760
749
  interval: 500,
761
750
  });
762
- for (const item of (0, sat_utils_1.toArray)(recomposedArgs)) {
751
+ for (const item of recomposedArgs) {
763
752
  item?.dispose && (await item?.dispose());
764
753
  }
765
754
  return result;