webdriverio 8.27.0 → 8.28.0

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 (49) hide show
  1. package/build/commands/browser/$.d.ts.map +1 -1
  2. package/build/commands/browser/$.js +1 -1
  3. package/build/commands/browser/custom$$.d.ts.map +1 -1
  4. package/build/commands/browser/custom$$.js +1 -1
  5. package/build/commands/browser/custom$.d.ts.map +1 -1
  6. package/build/commands/browser/custom$.js +1 -1
  7. package/build/commands/browser/emulate.d.ts +2 -31
  8. package/build/commands/browser/emulate.d.ts.map +1 -1
  9. package/build/commands/browser/emulate.js +2 -31
  10. package/build/commands/element/custom$$.d.ts.map +1 -1
  11. package/build/commands/element/custom$$.js +1 -1
  12. package/build/commands/element/custom$.d.ts.map +1 -1
  13. package/build/commands/element/custom$.js +1 -1
  14. package/build/commands/element/dragAndDrop.d.ts.map +1 -1
  15. package/build/commands/element/dragAndDrop.js +1 -1
  16. package/build/commands/element/getHTML.d.ts.map +1 -1
  17. package/build/commands/element/getHTML.js +1 -1
  18. package/build/commands/element/isClickable.d.ts.map +1 -1
  19. package/build/commands/element/isClickable.js +1 -1
  20. package/build/commands/element/isDisplayed.d.ts.map +1 -1
  21. package/build/commands/element/isDisplayed.js +1 -1
  22. package/build/commands/element/isDisplayedInViewport.d.ts.map +1 -1
  23. package/build/commands/element/isDisplayedInViewport.js +1 -1
  24. package/build/commands/element/isEqual.d.ts.map +1 -1
  25. package/build/commands/element/isEqual.js +1 -1
  26. package/build/commands/element/isFocused.d.ts.map +1 -1
  27. package/build/commands/element/isFocused.js +1 -1
  28. package/build/commands/element/isStable.d.ts.map +1 -1
  29. package/build/commands/element/isStable.js +1 -1
  30. package/build/commands/element/scrollIntoView.js +1 -1
  31. package/build/commands/element/shadow$$.js +1 -1
  32. package/build/commands/element/shadow$.js +1 -1
  33. package/build/constants.d.ts +0 -2
  34. package/build/constants.d.ts.map +1 -1
  35. package/build/constants.js +0 -2
  36. package/build/index.d.ts +1 -3
  37. package/build/index.d.ts.map +1 -1
  38. package/build/middlewares.d.ts.map +1 -1
  39. package/build/middlewares.js +1 -1
  40. package/build/scripts/isElementDisplayed.d.ts.map +1 -1
  41. package/build/scripts/isElementDisplayed.js +6 -1
  42. package/build/utils/actions/base.js +1 -1
  43. package/build/utils/detectBackend.d.ts.map +1 -1
  44. package/build/utils/detectBackend.js +1 -0
  45. package/build/utils/getElementObject.d.ts.map +1 -1
  46. package/build/utils/getElementObject.js +1 -1
  47. package/build/utils/index.d.ts.map +1 -1
  48. package/build/utils/index.js +9 -1
  49. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"$.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/$.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,CAAC,CACnB,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAc9B"}
1
+ {"version":3,"file":"$.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/$.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,CAAC,CACnB,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAc9B"}
@@ -1,6 +1,6 @@
1
+ import { ELEMENT_KEY } from 'webdriver';
1
2
  import { findElement } from '../../utils/index.js';
2
3
  import { getElement } from '../../utils/getElementObject.js';
