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
@@ -1,17 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.By = exports.PromodSeleniumElements = exports.PromodSeleniumElement = void 0;
4
- exports.$ = $;
5
- exports.$$ = $$;
6
- exports.preBindBrowserInstance = preBindBrowserInstance;
7
1
  /* eslint-disable max-len */
8
- const sat_utils_1 = require("sat-utils");
9
- const selenium_webdriver_1 = require("selenium-webdriver");
10
- Object.defineProperty(exports, "By", { enumerable: true, get: function () { return selenium_webdriver_1.By; } });
11
- const swd_client_1 = require("./swd_client");
12
- const swd_alignment_1 = require("./swd_alignment");
13
- const mappers_1 = require("../mappers");
14
- const internals_1 = require("../internals");
2
+ import { isUndefined, isNumber, getType, safeHasOwnPropery, isString, isFunction, isPromise, isObject, lengthToIndexesArray, } from 'sat-utils';
3
+ import { By, Key } from 'selenium-webdriver';
4
+ import { browser } from './swd_client';
5
+ import { buildBy } from './swd_alignment';
6
+ import { getPositionXY } from '../mappers';
7
+ import { promodLogger } from '../internals';
15
8
  const SELENIUM_API_METHODS = [
16
9
  'getTagName',
17
10
  'getCssValue',
@@ -33,7 +26,7 @@ class PromodSeleniumElements {
33
26
  useParent;
34
27
  _browserInterface;
35
28
  parentSelector;
36
- constructor(selector, client = swd_client_1.browser, getParent, getExecuteScriptArgs, useParent) {
29
+ constructor(selector, client = browser, getParent, getExecuteScriptArgs, useParent) {
37
30
  this.selector = selector;
38
31
  this._browserInterface = client;
39
32
  this.getParent = getParent;
@@ -45,12 +38,12 @@ class PromodSeleniumElements {
45
38
  *
46
39
  * @info if index is less than zero we will get element from the end
47
40
  * @param {number} index
48
- * @returns {Promise<typeof WebElement>}
41
+ * @returns {Promise<WebElement>}
49
42
  */
50
43
  async getElement(index) {
51
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "getElement" from wrapped API, args: `, index);
44
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "getElement" from wrapped API, args: `, index);
52
45
  const _driver = this._browserInterface.currentClient();
53
- const ignoreParent = (0, sat_utils_1.isString)(this.selector) && this.selector.startsWith('ignore-parent=');
46
+ const ignoreParent = isString(this.selector) && this.selector.startsWith('ignore-parent=');
54
47
  const selector = ignoreParent ? this.selector.replace('ignore-parent=', '') : this.selector;
55
48
  const shouldUserDocumentRoot = selector.toString().startsWith('xpath=//') || ignoreParent;
56
49
  let parent;
@@ -74,11 +67,11 @@ class PromodSeleniumElements {
74
67
  }
75
68
  return this._driverElements[index];
76
69
  }
77
- if (this.getParent && !shouldUserDocumentRoot && (0, sat_utils_1.isString)(selector)) {
78
- this._driverElements = await parent.findElements((0, swd_alignment_1.buildBy)(selector, this.getExecuteScriptArgs, parent, true));
70
+ if (this.getParent && !shouldUserDocumentRoot && isString(selector)) {
71
+ this._driverElements = await parent.findElements(buildBy(selector, this.getExecuteScriptArgs, parent, true));
79
72
  }
80
73
  else {
81
- this._driverElements = await _driver.findElements((0, swd_alignment_1.buildBy)(selector, this.getExecuteScriptArgs, parent, true));
74
+ this._driverElements = await _driver.findElements(buildBy(selector, this.getExecuteScriptArgs, parent, true));
82
75
  }
83
76
  if (index < 0) {
84
77
  return this._driverElements[this._driverElements.length + index];
@@ -95,7 +88,7 @@ class PromodSeleniumElements {
95
88
  * @returns {PromodElementType}
96
89
  */
97
90
  get(index) {
98
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "get" from wrapped API, args: `, index);
91
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "get" from wrapped API, args: `, index);
99
92
  const childElement = new PromodSeleniumElement(this.selector, this._browserInterface, this.getElement.bind(this, index), null, true);
100
93
  if (this.parentSelector) {
101
94
  childElement.parentSelector = this.parentSelector || this.selector;
@@ -103,17 +96,18 @@ class PromodSeleniumElements {
103
96
  return childElement;
104
97
  }
105
98
  getAllVisible() {
99
+ const self = this;
106
100
  const _getElements = async function _getElements() {
107
- await this.getElement(0);
101
+ await self.getElement(0);
108
102
  const els = [];
109
- for (let i = 0; i < this._driverElements.length; i++) {
110
- const el = this._driverElements[i];
103
+ for (let i = 0; i < self._driverElements.length; i++) {
104
+ const el = self._driverElements[i];
111
105
  if (await el.isDisplayed()) {
112
106
  els.push(el);
113
107
  }
114
108
  }
115
109
  return els;
116
- }.bind(this);
110
+ };
117
111
  const promodElements = new PromodSeleniumElements(this.selector, this._browserInterface, _getElements, null, true);
118
112
  return promodElements;
119
113
  }
@@ -139,7 +133,7 @@ class PromodSeleniumElements {
139
133
  * @returns {PromodElementType}
140
134
  */
141
135
  last() {
142
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "last" from wrapped API`);
136
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "last" from wrapped API`);
143
137
  return this.get(-1);
144
138
  }
145
139
  /**
@@ -152,7 +146,7 @@ class PromodSeleniumElements {
152
146
  * @returns {PromodElementType}
153
147
  */
154
148
  first() {
155
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "first" from wrapped API`);
149
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "first" from wrapped API`);
156
150
  return this.get(0);
157
151
  }
158
152
  /**
@@ -164,7 +158,7 @@ class PromodSeleniumElements {
164
158
  * @returns {Promise<ElementHandle[]>}
165
159
  */
166
160
  async getEngineElements() {
167
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "getEngineElements" from wrapped API`);
161
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "getEngineElements" from wrapped API`);
168
162
  await this.getElement(0);
169
163
  return this._driverElements;
170
164
  }
@@ -177,7 +171,7 @@ class PromodSeleniumElements {
177
171
  * @param {(item, index) => Promise<void>} cb
178
172
  */
179
173
  async each(cb) {
180
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "each" from wrapped API, args: `, cb);
174
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "each" from wrapped API, args: `, cb);
181
175
  await this.getElement(0);
182
176
  for (let i = 0; i < this._driverElements.length; i++) {
183
177
  await cb(this.get(i), i);
@@ -192,7 +186,7 @@ class PromodSeleniumElements {
192
186
  * @returns {Promise<any[]>}
193
187
  */
194
188
  async map(cb) {
195
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "map" from wrapped API, args: `, cb);
189
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "map" from wrapped API, args: `, cb);
196
190
  await this.getElement(0);
197
191
  const res = [];
198
192
  for (let i = 0; i < this._driverElements.length; i++) {
@@ -209,7 +203,7 @@ class PromodSeleniumElements {
209
203
  * @returns {Promise<boolean>}
210
204
  */
211
205
  async some(cb) {
212
- internals_1.promodLogger.engineLog(`[PW] Promod elements interface calls method "some" from wrapped API, args: `, cb);
206
+ promodLogger.engineLog(`[PW] Promod elements interface calls method "some" from wrapped API, args: `, cb);
213
207
  await this.getElement(0);
214
208
  for (let i = 0; i < this._driverElements.length; i++) {
215
209
  const res = await cb(this.get(i), i).catch(() => false);
@@ -228,7 +222,7 @@ class PromodSeleniumElements {
228
222
  * @returns {Promise<boolean>}
229
223
  */
230
224
  async every(cb) {
231
- internals_1.promodLogger.engineLog(`[PW] Promod elements interface calls method "every" from wrapped API, args: `, cb);
225
+ promodLogger.engineLog(`[PW] Promod elements interface calls method "every" from wrapped API, args: `, cb);
232
226
  await this.getElement(0);
233
227
  for (let i = 0; i < this._driverElements.length; i++) {
234
228
  const res = await cb(this.get(i), i).catch(() => false);
@@ -247,14 +241,14 @@ class PromodSeleniumElements {
247
241
  * @returns {Promise<PromodElementsType>}
248
242
  */
249
243
  filter(cb) {
250
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "find" from wrapped API, args: `, cb);
244
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "find" from wrapped API, args: `, cb);
251
245
  const that = this;
252
246
  async function _getElements() {
253
247
  await that.getElement(0);
254
248
  const els = [];
255
249
  for (let i = 0; i < that._driverElements.length; i++) {
256
250
  const el = that._driverElements[i];
257
- const promodEl = new PromodSeleniumElement(that.selector, that._browserInterface, () => el, that.getExecuteScriptArgs, true);
251
+ const promodEl = new PromodSeleniumElement(that.selector, that._browserInterface, (() => Promise.resolve(el)), that.getExecuteScriptArgs, true);
258
252
  if (await cb(promodEl)) {
259
253
  els.push(el);
260
254
  }
@@ -273,7 +267,7 @@ class PromodSeleniumElements {
273
267
  * @returns {Promise<PromodElementType>}
274
268
  */
275
269
  async find(cb) {
276
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "find" from wrapped API, args: `, cb);
270
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "find" from wrapped API, args: `, cb);
277
271
  await this.getElement(0);
278
272
  for (let i = 0; i < this._driverElements.length; i++) {
279
273
  const el = this.get(i);
@@ -291,16 +285,15 @@ class PromodSeleniumElements {
291
285
  * @returns {Promise<number>}
292
286
  */
293
287
  async count() {
294
- internals_1.promodLogger.engineLog(`[SWD] Promod elements interface calls method "count" from wrapped API`);
288
+ promodLogger.engineLog(`[SWD] Promod elements interface calls method "count" from wrapped API`);
295
289
  return this.getElement()
296
290
  .then(() => this._driverElements.length)
297
291
  .catch((error) => {
298
- internals_1.promodLogger.engineLog(`Promod elements interface gets error after method "count" from wrapped API, error: `, error);
292
+ promodLogger.engineLog(`Promod elements interface gets error after method "count" from wrapped API, error: `, error);
299
293
  return 0;
300
294
  });
301
295
  }
302
296
  }
303
- exports.PromodSeleniumElements = PromodSeleniumElements;
304
297
  class PromodSeleniumElement {
305
298
  selector;
306
299
  _driverElement;
@@ -309,7 +302,7 @@ class PromodSeleniumElement {
309
302
  useParent;
310
303
  _browserInterface;
311
304
  parentSelector;
312
- constructor(selector, client = swd_client_1.browser, getParent, getExecuteScriptArgs, useParent) {
305
+ constructor(selector, client = browser, getParent, getExecuteScriptArgs, useParent) {
313
306
  this._browserInterface = client;
314
307
  this.selector = selector;
315
308
  this.getParent = getParent;
@@ -318,7 +311,7 @@ class PromodSeleniumElement {
318
311
  const self = this;
319
312
  SELENIUM_API_METHODS.forEach(function (methodName) {
320
313
  self[methodName] = (...args) => {
321
- internals_1.promodLogger.engineLog(`Promod element interface calls method "${methodName}" from selenium native API, args: `, ...args);
314
+ promodLogger.engineLog(`Promod element interface calls method "${methodName}" from selenium native API, args: `, ...args);
322
315
  const action = () => self._driverElement[methodName].call(self._driverElement, ...args);
323
316
  return self.callElementAction(action);
324
317
  };
@@ -329,9 +322,9 @@ class PromodSeleniumElement {
329
322
  * @returns {Promise<typeof WebElement>}
330
323
  */
331
324
  async getElement() {
332
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "getElement" from wrapped API`);
333
- const _driver = (this._browserInterface || swd_client_1.browser).currentClient();
334
- const ignoreParent = (0, sat_utils_1.isString)(this.selector) && this.selector.startsWith('ignore-parent=');
325
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "getElement" from wrapped API`);
326
+ const _driver = (this._browserInterface || browser).currentClient();
327
+ const ignoreParent = isString(this.selector) && this.selector.startsWith('ignore-parent=');
335
328
  const selector = ignoreParent ? this.selector.replace('ignore-parent=', '') : this.selector;
336
329
  const shouldUserDocumentRoot = selector.toString().startsWith('xpath=//') || ignoreParent;
337
330
  let parent;
@@ -354,11 +347,11 @@ class PromodSeleniumElement {
354
347
  * !@info
355
348
  * selector should be a string type to proceed inside if block
356
349
  */
357
- if (this.getParent && !shouldUserDocumentRoot && (0, sat_utils_1.isString)(selector)) {
358
- this._driverElement = await parent.findElement((0, swd_alignment_1.buildBy)(selector, this.getExecuteScriptArgs, parent, false));
350
+ if (this.getParent && !shouldUserDocumentRoot && isString(selector)) {
351
+ this._driverElement = await parent.findElement(buildBy(selector, this.getExecuteScriptArgs, parent, false));
359
352
  }
360
353
  else {
361
- this._driverElement = await _driver.findElement((0, swd_alignment_1.buildBy)(selector, this.getExecuteScriptArgs, parent, false));
354
+ this._driverElement = await _driver.findElement(buildBy(selector, this.getExecuteScriptArgs, parent, false));
362
355
  }
363
356
  return this._driverElement;
364
357
  }
@@ -371,7 +364,7 @@ class PromodSeleniumElement {
371
364
  * @returns {PromodElementType}
372
365
  */
373
366
  $(selector, ...rest) {
374
- internals_1.promodLogger.engineLog('[SWD] Create new promod child element, selector: ', selector);
367
+ promodLogger.engineLog('[SWD] Create new promod child element, selector: ', selector);
375
368
  const [, executeScriptArgsGetter] = getInitElementRest(selector, null, ...rest);
376
369
  const childElement = new PromodSeleniumElement(selector, this._browserInterface, this.getElement.bind(this), executeScriptArgsGetter);
377
370
  childElement.parentSelector = this.selector;
@@ -386,22 +379,22 @@ class PromodSeleniumElement {
386
379
  * @returns {PromodElementsType}
387
380
  */
388
381
  $$(selector, ...rest) {
389
- internals_1.promodLogger.engineLog('[SWD] Create new promod child elements, selector: ', selector);
382
+ promodLogger.engineLog('[SWD] Create new promod child elements, selector: ', selector);
390
383
  const [, executeScriptArgsGetter] = getInitElementRest(selector, null, ...rest);
391
384
  const childElements = new PromodSeleniumElements(selector, this._browserInterface, this.getElement.bind(this), executeScriptArgsGetter);
392
385
  childElements.parentSelector = this.selector;
393
386
  return childElements;
394
387
  }
395
388
  async doubleClick(opts = { timeout: 500 }) {
396
- if (!(0, sat_utils_1.isObject)(opts) && !(0, sat_utils_1.isUndefined)(opts)) {
397
- throw new TypeError(`click(); accepts only object type ${(0, sat_utils_1.getType)(opts)}`);
389
+ if (!isObject(opts) && !isUndefined(opts)) {
390
+ throw new TypeError(`click(); accepts only object type ${getType(opts)}`);
398
391
  }
399
392
  const { withScroll, allowForceIfIntercepted, ...pwOpts } = opts;
400
393
  if (withScroll) {
401
394
  await this.scrollIntoView('center');
402
395
  }
403
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "doubleClick" from wrapped API`);
404
- await swd_client_1.browser
396
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "doubleClick" from wrapped API`);
397
+ await browser
405
398
  .currentClient()
406
399
  .actions()
407
400
  .doubleClick(await this.getEngineElement())
@@ -429,9 +422,9 @@ class PromodSeleniumElement {
429
422
  * @returns {Promise<void>}
430
423
  */
431
424
  async click(opts = { clickCount: 1 }) {
432
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "click" from wrapped API, args: `, opts);
433
- if (!(0, sat_utils_1.isObject)(opts) && !(0, sat_utils_1.isUndefined)(opts)) {
434
- throw new TypeError(`click(); accepts only object type ${(0, sat_utils_1.getType)(opts)}`);
425
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "click" from wrapped API, args: `, opts);
426
+ if (!isObject(opts) && !isUndefined(opts)) {
427
+ throw new TypeError(`click(); accepts only object type ${getType(opts)}`);
435
428
  }
436
429
  const { withScroll, allowForceIfIntercepted } = opts;
437
430
  await this.getElement();
@@ -453,9 +446,9 @@ class PromodSeleniumElement {
453
446
  }
454
447
  }
455
448
  async sendKeys(value, asFill) {
456
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "sendKeys" from wrapped API, args: `, value);
457
- if (!(0, sat_utils_1.isString)(value) && !(0, sat_utils_1.isNumber)(value)) {
458
- throw new TypeError(`sendKeys(); accepts only string or number value type ${(0, sat_utils_1.getType)(value)}`);
449
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "sendKeys" from wrapped API, args: `, value);
450
+ if (!isString(value) && !isNumber(value)) {
451
+ throw new TypeError(`sendKeys(); accepts only string or number value type ${getType(value)}`);
459
452
  }
460
453
  await this.getElement();
461
454
  await this._driverElement.sendKeys(value);
@@ -468,8 +461,8 @@ class PromodSeleniumElement {
468
461
  * @returns {Promise<void>}
469
462
  */
470
463
  async hover() {
471
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "hover" from wrapped API`);
472
- await swd_client_1.browser
464
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "hover" from wrapped API`);
465
+ await browser
473
466
  .currentClient()
474
467
  .actions()
475
468
  .move({ origin: await this.getEngineElement() })
@@ -483,9 +476,9 @@ class PromodSeleniumElement {
483
476
  * @returns {Promise<void>}
484
477
  */
485
478
  async hoverByElementCoordinate(position = 'center') {
486
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "hoverByElementCoordinate" from wrapped API`);
479
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "hoverByElementCoordinate" from wrapped API`);
487
480
  const { x, y } = await this.getElementCoordinates(position);
488
- await swd_client_1.browser
481
+ await browser
489
482
  .currentClient()
490
483
  .actions()
491
484
  .move({ x: Math.round(x), y: Math.round(y) })
@@ -500,9 +493,9 @@ class PromodSeleniumElement {
500
493
  * @returns {Promise<void>}
501
494
  */
502
495
  async clickByElementCoordinate(position = 'center') {
503
- internals_1.promodLogger.engineLog(`Promod element interface calls method "clickByElementCoordinate" from wrapped API, args: `, position);
496
+ promodLogger.engineLog(`Promod element interface calls method "clickByElementCoordinate" from wrapped API, args: `, position);
504
497
  const { x, y } = await this.getElementCoordinates(position);
505
- await swd_client_1.browser
498
+ await browser
506
499
  .currentClient()
507
500
  .actions()
508
501
  .move({ x: Math.round(x), y: Math.round(y) })
@@ -510,14 +503,14 @@ class PromodSeleniumElement {
510
503
  .perform();
511
504
  }
512
505
  async getElementCoordinates(position = 'center') {
513
- internals_1.promodLogger.engineLog(`Promod element interface calls method "getElementCoordinates" from wrapped API, args: `, position);
506
+ promodLogger.engineLog(`Promod element interface calls method "getElementCoordinates" from wrapped API, args: `, position);
514
507
  await this.getElement();
515
- const { x, y, width, height } = await swd_client_1.browser.executeScript((el) => el.getBoundingClientRect(), this.getEngineElement());
516
- return (0, mappers_1.getPositionXY)(position, { x, y, width, height });
508
+ const { x, y, width, height } = await browser.executeScript(([el]) => el.getBoundingClientRect(), [this.getEngineElement()]);
509
+ return getPositionXY(position, { x, y, width, height });
517
510
  }
518
511
  async focus() {
519
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "focus" from wrapped API`);
520
- await swd_client_1.browser
512
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "focus" from wrapped API`);
513
+ await browser
521
514
  .currentClient()
522
515
  .actions()
523
516
  .move({ origin: await this.getEngineElement() })
@@ -525,7 +518,7 @@ class PromodSeleniumElement {
525
518
  .perform();
526
519
  }
527
520
  async scrollIntoView(position) {
528
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "scrollIntoView" from wrapped API, args: `, position);
521
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "scrollIntoView" from wrapped API, args: `, position);
529
522
  await this.getElement();
530
523
  await this._browserInterface.executeScript(([elem, scrollPosition]) => {
531
524
  let position;
@@ -544,11 +537,11 @@ class PromodSeleniumElement {
544
537
  * @returns {Promise<boolean>} button is present
545
538
  */
546
539
  async isDisplayed() {
547
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "isDisplayed" from wrapped API`);
540
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "isDisplayed" from wrapped API`);
548
541
  return this.getElement()
549
542
  .then(() => this._driverElement.isDisplayed())
550
543
  .catch((error) => {
551
- internals_1.promodLogger.engineLog(`Promod element interface gets error after method "isDisplayed" from wrapped API, error: `, error);
544
+ promodLogger.engineLog(`Promod element interface gets error after method "isDisplayed" from wrapped API, error: `, error);
552
545
  return false;
553
546
  });
554
547
  }
@@ -565,13 +558,13 @@ class PromodSeleniumElement {
565
558
  * @returns {Promise<void>}
566
559
  */
567
560
  async clearViaBackspace(repeat = 1, focus) {
568
- internals_1.promodLogger.engineLog(`Promod element interface calls method "clearViaBackspace" from wrapped API, args: `, repeat, focus);
561
+ promodLogger.engineLog(`Promod element interface calls method "clearViaBackspace" from wrapped API, args: `, repeat, focus);
569
562
  await this.getElement();
570
563
  if (focus) {
571
564
  await this.click({ withScroll: true });
572
565
  }
573
- for (const _act of (0, sat_utils_1.lengthToIndexesArray)(repeat)) {
574
- await this._driverElement.sendKeys(selenium_webdriver_1.Key.BACK_SPACE);
566
+ for (const _act of lengthToIndexesArray(repeat)) {
567
+ await this._driverElement.sendKeys(Key.BACK_SPACE);
575
568
  }
576
569
  }
577
570
  /**
@@ -586,20 +579,20 @@ class PromodSeleniumElement {
586
579
  * @returns {Promise<void>}
587
580
  */
588
581
  async pressEnter(focus) {
589
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "pressEnter" from wrapped API, args: `, focus);
582
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "pressEnter" from wrapped API, args: `, focus);
590
583
  await this.getElement();
591
584
  if (focus) {
592
585
  await this.click({ withScroll: true });
593
586
  }
594
- await this._driverElement.sendKeys(selenium_webdriver_1.Key.ENTER);
587
+ await this._driverElement.sendKeys(Key.ENTER);
595
588
  }
596
589
  // select specific
597
590
  async selectOption(optValue) {
598
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "selectOption" from wrapped API, args: `, optValue);
591
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "selectOption" from wrapped API, args: `, optValue);
599
592
  await this.getElement();
600
593
  // open options list
601
594
  await this.click({ withScroll: true });
602
- if ((0, sat_utils_1.isString)(optValue)) {
595
+ if (isString(optValue)) {
603
596
  return this.$$('option').each(async (opt) => {
604
597
  const text = await opt.getText();
605
598
  if (text.trim() === optValue.trim()) {
@@ -607,26 +600,27 @@ class PromodSeleniumElement {
607
600
  }
608
601
  });
609
602
  }
610
- if ((0, sat_utils_1.isObject)(optValue) && (0, sat_utils_1.safeHasOwnPropery)(optValue, 'value')) {
603
+ const objValue = optValue;
604
+ if (isObject(optValue) && safeHasOwnPropery(optValue, 'value')) {
611
605
  return this.$$('option').each(async (opt) => {
612
606
  const text = await opt.getAttribute('value');
613
- if (text.trim() === optValue['value'].trim()) {
607
+ if (text.trim() === objValue.value.trim()) {
614
608
  await opt.click();
615
609
  }
616
610
  });
617
611
  }
618
- if ((0, sat_utils_1.isObject)(optValue) && (0, sat_utils_1.safeHasOwnPropery)(optValue, 'label')) {
612
+ if (isObject(optValue) && safeHasOwnPropery(optValue, 'label')) {
619
613
  return this.$$('option').each(async (opt) => {
620
614
  const text = await opt.getAttribute('label');
621
- if (text.trim() === optValue['label'].trim()) {
615
+ if (text.trim() === objValue.label.trim()) {
622
616
  await opt.click();
623
617
  }
624
618
  });
625
619
  }
626
- if ((0, sat_utils_1.isObject)(optValue) && (0, sat_utils_1.safeHasOwnPropery)(optValue, 'index')) {
620
+ if (isObject(optValue) && safeHasOwnPropery(optValue, 'index')) {
627
621
  return this.$$('option').each(async (opt) => {
628
622
  const text = await opt.getAttribute('index');
629
- if (text.trim() === optValue['index'].toString().trim()) {
623
+ if (text.trim() === objValue.index.toString().trim()) {
630
624
  await opt.click();
631
625
  }
632
626
  });
@@ -640,11 +634,11 @@ class PromodSeleniumElement {
640
634
  * @returns {Promise<boolean>} button is present
641
635
  */
642
636
  async isPresent() {
643
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "isPresent" from wrapped API`);
637
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "isPresent" from wrapped API`);
644
638
  return this.getElement()
645
639
  .then(() => true)
646
640
  .catch((error) => {
647
- internals_1.promodLogger.engineLog(`Promod element interface gets error after method "isPresent" from wrapped API, error: `, error);
641
+ promodLogger.engineLog(`Promod element interface gets error after method "isPresent" from wrapped API, error: `, error);
648
642
  return false;
649
643
  });
650
644
  }
@@ -653,13 +647,12 @@ class PromodSeleniumElement {
653
647
  return action();
654
648
  }
655
649
  async getId() {
656
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "getId" from wrapped API`);
650
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "getId" from wrapped API`);
657
651
  await this.getElement();
658
- // @ts-ignore
659
- return this._driverElement.id_;
652
+ return this._driverElement.getId();
660
653
  }
661
654
  async getEngineElement() {
662
- internals_1.promodLogger.engineLog(`[SWD] Promod element interface calls method "getEngineElement" from wrapped API`);
655
+ promodLogger.engineLog(`[SWD] Promod element interface calls method "getEngineElement" from wrapped API`);
663
656
  await this.getElement();
664
657
  return this._driverElement;
665
658
  }
@@ -679,11 +672,10 @@ class PromodSeleniumElement {
679
672
  };
680
673
  }
681
674
  }
682
- exports.PromodSeleniumElement = PromodSeleniumElement;
683
675
  function getInitElementRest(selector, root, ...rest) {
684
676
  let getParent = null;
685
677
  let getExecuteScriptArgs = null;
686
- if ((0, sat_utils_1.isFunction)(selector) || (0, sat_utils_1.isPromise)(selector)) {
678
+ if (isFunction(selector) || isPromise(selector)) {
687
679
  getExecuteScriptArgs = function getExecuteScriptArgs() {
688
680
  const localRest = rest.map((item) => (item && item.getEngineElement ? item.getEngineElement() : item));
689
681
  const rootPromiseIfRequired = root && root.getEngineElement ? root.getEngineElement() : root;
@@ -702,13 +694,13 @@ function getInitElementRest(selector, root, ...rest) {
702
694
  }
703
695
  function $(selector, root, ...rest) {
704
696
  const restArgs = getInitElementRest(selector, root, ...rest);
705
- internals_1.promodLogger.engineLog('Create new Promod element interface, args: ', ...restArgs);
706
- return new PromodSeleniumElement(selector, swd_client_1.browser, ...restArgs);
697
+ promodLogger.engineLog('Create new Promod element interface, args: ', ...restArgs);
698
+ return new PromodSeleniumElement(selector, browser, ...restArgs);
707
699
  }
708
700
  function $$(selector, root, ...rest) {
709
701
  const restArgs = getInitElementRest(selector, root, ...rest);
710
- internals_1.promodLogger.engineLog('Create new Promod element interfaces, args: ', ...restArgs);
711
- return new PromodSeleniumElements(selector, swd_client_1.browser, ...restArgs);
702
+ promodLogger.engineLog('Create new Promod element interfaces, args: ', ...restArgs);
703
+ return new PromodSeleniumElements(selector, browser, ...restArgs);
712
704
  }
713
705
  function preBindBrowserInstance(browserThaNeedsToBeBinded) {
714
706
  const $$ = (selector, root, ...rest) => {
@@ -727,4 +719,5 @@ function preBindBrowserInstance(browserThaNeedsToBeBinded) {
727
719
  $,
728
720
  };
729
721
  }
722
+ export { $, $$, PromodSeleniumElement, PromodSeleniumElements, By, preBindBrowserInstance };
730
723
  //# sourceMappingURL=swd_element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"swd_element.js","sourceRoot":"","sources":["../../../lib/swd/swd_element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swd_element.js","sourceRoot":"","sources":["../../../lib/swd/swd_element.ts"],"names":[],"mappings":"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"}