3
- import { ELEMENT_KEY } from '../../constants.js';
4
4
  /**
5
5
  * The `$` command is a short and handy way in order to fetch a single element on the page.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"custom$$.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/custom$$.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,QAAQ,CAC1B,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,GAC5B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAuBnC"}
1
+ {"version":3,"file":"custom$$.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/custom$$.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,QAAQ,CAC1B,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,GAC5B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAuBnC"}
@@ -1,6 +1,6 @@
1
+ import { ELEMENT_KEY } from 'webdriver';
1
2
  import { enhanceElementsArray } from '../../utils/index.js';
2
3
  import { getElements } from '../../utils/getElementObject.js';
3
- import { ELEMENT_KEY } from '../../constants.js';
4
4
  /**
5
5
  *
6
6
  * The `customs$$` allows you to use a custom strategy declared by using `browser.addLocatorStrategy`.
@@ -1 +1 @@
1
- {"version":3,"file":"custom$.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/custom$.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,OAAO,CACzB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,gCA0B9B"}
1
+ {"version":3,"file":"custom$.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/custom$.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,OAAO,CACzB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,gCA0B9B"}
@@ -1,5 +1,5 @@
1
+ import { ELEMENT_KEY } from 'webdriver';
1
2
  import { getElement } from '../../utils/getElementObject.js';
2
- import { ELEMENT_KEY } from '../../constants.js';
3
3
  /**
4
4
  *
5
5
  * The `custom$` allows you to use a custom strategy declared by using `browser.addLocatorStrategy`.
@@ -19,39 +19,10 @@ interface EmulationOptions {
19
19
  *
20
20
  * :::
21
21
  *
22
- * <example>
23
- :emulateColorScheme.js
24
- it('should open WebdriverIO using light color scheme', async () => {
25
- await browser.emulate('colorScheme', 'light')
26
- await browser.url('https://webdriver.io')
27
- const backgroundColor = await browser.$('nav').getCSSProperty('background-color')
28
- console.log(backgroundColor.parsed.hex) // outputs: "#efefef"
29
- })
30
- it('should open WebdriverIO using dark color scheme'm async () => {
31
- await browser.emulate('colorScheme', 'dark')
32
- await browser.url('https://webdriver.io')
33
- const backgroundColor = await browser.$('nav').getCSSProperty('background-color')
34
- console.log(backgroundColor.parsed.hex) // outputs: "#000000"
35
- })
36
- * </example>
37
- *
38
- * <example>
39
- :emulateGeoLocation.js
40
- it('should find my emulated geo location', async () => {
41
- await browser.emulate('geolocation', {
42
- latitude: 52.52,
43
- longitude: 13.39,
44
- accuracy: 100
45
- })
46
- await browser.url('https://www.google.com/maps')
47
- await browser.$('aria/Show Your Location').click()
48
- await browser.pause(5000)
49
- console.log(await browser.getUrl()) // outputs: "https://www.google.com/maps/@52.52,13.39,16z?entry=ttu"
50
- })
51
- * </example>
52
- *
53
22
  * @param {string} scope feature of the browser you like to emulate, can be either `geolocation`, `userAgent`, `colorScheme` or `onLine`
54
23
  * @param {EmulationOptions} options emulation option for specific scope
24
+ * @example https://github.com/webdriverio/example-recipes/blob/9bff2baf8a0678c6886f8591d9fc8dea201895d3/emulate/example.js#L4-L18
25
+ * @example https://github.com/webdriverio/example-recipes/blob/9bff2baf8a0678c6886f8591d9fc8dea201895d3/emulate/example.js#L20-L36
55
26
  * @returns `void`
56
27
  */
57
28
  export declare function emulate<Scope extends SupportedScopes>(this: WebdriverIO.Browser, scope: Scope, options: EmulationOptions[Scope]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"emulate.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/emulate.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAA;AAE7E,UAAU,gBAAgB;IACtB,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7B,MAAM,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAsB,OAAO,CAAC,KAAK,SAAS,eAAe,EACvD,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,iBAuFnC"}
1
+ {"version":3,"file":"emulate.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/emulate.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAA;AAE7E,UAAU,gBAAgB;IACtB,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7B,MAAM,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,OAAO,CAAC,KAAK,SAAS,eAAe,EACvD,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,iBAuFnC"}
@@ -12,39 +12,10 @@
12
12
  *
13
13
  * :::
14
14
  *
15
- * <example>
16
- :emulateColorScheme.js
17
- it('should open WebdriverIO using light color scheme', async () => {
18
- await browser.emulate('colorScheme', 'light')
19
- await browser.url('https://webdriver.io')
20
- const backgroundColor = await browser.$('nav').getCSSProperty('background-color')
21
- console.log(backgroundColor.parsed.hex) // outputs: "#efefef"
22
- })
23
- it('should open WebdriverIO using dark color scheme'm async () => {
24
- await browser.emulate('colorScheme', 'dark')
25
- await browser.url('https://webdriver.io')
26
- const backgroundColor = await browser.$('nav').getCSSProperty('background-color')
27
- console.log(backgroundColor.parsed.hex) // outputs: "#000000"
28
- })
29
- * </example>
30
- *
31
- * <example>
32
- :emulateGeoLocation.js
33
- it('should find my emulated geo location', async () => {
34
- await browser.emulate('geolocation', {
35
- latitude: 52.52,
36
- longitude: 13.39,
37
- accuracy: 100
38
- })
39
- await browser.url('https://www.google.com/maps')
40
- await browser.$('aria/Show Your Location').click()
41
- await browser.pause(5000)
42
- console.log(await browser.getUrl()) // outputs: "https://www.google.com/maps/@52.52,13.39,16z?entry=ttu"
43
- })
44
- * </example>
45
- *
46
15
  * @param {string} scope feature of the browser you like to emulate, can be either `geolocation`, `userAgent`, `colorScheme` or `onLine`
47
16
  * @param {EmulationOptions} options emulation option for specific scope
17
+ * @example https://github.com/webdriverio/example-recipes/blob/9bff2baf8a0678c6886f8591d9fc8dea201895d3/emulate/example.js#L4-L18
18
+ * @example https://github.com/webdriverio/example-recipes/blob/9bff2baf8a0678c6886f8591d9fc8dea201895d3/emulate/example.js#L20-L36
48
19
  * @returns `void`
49
20
  */
50
21
  export async function emulate(scope, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"custom$$.d.ts","sourceRoot":"","sources":["../../../src/commands/element/custom$$.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,QAAQ,CAC1B,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,GAC5B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAkCnC"}
1
+ {"version":3,"file":"custom$$.d.ts","sourceRoot":"","sources":["../../../src/commands/element/custom$$.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,QAAQ,CAC1B,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,GAC5B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAkCnC"}
@@ -1,6 +1,6 @@
1
+ import { ELEMENT_KEY } from 'webdriver';
1
2
  import { getElements } from '../../utils/getElementObject.js';
2
3
  import { getBrowserObject, enhanceElementsArray } from '../../utils/index.js';
3
- import { ELEMENT_KEY } from '../../constants.js';
4
4
  /**
5
5
  *
6
6
  * The `customs$$` allows you to use a custom strategy declared by using `browser.addLocatorStrategy`.
@@ -1 +1 @@
1
- {"version":3,"file":"custom$.d.ts","sourceRoot":"","sources":["../../../src/commands/element/custom$.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,OAAO,CACzB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,gCAmC9B"}
1
+ {"version":3,"file":"custom$.d.ts","sourceRoot":"","sources":["../../../src/commands/element/custom$.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,OAAO,CACzB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,GAAG,iBAAiB,EAAE,GAAG,EAAE,gCAmC9B"}
@@ -1,6 +1,6 @@
1
+ import { ELEMENT_KEY } from 'webdriver';
1
2
  import { getElement } from '../../utils/getElementObject.js';
2
3
  import { getBrowserObject } from '../../utils/index.js';
3
- import { ELEMENT_KEY } from '../../constants.js';
4
4
  /**
5
5
  *
6
6
  * The `custom$` allows you to use a custom strategy declared by using `browser.addLocatorStrategy`.
@@ -1 +1 @@
1
- {"version":3,"file":"dragAndDrop.d.ts","sourceRoot":"","sources":["../../../src/commands/element/dragAndDrop.ts"],"names":[],"mappings":"AAQA,KAAK,kBAAkB,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACtB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,WAAW,CAC7B,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,MAAM,EAAE,WAAW,CAAC,OAAO,GAAG,kBAAkB,EAChD,EAAE,QAAa,EAAE,GAAE,kBAAuB,iBAmE7C"}
1
+ {"version":3,"file":"dragAndDrop.d.ts","sourceRoot":"","sources":["../../../src/commands/element/dragAndDrop.ts"],"names":[],"mappings":"AASA,KAAK,kBAAkB,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACtB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,WAAW,CAC7B,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,MAAM,EAAE,WAAW,CAAC,OAAO,GAAG,kBAAkB,EAChD,EAAE,QAAa,EAAE,GAAE,kBAAuB,iBAmE7C"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject } from '../../utils/index.js';
3
3
  const ACTION_BUTTON = 0;
4
4
  const sleep = (time = 0) => new Promise((resolve) => setTimeout(resolve, time));
@@ -1 +1 @@
1
- {"version":3,"file":"getHTML.d.ts","sourceRoot":"","sources":["../../../src/commands/element/getHTML.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,OAAO,CACnB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,kBAAkB,UAAO,mBAO5B"}
1
+ {"version":3,"file":"getHTML.d.ts","sourceRoot":"","sources":["../../../src/commands/element/getHTML.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,OAAO,CACnB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,kBAAkB,UAAO,mBAO5B"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject } from '../../utils/index.js';
3
3
  import getHTMLScript from '../../scripts/getHTML.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isClickable.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isClickable.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,WAAW,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAc3D"}
1
+ {"version":3,"file":"isClickable.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isClickable.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,WAAW,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAc3D"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject } from '../../utils/index.js';
3
3
  import isElementClickableScript from '../../scripts/isElementClickable.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isDisplayed.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isDisplayed.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAAsB,WAAW,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAoB3D"}
1
+ {"version":3,"file":"isDisplayed.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isDisplayed.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAAsB,WAAW,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAoB3D"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject, hasElementId } from '../../utils/index.js';
3
3
  import isElementDisplayedScript from '../../scripts/isElementDisplayed.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isDisplayedInViewport.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isDisplayedInViewport.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,qBAAqB,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAUrE"}
1
+ {"version":3,"file":"isDisplayedInViewport.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isDisplayedInViewport.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,qBAAqB,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAUrE"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject } from '../../utils/index.js';
3
3
  import isElementInViewportScript from '../../scripts/isElementInViewport.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isEqual.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isEqual.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,OAAO,CACzB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,EAAE,EAAE,WAAW,CAAC,OAAO,oBA4B1B"}
1
+ {"version":3,"file":"isEqual.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isEqual.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,OAAO,CACzB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,EAAE,EAAE,WAAW,CAAC,OAAO,oBA4B1B"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject } from '../../utils/index.js';
3
3
  const getWebElement = (el) => ({
4
4
  [ELEMENT_KEY]: el.elementId, // w3c compatible
@@ -1 +1 @@
1
- {"version":3,"file":"isFocused.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isFocused.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,SAAS,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAMzD"}
1
+ {"version":3,"file":"isFocused.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isFocused.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,SAAS,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAMzD"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject } from '../../utils/index.js';
3
3
  import isFocusedScript from '../../scripts/isFocused.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isStable.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isStable.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,QAAQ,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAMxD"}
1
+ {"version":3,"file":"isStable.d.ts","sourceRoot":"","sources":["../../../src/commands/element/isStable.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,QAAQ,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,oBAMxD"}
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  import { getBrowserObject } from '../../utils/index.js';
3
3
  import isElementStable from '../../scripts/isElementStable.js';
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import logger from '@wdio/logger';
2
- import { ELEMENT_KEY } from '../../constants.js';
2
+ import { ELEMENT_KEY } from 'webdriver';
3
3
  import { getBrowserObject } from '../../utils/index.js';
4
4
  const log = logger('webdriverio');
5
5
  function scrollIntoViewWeb(options = { block: 'start', inline: 'nearest' }) {
@@ -1,9 +1,9 @@
1
1
  import logger from '@wdio/logger';
2
+ import { SHADOW_ELEMENT_KEY } from 'webdriver';
2
3
  import { shadowFnFactory } from '../../scripts/shadowFnFactory.js';
3
4
  import { getElements } from '../../utils/getElementObject.js';
4
5
  import { getBrowserObject, enhanceElementsArray } from '../../utils/index.js';
5
6
  import { findStrategy } from '../../utils/findStrategy.js';
6
- import { SHADOW_ELEMENT_KEY } from '../../constants.js';
7
7
  const log = logger('webdriverio');
8
8
  /**
9
9
  *
@@ -1,9 +1,9 @@
1
1
  import logger from '@wdio/logger';
2
+ import { SHADOW_ELEMENT_KEY } from 'webdriver';
2
3
  import { shadowFnFactory } from '../../scripts/shadowFnFactory.js';
3
4
  import { getElement } from '../../utils/getElementObject.js';
4
5
  import { getBrowserObject } from '../../utils/index.js';
5
6
  import { findStrategy } from '../../utils/findStrategy.js';
6
- import { SHADOW_ELEMENT_KEY } from '../../constants.js';
7
7
  const log = logger('webdriverio');
8
8
  /**
9
9
  *
@@ -4,8 +4,6 @@ export declare enum SupportedAutomationProtocols {
4
4
  devtools = "devtools",
5
5
  stub = "./protocol-stub.js"
6
6
  }
7
- export declare const ELEMENT_KEY = "element-6066-11e4-a52e-4f735466cecf";
8
- export declare const SHADOW_ELEMENT_KEY = "shadow-6066-11e4-a52e-4f735466cecf";
9
7
  export declare const WDIO_DEFAULTS: Options.Definition<Options.WebdriverIO>;
10
8
  export declare const W3C_SELECTOR_STRATEGIES: string[];
11
9
  export declare const DRIVER_DEFAULT_ENDPOINT: {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAA;AAExD,oBAAY,4BAA4B;IACpC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,uBAAuB;CAC9B;AAED,eAAO,MAAM,WAAW,wCAAwC,CAAA;AAChE,eAAO,MAAM,kBAAkB,uCAAuC,CAAA;AAEtE,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CA8EjE,CAAA;AAED,eAAO,MAAM,uBAAuB,UAA0E,CAAA;AAE9G,eAAO,MAAM,uBAAuB;;;;;CAKnC,CAAA;AAED,eAAO,MAAM,mBAAmB,2BAA2B,CAAA;AAC3D,eAAO,MAAM,aAAa,QAAQ,CAAA;AAClC,eAAO,MAAM,aAAa,UAAU,CAAA;AAEpC,eAAO,MAAM,YAAY,UAKxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,GAAG;IACZ;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DG,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAA;AAExD,oBAAY,4BAA4B;IACpC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,uBAAuB;CAC9B;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CA8EjE,CAAA;AAED,eAAO,MAAM,uBAAuB,UAA0E,CAAA;AAE9G,eAAO,MAAM,uBAAuB;;;;;CAKnC,CAAA;AAED,eAAO,MAAM,mBAAmB,2BAA2B,CAAA;AAC3D,eAAO,MAAM,aAAa,QAAQ,CAAA;AAClC,eAAO,MAAM,aAAa,UAAU,CAAA;AAEpC,eAAO,MAAM,YAAY,UAKxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,GAAG;IACZ;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DG,CAAA"}
@@ -8,8 +8,6 @@ export var SupportedAutomationProtocols;
8
8
  SupportedAutomationProtocols["devtools"] = "devtools";
9
9
  SupportedAutomationProtocols["stub"] = "./protocol-stub.js";
10
10
  })(SupportedAutomationProtocols || (SupportedAutomationProtocols = {}));
11
- export const ELEMENT_KEY = 'element-6066-11e4-a52e-4f735466cecf';
12
- export const SHADOW_ELEMENT_KEY = 'shadow-6066-11e4-a52e-4f735466cecf';
13
11
  export const WDIO_DEFAULTS = {
14
12
  /**
15
13
  * allows to specify automation protocol
package/build/index.d.ts CHANGED
@@ -51,9 +51,7 @@ export declare const Key: {
51
51
  readonly F2: "";
52
52
  readonly F3: "";
53
53
  readonly F4: "";
54
- readonly F5: ""; /**
55
- * create all instance sessions
56
- */
54
+ readonly F5: "";
57
55
  readonly F6: "";
58
56
  readonly F7: "";
59
57
  readonly F8: "";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,KAAK,cAAc,MAAM,WAAW,CAAA;AAGhD,OAAO,wBAAwB,MAAM,+BAA+B,CAAA;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG9D,cAAc,YAAY,CAAA;AAC1B,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA+GZ;;OAEG;;;;;;;;;;CAjHuB,CAAA;AAC9B,eAAO,MAAM,kBAAkB,iCAA2B,CAAA;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,WACP,aAAa,6BACK,eAAe,MAAM,WAAW,mBAAmB,KAAK,eAAe,MAAM,kBACxG,QAAQ,YAAY,OAAO,CAwC7B,CAAA;AAED,eAAO,MAAM,MAAM,kBAAkC,aAAa,KAAG,QAAQ,YAAY,OAAO,CAsB/F,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,WACZ,aAAa,uBAAuB;;MAE7C,QAAQ,YAAY,kBAAkB,CAgExC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,KAAK,cAAc,MAAM,WAAW,CAAA;AAGhD,OAAO,wBAAwB,MAAM,+BAA+B,CAAA;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG9D,cAAc,YAAY,CAAA;AAC1B,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAc,CAAA;AAC9B,eAAO,MAAM,kBAAkB,iCAA2B,CAAA;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,WACP,aAAa,6BACK,eAAe,MAAM,WAAW,mBAAmB,KAAK,eAAe,MAAM,kBACxG,QAAQ,YAAY,OAAO,CAwC7B,CAAA;AAED,eAAO,MAAM,MAAM,kBAAkC,aAAa,KAAG,QAAQ,YAAY,OAAO,CAsB/F,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,WACZ,aAAa,uBAAuB;;MAE7C,QAAQ,YAAY,kBAAkB,CAgExC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,OAAQ,QAAQ,mBAAmB,MAAM,aAAa,QAAQ,YACvC,mBAAmB,WAAW,GAAG,EAAE,QAsCzF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,gBACd,QAAQ,mBACN,MAAM,YAAY,OAAO,QAU3C,CAAA"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,OAAQ,QAAQ,mBAAmB,MAAM,aAAa,QAAQ,YACvC,mBAAmB,WAAW,GAAG,EAAE,QAsCzF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,gBACd,QAAQ,mBACN,MAAM,YAAY,OAAO,QAU3C,CAAA"}
@@ -1,7 +1,7 @@
1
+ import { ELEMENT_KEY } from 'webdriver';
1
2
  import refetchElement from './utils/refetchElement.js';
2
3
  import implicitWait from './utils/implicitWait.js';
3
4
  import { getBrowserObject } from './utils/index.js';
4
- import { ELEMENT_KEY } from './constants.js';
5
5
  /**
6
6
  * This method is an command wrapper for elements that checks if a command is called
7
7
  * that wasn't found on the page and automatically waits for it
@@ -1 +1 @@
1
- {"version":3,"file":"isElementDisplayed.d.ts","sourceRoot":"","sources":["../../src/scripts/isElementDisplayed.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CA+OrE"}
1
+ {"version":3,"file":"isElementDisplayed.d.ts","sourceRoot":"","sources":["../../src/scripts/isElementDisplayed.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAuPrE"}
@@ -170,7 +170,12 @@ export default function isElementDisplayed(element) {
170
170
  // This is a partial reimplementation of Selenium's "element is displayed" algorithm.
171
171
  // When the W3C specification's algorithm stabilizes, we should implement that.
172
172
  // If this command is misdirected to the wrong document (and is NOT inside a shadow root), treat it as not shown.
173
- if (!isElementInsideShadowRoot(element) && !document.body.contains(element)) {
173
+ if (!isElementInsideShadowRoot(element) &&
174
+ (
175
+ // IE doesn't support document.contains, therefor check before using
176
+ typeof document.contains === 'function'
177
+ ? !document.contains(element)
178
+ : !document.body.contains(element))) {
174
179
  return false;
175
180
  }
176
181
  // Special cases for specific tag names.
@@ -1,4 +1,4 @@
1
- import { ELEMENT_KEY } from '../../constants.js';
1
+ import { ELEMENT_KEY } from 'webdriver';
2
2
  let actionIds = 0;
3
3
  export default class BaseAction {
4
4
  instance;
@@ -1 +1 @@
1
- {"version":3,"file":"detectBackend.d.ts","sourceRoot":"","sources":["../../src/utils/detectBackend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAiBxD,UAAU,qBAAqB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC,gBAAgB,CAAA;CACjF;AAgBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,GAAE,qBAA0B;;;;;EAoGxE"}
1
+ {"version":3,"file":"detectBackend.d.ts","sourceRoot":"","sources":["../../src/utils/detectBackend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAkBxD,UAAU,qBAAqB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC,gBAAgB,CAAA;CACjF;AAgBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,GAAE,qBAA0B;;;;;EAoGxE"}
@@ -8,6 +8,7 @@ const REGION_MAPPING = {
8
8
  'eu': 'eu-central-1.',
9
9
  'eu-central-1': 'eu-central-1.',
10
10
  'us-east-1': 'us-east-1.',
11
+ 'us-east-4': 'us-east-4.',
11
12
  'apac': 'apac-southeast-1.',
12
13
  'apac-southeast-1': 'apac-southeast-1',
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getElementObject.d.ts","sourceRoot":"","sources":["../../src/utils/getElementObject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMvD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAA;AAEzD,UAAU,eAAe;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,UAAU,sBAAsB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,cAAM,cAAe,SAAQ,KAAK;gBAClB,GAAG,EAAE,KAAK,GAAG,sBAAsB;CAWlD;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SACb,YAAY,OAAO,GAAG,mBAAmB,aACpC,QAAQ,QACb,gBAAgB,GAAG,KAAK,UACvB,eAAe,KACvB,mBAwDF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SACd,YAAY,OAAO,GAAG,mBAAmB,YACrC,QAAQ,GAAG,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,gBACjD,CAAC,gBAAgB,GAAG,KAAK,GAAG,cAAc,CAAC,EAAE,UACpD,eAAe,KACvB,mBAAmB,EAmErB,CAAA"}
1
+ {"version":3,"file":"getElementObject.d.ts","sourceRoot":"","sources":["../../src/utils/getElementObject.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAKvD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAA;AAEzD,UAAU,eAAe;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,UAAU,sBAAsB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,cAAM,cAAe,SAAQ,KAAK;gBAClB,GAAG,EAAE,KAAK,GAAG,sBAAsB;CAWlD;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SACb,YAAY,OAAO,GAAG,mBAAmB,aACpC,QAAQ,QACb,gBAAgB,GAAG,KAAK,UACvB,eAAe,KACvB,mBAwDF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SACd,YAAY,OAAO,GAAG,mBAAmB,YACrC,QAAQ,GAAG,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,gBACjD,CAAC,gBAAgB,GAAG,KAAK,GAAG,cAAc,CAAC,EAAE,UACpD,eAAe,KACvB,mBAAmB,EAmErB,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { webdriverMonad, wrapCommand } from '@wdio/utils';
2
2
  import clone from 'lodash.clonedeep';
3
+ import { ELEMENT_KEY } from 'webdriver';
3
4
  import { getBrowserObject, getPrototype as getWDIOPrototype, getElementFromResponse } from './index.js';
4
5
  import { elementErrorHandler } from '../middlewares.js';
5
- import { ELEMENT_KEY } from '../constants.js';
6
6
  import * as browserCommands from '../commands/browser.js';
7
7
  class WebDriverError extends Error {
8
8
  constructor(obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAOvD,OAAO,KAAK,EAAmB,QAAQ,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAOtG,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QAAG,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KAAE;CACnE;AAiBD;;GAEG;AACH,eAAO,MAAM,YAAY,UAAW,SAAS,GAAG,SAAS,uCAexD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAS,gBAAgB,kBAuB3D,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAGtG;AAWD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,kBAkDvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,KAAK,EAAE,MAAM,EAAE,UAAU,UAAQ,YAoB9D;AAuBD,wBAAgB,SAAS,CAAE,CAAC,EAAE,QAAQ,gBAMrC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,QAAQ,EAAE,QAAQ,qCAsErB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAC9B,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,QAAQ,EAAE,QAAQ,+BAkDrB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,OAkBpD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,iDAuC9D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,UAInD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,iBAK3D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAcnE;AAED,wBAAsB,YAAY,CAAE,OAAO,EAAE,WAAW,CAAC,OAAO,oBAoB/D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,UACnF,MAAM,mBAAmB,MAAM,SAAS,WAAW,KAAK,wBAAwB,UAOjG;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,aACnB,mBAAmB,EAAE,UACvB,YAAY,OAAO,GAAG,mBAAmB,YACvC,QAAQ,GAAG,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,8BAExD,GAAG,EAAE,6BA+Bf,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,wBAAyB,MAAM,YAAgD,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,SACvB,OAAO,MAAM,EAAE,MAAM,CAAC,SACrB,OAAO,MAAM,EAAE,MAAM,CAAC,YAShC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAOvD,OAAO,KAAK,EAAmB,QAAQ,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAOtG,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QAAG,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KAAE;CACnE;AAiBD;;GAEG;AACH,eAAO,MAAM,YAAY,UAAW,SAAS,GAAG,SAAS,uCAexD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAS,gBAAgB,kBAuB3D,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAGtG;AAWD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,kBAkDvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,KAAK,EAAE,MAAM,EAAE,UAAU,UAAQ,YAoB9D;AAuBD,wBAAgB,SAAS,CAAE,CAAC,EAAE,QAAQ,gBAMrC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,QAAQ,EAAE,QAAQ,qCAsErB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAC9B,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,QAAQ,EAAE,QAAQ,+BAkDrB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,OAkBpD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,iDAuC9D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,UAInD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,iBAK3D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAcnE;AAED,wBAAsB,YAAY,CAAE,OAAO,EAAE,WAAW,CAAC,OAAO,oBAoB/D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,UACnF,MAAM,mBAAmB,MAAM,SAAS,WAAW,KAAK,wBAAwB,UAOjG;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,aACnB,mBAAmB,EAAE,UACvB,YAAY,OAAO,GAAG,mBAAmB,YACvC,QAAQ,GAAG,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,8BAExD,GAAG,EAAE,6BAuCf,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,wBAAyB,MAAM,YAAgD,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,SACvB,OAAO,MAAM,EAAE,MAAM,CAAC,SACrB,OAAO,MAAM,EAAE,MAAM,CAAC,YAShC,CAAA"}
@@ -6,11 +6,12 @@ import rgb2hex from 'rgb2hex';
6
6
  import GraphemeSplitter from 'grapheme-splitter';
7
7
  import logger from '@wdio/logger';
8
8
  import isPlainObject from 'is-plain-obj';
9
+ import { ELEMENT_KEY } from 'webdriver';
9
10
  import { UNICODE_CHARACTERS, asyncIterators } from '@wdio/utils';
10
11
  import * as browserCommands from '../commands/browser.js';
11
12
  import * as elementCommands from '../commands/element.js';
12
13
  import querySelectorAllDeep from './thirdParty/querySelectorShadowDom.js';
13
- import { ELEMENT_KEY, DEEP_SELECTOR, Key } from '../constants.js';
14
+ import { DEEP_SELECTOR, Key } from '../constants.js';
14
15
  import { findStrategy } from './findStrategy.js';
15
16
  const log = logger('webdriverio');
16
17
  const INVALID_SELECTOR_ERROR = 'selector needs to be typeof `string` or `function`';
@@ -432,6 +433,13 @@ export const enhanceElementsArray = (elements, parent, selector, foundWith = '$$
432
433
  if (!Array.isArray(selector)) {
433
434
  elementArray.selector = selector;
434
435
  }
436
+ /**
437
+ * if all elements have the same selector we actually can assign a selector
438
+ */
439
+ const elems = selector;
440
+ if (Array.isArray(selector) && elems.every((elem) => elem.selector && elem.selector === elems[0].selector)) {
441
+ elementArray.selector = elems[0].selector;
442
+ }
435
443
  /**
436
444
  * replace Array prototype methods with custom ones that support
437
445
  * async iterators
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "webdriverio",
3
3
  "description": "Next-gen browser and mobile automation test framework for Node.js",
4
- "version": "8.27.0",
4
+ "version": "8.28.0",
5
5
  "homepage": "https://webdriver.io",
6
6
  "author": "Christian Bromann <mail@bromann.dev>",
7
7
  "license": "MIT",
@@ -69,17 +69,17 @@
69
69
  },
70
70
  "dependencies": {
71
71
  "@types/node": "^20.1.0",
72
- "@wdio/config": "8.27.0",
73
- "@wdio/logger": "8.24.12",
72
+ "@wdio/config": "8.28.0",
73
+ "@wdio/logger": "8.28.0",
74
74
  "@wdio/protocols": "8.24.12",
75
75
  "@wdio/repl": "8.24.12",
76
- "@wdio/types": "8.27.0",
77
- "@wdio/utils": "8.27.0",
76
+ "@wdio/types": "8.28.0",
77
+ "@wdio/utils": "8.28.0",
78
78
  "archiver": "^6.0.0",
79
79
  "aria-query": "^5.0.0",
80
80
  "css-shorthand-properties": "^1.1.1",
81
81
  "css-value": "^0.0.1",
82
- "devtools-protocol": "^0.0.1237913",
82
+ "devtools-protocol": "^0.0.1245094",
83
83
  "grapheme-splitter": "^1.0.2",
84
84
  "import-meta-resolve": "^4.0.0",
85
85
  "is-plain-obj": "^4.1.0",
@@ -91,7 +91,7 @@
91
91
  "resq": "^1.9.1",
92
92
  "rgb2hex": "0.2.5",
93
93
  "serialize-error": "^11.0.1",
94
- "webdriver": "8.27.0"
94
+ "webdriver": "8.28.0"
95
95
  },
96
96
  "peerDependencies": {
97
97
  "devtools": "^8.14.0"
@@ -101,5 +101,5 @@
101
101
  "optional": true
102
102
  }
103
103
  },
104
- "gitHead": "be6dce3344ac864509f676b561cb0eed821b36f6"
104
+ "gitHead": "15f6ac509df48b23477cd4c793206a4f707e3df0"
105
105
  }