webdriverio 9.2.12 → 9.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"waitUntil.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/waitUntil.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,WAAW,EACjC,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,SAAS,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,EACnD,EACI,OAAqC,EACrC,QAAuC,EACvC,UAAU,EACb,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAClC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CA4BxC"}
1
+ {"version":3,"file":"waitUntil.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/waitUntil.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,WAAW,EACjC,IAAI,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAC/C,SAAS,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,EACnD,EACI,OAAqC,EACrC,QAAuC,EACvC,UAAU,EACb,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAClC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAgDxC"}
@@ -8,7 +8,9 @@ import type { ClickOptions } from '../../types.js';
8
8
  * give added capabilities like passing button type, coordinates etc. By default, when using options a release action
9
9
  * command is send after performing the click action, pass `option.skipRelease=true` to skip this action.
10
10
  *
11
- * Note: If you have fixed-position elements (such as a fixed header or footer) that cover up the
11
+ * :::info
12
+ *
13
+ * If you have fixed-position elements (such as a fixed header or footer) that cover up the
12
14
  * selected element after it is scrolled within the viewport, the click will be issued at the given coordinates, but will
13
15
  * be received by your fixed (overlaying) element. In these cased the following error is thrown:
14
16
  *
@@ -20,6 +22,15 @@ import type { ClickOptions } from '../../types.js';
20
22
  * the click. You also can try to scroll to the element yourself using `scroll` with an offset appropriate for your
21
23
  * scenario.
22
24
  *
25
+ * :::
26
+ *
27
+ * :::info
28
+ *
29
+ * The click command can also be used to simulate a long press on a mobile device. This is done by setting the `duration`.
30
+ * See the example below for more information.
31
+ *
32
+ * :::
33
+ *
23
34
  * <example>
24
35
  :example.html
25
36
  <button id="myButton" onclick="document.getElementById('someText').innerHTML='I was clicked'">Click me</button>
@@ -69,14 +80,25 @@ import type { ClickOptions } from '../../types.js';
69
80
  })
70
81
  * </example>
71
82
  *
83
+ * <example>
84
+ :longpress.example.js
85
+ it('should be able to open the contacts menu on iOS by executing a longPress', async () => {
86
+ const contacts = await $('~Contacts')
87
+ // opens the Contacts menu on iOS where you can quickly create
88
+ // a new contact, edit your home screen, or remove the app
89
+ await contacts.click({ duration: 2000 })
90
+ })
91
+ * </example>
92
+ *
72
93
  * @alias element.click
73
94
  * @uses protocol/element, protocol/elementIdClick, protocol/performActions, protocol/positionClick
74
95
  * @type action
75
- * @param {ClickOptions=} options click options (optional)
76
- * @param {string= | number=} options.button can be one of [0, "left", 1, "middle", 2, "right"] (optional)
77
- * @param {number=} options.x Number (optional)
78
- * @param {number=} options.y Number (optional)
79
- * @param {boolean=} options.skipRelease Boolean (optional)
96
+ * @param {ClickOptions=} options Click options (optional)
97
+ * @param {string= | number=} options.button Can be one of `[0, "left", 1, "middle", 2, "right"]` <br /><strong>WEB-ONLY</strong> (Desktop/Mobile)
98
+ * @param {number=} options.x Clicks X horizontal pixels away from location of the element (from center point of element)<br /><strong>WEB and Native</strong> (Desktop/Mobile)
99
+ * @param {number=} options.y Clicks Y vertical pixels away from location of the element (from center point of element)<br /><strong>WEB and Native support</strong> (Desktop/Mobile)
100
+ * @param {boolean=} options.skipRelease Boolean (optional) <br /><strong>WEB-ONLY</strong> (Desktop/Mobile)
101
+ * @param {number=} options.duration Duration of the click, aka "LongPress" <br /><strong>MOBILE-NATIVE-APP-ONLY</strong> (Mobile)
80
102
  */
81
103
  export declare function click(this: WebdriverIO.Element, options?: Partial<ClickOptions>): Promise<void>;
82
104
  //# sourceMappingURL=click.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../../src/commands/element/click.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,wBAAgB,KAAK,CACjB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,iBAUlC"}
1
+ {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../../src/commands/element/click.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGG;AACH,wBAAgB,KAAK,CACjB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,iBAUlC"}
@@ -4,7 +4,7 @@ interface IsDisplayedParams {
4
4
  /**
5
5
  *
6
6
  * Return true if the selected DOM-element is displayed (even when the element is outside the viewport).
7
- * If you want to verify that the element is also not within the viewport, use the isDisplayedInViewport command.
7
+ * If you want to verify that the element is also within the viewport, provide the `withinViewport` flag to the command.
8
8
  *
9
9
  * :::info
10
10
  *
@@ -1,10 +1,19 @@
1
+ import type { CustomScrollIntoViewOptions } from '../../types.js';
1
2
  /**
2
3
  *
3
- * Scroll element into viewport ([MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView)).
4
+ * Scroll element into viewport for Desktop/Mobile Web <strong>AND</strong> Mobile Native Apps.
5
+ *
6
+ * :::info
7
+ *
8
+ * Scrolling for Mobile Native Apps is done based on native mobile gestures. It is only supported for the following drivers:
9
+ * - [appium-uiautomator2-driver](https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/android-mobile-gestures.md#mobile-scrollgesture) for Android
10
+ * - [appium-xcuitest-driver](https://appium.github.io/appium-xcuitest-driver/latest/reference/execute-methods/#mobile-scroll) for iOS
11
+ *
12
+ * :::
4
13
  *
5
14
  * <example>
6
- :scrollIntoView.js
7
- it('should demonstrate the scrollIntoView command', async () => {
15
+ :desktop.mobile.web.scrollIntoView.js
16
+ it('should demonstrate the desktop/mobile web scrollIntoView command', async () => {
8
17
  const elem = await $('#myElement');
9
18
  // scroll to specific element
10
19
  await elem.scrollIntoView();
@@ -13,11 +22,28 @@
13
22
  });
14
23
  * </example>
15
24
  *
25
+ * <example>
26
+ :mobile.native.app.scrollIntoView.js
27
+ it('should demonstrate the mobile native app scrollIntoView command', async () => {
28
+ const elem = await $('#myElement');
29
+ // scroll to a specific element in the default scrollable element for Android or iOS for a maximum of 10 scrolls
30
+ await elem.scrollIntoView();
31
+ // Scroll to the left in the scrollable element called '#scrollable' for a maximum of 5 scrolls
32
+ await elem.scrollIntoView({ direction: 'left', maxScrolls: 5, scrollableElement: $('#scrollable') });
33
+ });
34
+ * </example>
35
+ *
16
36
  * @alias element.scrollIntoView
17
- * @param {object|boolean=} scrollIntoViewOptions options for `Element.scrollIntoView()` (default: `{ block: 'start', inline: 'nearest' }`)
37
+ * @param {object|boolean=} options options for `Element.scrollIntoView()`. Default for desktop/mobile web: <br/> `{ block: 'start', inline: 'nearest' }` <br /> Default for Mobile Native App <br /> `{ maxScrolls: 10, scrollDirection: 'down' }`
38
+ * @param {string=} options.behavior See [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView). <br /><strong>WEB-ONLY</strong> (Desktop/Mobile)
39
+ * @param {string=} options.block See [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView). <br /><strong>WEB-ONLY</strong> (Desktop/Mobile)
40
+ * @param {string=} options.inline See [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView). <br /><strong>WEB-ONLY</strong> (Desktop/Mobile)
41
+ * @param {string=} options.direction Can be one of `down`, `up`, `left` or `right`, default is `down`. <br /><strong>MOBILE-NATIVE-APP-ONLY</strong>
42
+ * @param {number=} options.maxScrolls The max amount of scrolls until it will stop searching for the element, default is `10`. <br /><strong>MOBILE-NATIVE-APP-ONLY</strong>
43
+ * @param {Element=} options.scrollableElement Element that is used to scroll within. If no element is provided it will use the following selector for iOS `-ios predicate string:type == "XCUIElementTypeApplication"` and the following for Android `//android.widget.ScrollView'`. If more elements match the default selector, then by default it will pick the first matching element. <br /> <strong>MOBILE-NATIVE-APP-ONLY</strong>
18
44
  * @uses protocol/execute
19
45
  * @type utility
20
46
  *
21
47
  */
22
- export declare function scrollIntoView(this: WebdriverIO.Element, options?: ScrollIntoViewOptions | boolean): Promise<void>;
48
+ export declare function scrollIntoView(this: WebdriverIO.Element, options?: CustomScrollIntoViewOptions | boolean): Promise<void | unknown>;
23
49
  //# sourceMappingURL=scrollIntoView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollIntoView.d.ts","sourceRoot":"","sources":["../../../src/commands/element/scrollIntoView.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAChC,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,OAAO,GAAE,qBAAqB,GAAG,OAA+C,iBAsEnF"}
1
+ {"version":3,"file":"scrollIntoView.d.ts","sourceRoot":"","sources":["../../../src/commands/element/scrollIntoView.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAA+B,MAAM,gBAAgB,CAAA;AAK9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,cAAc,CAChC,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,OAAO,GAAE,2BAA2B,GAAG,OAA+C,GACvF,OAAO,CAAC,IAAI,GAAC,OAAO,CAAC,CA6EvB"}
@@ -26,5 +26,5 @@
26
26
  * @type utility
27
27
  *
28
28
  */
29
- export declare function shadow$$(this: WebdriverIO.Element, selector: string): Promise<import("../../types.js").ChainablePromiseArray | WebdriverIO.ElementArray>;
29
+ export declare function shadow$$(this: WebdriverIO.Element, selector: string): Promise<WebdriverIO.ElementArray | import("../../types.js").ChainablePromiseArray>;
30
30
  //# sourceMappingURL=shadow$$.d.ts.map
@@ -53,4 +53,8 @@ export * from './element/waitForEnabled.js';
53
53
  export * from './element/waitForExist.js';
54
54
  export * from './element/waitForStable.js';
55
55
  export * from './element/waitUntil.js';
56
+ /**
57
+ * Add it to the Element scope, but not to the docs by providing a different folder
58
+ */
59
+ export * from './mobile/longPress.js';
56
60
  //# sourceMappingURL=element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/commands/element.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC;;GAEG;AAEH,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/commands/element.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC;;GAEG;AAEH,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC;;GAEG;AACH,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,38 @@
1
+ import type { LongPressOptions } from '../../types.js';
2
+ /**
3
+ *
4
+ * Performs a long press gesture on the given element on the screen.
5
+ *
6
+ * This issues a WebDriver `action` command for the selected element. It is based on the `click` command.
7
+ *
8
+ * <example>
9
+ :longpress.offset.js
10
+ it('should demonstrate a longPress using an offset on the iOS Contacts icon', async () => {
11
+ const contacts = $('~Contacts')
12
+ // opens the Contacts menu on iOS where you can quickly create
13
+ // a new contact, edit your home screen, or remove the app
14
+ // clicks 30 horizontal and 10 vertical pixels away from location of the icon (from center point of element)
15
+ await contacts.longPress({ x: 30, y: 10 })
16
+ })
17
+ * </example>
18
+ *
19
+ * <example>
20
+ :longpress.example.js
21
+ it('should be able to open the contacts menu on iOS by executing a longPress of 5 seconds', async () => {
22
+ const contacts = $('~Contacts')
23
+ // opens the Contacts menu on iOS where you can quickly create
24
+ // a new contact, edit your home screen, or remove the app
25
+ await contacts.longPress({ duration: 5 * 1000 })
26
+ })
27
+ * </example>
28
+ *
29
+ * @alias element.click
30
+ * @uses protocol/element, protocol/elementIdClick, protocol/performActions, protocol/positionClick
31
+ * @type action
32
+ * @param {LongPressOptions=} options Long press options (optional)
33
+ * @param {number=} options.x Number (optional)
34
+ * @param {number=} options.y Number (optional)
35
+ * @param {number=} options.duration Duration of the press in ms, default is 1500 ms <br /><strong>MOBILE-ONLY</strong>
36
+ */
37
+ export declare function longPress(this: WebdriverIO.Element, options?: Partial<LongPressOptions>): Promise<void>;
38
+ //# sourceMappingURL=longPress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longPress.d.ts","sourceRoot":"","sources":["../../../src/commands/mobile/longPress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,SAAS,CACrB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,iBAwBtC"}
@@ -0,0 +1,2 @@
1
+ export * from './mobile/longPress.js';
2
+ //# sourceMappingURL=mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.d.ts","sourceRoot":"","sources":["../../src/commands/mobile.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,kBAS7D;AAED;;;;GAIG;AACH,qBAAa,cAAc;;gBAIX,OAAO,EAAE,WAAW,CAAC,OAAO;IAwCxC;;OAEG;IACG,UAAU;IAUhB,iBAAiB,CAAE,OAAO,EAAE,MAAM;IAI5B,iBAAiB;CAM1B"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,kBAS7D;AAED;;;;GAIG;AACH,qBAAa,cAAc;;gBAIX,OAAO,EAAE,WAAW,CAAC,OAAO;IAsDxC;;OAEG;IACG,UAAU;IAUhB,iBAAiB,CAAE,OAAO,EAAE,MAAM;IAI5B,iBAAiB;CAM1B"}
package/build/index.js CHANGED
@@ -17,13 +17,16 @@ import { webdriverMonad as webdriverMonad2, wrapCommand as wrapCommand2 } from "
17
17
 
18
18
  // src/middlewares.ts
19
19
  import { ELEMENT_KEY as ELEMENT_KEY19 } from "webdriver";
20
- import { getBrowserObject as getBrowserObject31 } from "@wdio/utils";
20
+ import { getBrowserObject as getBrowserObject33 } from "@wdio/utils";
21
21
 
22
22
  // src/utils/implicitWait.ts
23
23
  import logger from "@wdio/logger";
24
+ import { getBrowserObject } from "@wdio/utils";
24
25
  var log = logger("webdriverio");
25
26
  async function implicitWait(currentElement, commandName) {
26
- if (!currentElement.elementId && !commandName.match(/(waitUntil|waitFor|isExisting|is?\w+Displayed|is?\w+Clickable)/)) {
27
+ const browser = getBrowserObject(currentElement);
28
+ const skipForMobileScroll = browser.isMobile && await browser.getContext() === "NATIVE_APP" && commandName === "scrollIntoView";
29
+ if (!currentElement.elementId && !commandName.match(/(waitUntil|waitFor|isExisting|is?\w+Displayed|is?\w+Clickable)/) && !skipForMobileScroll) {
27
30
  log.debug(
28
31
  `command ${commandName} was called on an element ("${currentElement.selector}") that wasn't found, waiting for it...`
29
32
  );
@@ -81,7 +84,7 @@ import GraphemeSplitter from "grapheme-splitter";
81
84
  import logger21 from "@wdio/logger";
82
85
  import isPlainObject from "is-plain-obj";
83
86
  import { ELEMENT_KEY as ELEMENT_KEY18 } from "webdriver";
84
- import { UNICODE_CHARACTERS as UNICODE_CHARACTERS2, asyncIterators, getBrowserObject as getBrowserObject30 } from "@wdio/utils";
87
+ import { UNICODE_CHARACTERS as UNICODE_CHARACTERS2, asyncIterators, getBrowserObject as getBrowserObject32 } from "@wdio/utils";
85
88
 
86
89
  // src/commands/browser.ts
87
90
  var browser_exports = {};
@@ -137,7 +140,7 @@ __export(browser_exports, {
137
140
  import { webdriverMonad, wrapCommand } from "@wdio/utils";
138
141
  import clone from "lodash.clonedeep";
139
142
  import { ELEMENT_KEY } from "webdriver";
140
- import { getBrowserObject } from "@wdio/utils";
143
+ import { getBrowserObject as getBrowserObject2 } from "@wdio/utils";
141
144
  var WebDriverError = class extends Error {
142
145
  constructor(obj) {
143
146
  const { name, stack } = obj;
@@ -150,7 +153,7 @@ var WebDriverError = class extends Error {
150
153
  }
151
154
  };
152
155
  function getElement(selector, res, props = { isReactElement: false, isShadowElement: false }) {
153
- const browser = getBrowserObject(this);
156
+ const browser = getBrowserObject2(this);
154
157
  const browserCommandKeys = Object.keys(browser_exports);
155
158
  const propertiesObject = {
156
159
  /**
@@ -194,7 +197,7 @@ function getElement(selector, res, props = { isReactElement: false, isShadowElem
194
197
  return elementInstance;
195
198
  }
196
199
  var getElements = function getElements2(selector, elemResponse, props = { isReactElement: false, isShadowElement: false }) {
197
- const browser = getBrowserObject(this);
200
+ const browser = getBrowserObject2(this);
198
201
  const browserCommandKeys = Object.keys(browser_exports);
199
202
  const propertiesObject = {
200
203
  /**
@@ -2714,7 +2717,7 @@ async function emulate(scope, options) {
2714
2717
  }
2715
2718
 
2716
2719
  // src/commands/browser/execute.ts
2717
- import { getBrowserObject as getBrowserObject2 } from "@wdio/utils";
2720
+ import { getBrowserObject as getBrowserObject3 } from "@wdio/utils";
2718
2721
 
2719
2722
  // src/utils/bidi/value.ts
2720
2723
  import { ELEMENT_KEY as ELEMENT_KEY7 } from "webdriver";
@@ -3000,6 +3003,12 @@ var ContextManager = class {
3000
3003
  this.#currentContext = void 0;
3001
3004
  }
3002
3005
  });
3006
+ this.#browser.on("result", (event) => {
3007
+ if (event.command === "closeWindow") {
3008
+ this.#currentContext = event.result.value[0];
3009
+ return this.#browser.switchToWindow(this.#currentContext);
3010
+ }
3011
+ });
3003
3012
  }
3004
3013
  /**
3005
3014
  * Only run this session helper if BiDi is enabled and we're not in unit tests.
@@ -3015,7 +3024,7 @@ var ContextManager = class {
3015
3024
  return "";
3016
3025
  }
3017
3026
  const windowHandle = await this.#browser.getWindowHandle();
3018
- this.#currentContext = windowHandle;
3027
+ this.setCurrentContext(windowHandle);
3019
3028
  return windowHandle;
3020
3029
  }
3021
3030
  setCurrentContext(context) {
@@ -3073,7 +3082,7 @@ async function execute(script, ...args) {
3073
3082
  throw new Error("number or type of arguments don't agree with execute protocol command");
3074
3083
  }
3075
3084
  if (this.isBidi && !this.isMultiremote) {
3076
- const browser = getBrowserObject2(this);
3085
+ const browser = getBrowserObject3(this);
3077
3086
  const contextManager2 = getContextManager(browser);
3078
3087
  const context = await contextManager2.getCurrentContext();
3079
3088
  const userScript = typeof script === "string" ? new Function(script) : script;
@@ -3101,13 +3110,13 @@ async function execute(script, ...args) {
3101
3110
  }
3102
3111
 
3103
3112
  // src/commands/browser/executeAsync.ts
3104
- import { getBrowserObject as getBrowserObject3 } from "@wdio/utils";
3113
+ import { getBrowserObject as getBrowserObject4 } from "@wdio/utils";
3105
3114
  async function executeAsync(script, ...args) {
3106
3115
  if (typeof script !== "string" && typeof script !== "function") {
3107
3116
  throw new Error("number or type of arguments don't agree with execute protocol command");
3108
3117
  }
3109
3118
  if (this.isBidi && !this.isMultiremote) {
3110
- const browser = getBrowserObject3(this);
3119
+ const browser = getBrowserObject4(this);
3111
3120
  const contextManager2 = getContextManager(browser);
3112
3121
  const context = await contextManager2.getCurrentContext();
3113
3122
  const userScript = typeof script === "string" ? new Function(script) : script;
@@ -3279,9 +3288,9 @@ async function getPuppeteer() {
3279
3288
  }
3280
3289
 
3281
3290
  // src/commands/browser/getWindowSize.ts
3282
- import { getBrowserObject as getBrowserObject4 } from "@wdio/utils";
3291
+ import { getBrowserObject as getBrowserObject5 } from "@wdio/utils";
3283
3292
  async function getWindowSize() {
3284
- const browser = getBrowserObject4(this);
3293
+ const browser = getBrowserObject5(this);
3285
3294
  const { width, height } = await browser.getWindowRect();
3286
3295
  return { width, height };
3287
3296
  }
@@ -3309,7 +3318,7 @@ async function keys(value) {
3309
3318
  }
3310
3319
 
3311
3320
  // src/commands/browser/mock.ts
3312
- import { getBrowserObject as getBrowserObject5 } from "@wdio/utils";
3321
+ import { getBrowserObject as getBrowserObject6 } from "@wdio/utils";
3313
3322
 
3314
3323
  // src/utils/interception/index.ts
3315
3324
  import EventEmitter2 from "node:events";
@@ -3369,17 +3378,21 @@ var Timer = class {
3369
3378
  }
3370
3379
  }
3371
3380
  _tick() {
3372
- const result = this._fn();
3373
- if (!result) {
3374
- return this._checkCondition(new Error(TIMEOUT_ERROR));
3375
- }
3376
- if (typeof result.then !== "function") {
3377
- return this._checkCondition(void 0, result);
3381
+ try {
3382
+ const result = this._fn();
3383
+ if (!result) {
3384
+ return this._checkCondition(new Error(TIMEOUT_ERROR));
3385
+ }
3386
+ if (typeof result.then !== "function") {
3387
+ return this._checkCondition(void 0, result);
3388
+ }
3389
+ result.then(
3390
+ (res) => this._checkCondition(void 0, res),
3391
+ (err) => this._checkCondition(err)
3392
+ );
3393
+ } catch (err) {
3394
+ return this._checkCondition(err);
3378
3395
  }
3379
- result.then(
3380
- (res) => this._checkCondition(void 0, res),
3381
- (err) => this._checkCondition(err)
3382
- );
3383
3396
  }
3384
3397
  _checkCondition(err, res) {
3385
3398
  ++this._conditionExecutedCnt;
@@ -3798,7 +3811,7 @@ async function mock(url6, filterOptions) {
3798
3811
  if (!this.isBidi) {
3799
3812
  throw new Error("Mocking is only supported when running tests using WebDriver Bidi");
3800
3813
  }
3801
- const browser = getBrowserObject5(this);
3814
+ const browser = getBrowserObject6(this);
3802
3815
  const contextManager2 = getContextManager(browser);
3803
3816
  const context = await contextManager2.getCurrentContext();
3804
3817
  if (!SESSION_MOCKS[context]) {
@@ -4012,7 +4025,7 @@ async function saveRecordingScreen(filepath) {
4012
4025
 
4013
4026
  // src/commands/browser/saveScreenshot.ts
4014
4027
  import fs6 from "node:fs";
4015
- import { getBrowserObject as getBrowserObject6 } from "@wdio/utils";
4028
+ import { getBrowserObject as getBrowserObject7 } from "@wdio/utils";
4016
4029
  async function saveScreenshot(filepath) {
4017
4030
  if (typeof filepath !== "string" || !filepath.endsWith(".png")) {
4018
4031
  throw new Error('saveScreenshot expects a filepath of type string and ".png" file ending');
@@ -4021,7 +4034,7 @@ async function saveScreenshot(filepath) {
4021
4034
  await assertDirectoryExists(absoluteFilepath);
4022
4035
  let screenBuffer;
4023
4036
  if (this.isBidi) {
4024
- const browser = getBrowserObject6(this);
4037
+ const browser = getBrowserObject7(this);
4025
4038
  const contextManager2 = getContextManager(browser);
4026
4039
  const context = await contextManager2.getCurrentContext();
4027
4040
  const { data } = await this.browsingContextCaptureScreenshot({ context });
@@ -4122,7 +4135,7 @@ async function setViewport(options) {
4122
4135
  }
4123
4136
 
4124
4137
  // src/commands/browser/setWindowSize.ts
4125
- import { getBrowserObject as getBrowserObject7 } from "@wdio/utils";
4138
+ import { getBrowserObject as getBrowserObject8 } from "@wdio/utils";
4126
4139
  var minWindowSize2 = 0;
4127
4140
  var maxWindowSize2 = Number.MAX_SAFE_INTEGER;
4128
4141
  async function setWindowSize(width, height) {
@@ -4132,7 +4145,7 @@ async function setWindowSize(width, height) {
4132
4145
  if (width < minWindowSize2 || width > maxWindowSize2 || height < minWindowSize2 || height > maxWindowSize2) {
4133
4146
  throw new Error("setWindowSize expects width and height to be a number in the 0 to 2^31 \u2212 1 range");
4134
4147
  }
4135
- const browser = getBrowserObject7(this);
4148
+ const browser = getBrowserObject8(this);
4136
4149
  await browser.setWindowRect(null, null, width, height);
4137
4150
  }
4138
4151
 
@@ -4399,11 +4412,11 @@ function switchToFrame(browser, frame) {
4399
4412
 
4400
4413
  // src/commands/browser/throttle.ts
4401
4414
  import logger14 from "@wdio/logger";
4402
- import { getBrowserObject as getBrowserObject8 } from "@wdio/utils";
4415
+ import { getBrowserObject as getBrowserObject9 } from "@wdio/utils";
4403
4416
  var log14 = logger14("webdriverio:throttle");
4404
4417
  async function throttle(params) {
4405
4418
  log14.warn('Command "throttle" is deprecated and will be removed with the next major version release! Use `throttleNetwork` instead.');
4406
- const browser = getBrowserObject8(this);
4419
+ const browser = getBrowserObject9(this);
4407
4420
  await browser.throttleNetwork(params);
4408
4421
  }
4409
4422
 
@@ -4426,7 +4439,7 @@ async function throttleCPU(factor) {
4426
4439
  }
4427
4440
 
4428
4441
  // src/commands/browser/throttleNetwork.ts
4429
- import { getBrowserObject as getBrowserObject9 } from "@wdio/utils";
4442
+ import { getBrowserObject as getBrowserObject10 } from "@wdio/utils";
4430
4443
  var NETWORK_PRESETS = {
4431
4444
  "offline": {
4432
4445
  offline: true,
@@ -4503,7 +4516,7 @@ async function throttleNetwork(params) {
4503
4516
  throw new Error(`Invalid parameter for "throttleNetwork". Expected it to be typeof object or one of the following values: ${NETWORK_PRESET_TYPES.join(", ")} but found "${params}"`);
4504
4517
  }
4505
4518
  if (this.isSauce) {
4506
- const browser = getBrowserObject9(this);
4519
+ const browser = getBrowserObject10(this);
4507
4520
  await browser.sauceThrottleNetwork(params);
4508
4521
  return null;
4509
4522
  }
@@ -4827,7 +4840,19 @@ function waitUntil(condition, {
4827
4840
  }
4828
4841
  throw new Error(`waitUntil condition timed out after ${timeout}ms`);
4829
4842
  }
4830
- throw new Error(`waitUntil condition failed with the following reason: ${e && e.message || e}`);
4843
+ const err = new Error(`waitUntil condition failed with the following reason: ${e && e.message || e}`);
4844
+ const origStack = e.stack;
4845
+ if (!origStack || !err.stack) {
4846
+ throw err;
4847
+ }
4848
+ const [errMsg, ...waitUntilErrorStackLines] = err.stack.split("\n");
4849
+ err.stack = [
4850
+ errMsg,
4851
+ ...origStack.split("\n").slice(1),
4852
+ " ---",
4853
+ ...waitUntilErrorStackLines
4854
+ ].filter((errorLine) => !errorLine.includes("/node_modules/webdriverio/") && !errorLine.includes("/node_modules/@wdio/")).join("\n");
4855
+ throw err;
4831
4856
  });
4832
4857
  }
4833
4858
 
@@ -4865,6 +4890,7 @@ __export(element_exports, {
4865
4890
  isFocused: () => isFocused,
4866
4891
  isSelected: () => isSelected,
4867
4892
  isStable: () => isStable,
4893
+ longPress: () => longPress,
4868
4894
  moveTo: () => moveTo,
4869
4895
  nextElement: () => nextElement,
4870
4896
  parentElement: () => parentElement,
@@ -4912,7 +4938,7 @@ function clearValue() {
4912
4938
 
4913
4939
  // src/commands/element/click.ts
4914
4940
  import logger15 from "@wdio/logger";
4915
- import { getBrowserObject as getBrowserObject10 } from "@wdio/utils";
4941
+ import { getBrowserObject as getBrowserObject11 } from "@wdio/utils";
4916
4942
  var log15 = logger15("webdriver");
4917
4943
  function click(options) {
4918
4944
  if (typeof options !== "undefined") {
@@ -4946,16 +4972,17 @@ async function actionClick(element, options) {
4946
4972
  button: 0,
4947
4973
  x: 0,
4948
4974
  y: 0,
4949
- skipRelease: false
4975
+ skipRelease: false,
4976
+ duration: 0
4950
4977
  };
4951
- const { button, x, y, skipRelease } = { ...defaultOptions, ...options };
4978
+ const { button, x, y, skipRelease, duration } = { ...defaultOptions, ...options };
4952
4979
  if (typeof x !== "number" || typeof y !== "number" || !Number.isInteger(x) || !Number.isInteger(y)) {
4953
4980
  throw new TypeError("Coordinates must be integers");
4954
4981
  }
4955
4982
  if (!buttonValue.includes(button)) {
4956
4983
  throw new Error("Button type not supported.");
4957
4984
  }
4958
- const browser = getBrowserObject10(element);
4985
+ const browser = getBrowserObject11(element);
4959
4986
  if (x || y) {
4960
4987
  const { width, height } = await browser.getElementRect(element.elementId);
4961
4988
  if (x && x < -Math.floor(width / 2) || x && x > Math.floor(width / 2)) {
@@ -4967,8 +4994,8 @@ async function actionClick(element, options) {
4967
4994
  }
4968
4995
  const clickNested = async () => {
4969
4996
  await browser.action("pointer", {
4970
- parameters: { pointerType: "mouse" }
4971
- }).move({ origin: element, x, y }).down({ button }).up({ button }).perform(skipRelease);
4997
+ parameters: { pointerType: browser.isMobile ? "touch" : "mouse" }
4998
+ }).move({ origin: element, x, y }).down({ button }).pause(duration).up({ button }).perform(skipRelease);
4972
4999
  };
4973
5000
  try {
4974
5001
  return await clickNested();
@@ -4980,9 +5007,9 @@ async function actionClick(element, options) {
4980
5007
 
4981
5008
  // src/commands/element/custom$$.ts
4982
5009
  import { ELEMENT_KEY as ELEMENT_KEY9 } from "webdriver";
4983
- import { getBrowserObject as getBrowserObject11 } from "@wdio/utils";
5010
+ import { getBrowserObject as getBrowserObject12 } from "@wdio/utils";
4984
5011
  async function custom$$2(strategyName, ...strategyArguments) {
4985
- const browserObject = getBrowserObject11(this);
5012
+ const browserObject = getBrowserObject12(this);
4986
5013
  const strategy = browserObject.strategies.get(strategyName);
4987
5014
  if (!strategy) {
4988
5015
  throw Error("No strategy found for " + strategyName);
@@ -5002,9 +5029,9 @@ async function custom$$2(strategyName, ...strategyArguments) {
5002
5029
 
5003
5030
  // src/commands/element/custom$.ts
5004
5031
  import { ELEMENT_KEY as ELEMENT_KEY10 } from "webdriver";
5005
- import { getBrowserObject as getBrowserObject12 } from "@wdio/utils";
5032
+ import { getBrowserObject as getBrowserObject13 } from "@wdio/utils";
5006
5033
  async function custom$2(strategyName, ...strategyArguments) {
5007
- const browserObject = getBrowserObject12(this);
5034
+ const browserObject = getBrowserObject13(this);
5008
5035
  const strategy = browserObject.strategies.get(strategyName);
5009
5036
  if (!strategy) {
5010
5037
  throw Error("No strategy found for " + strategyName);
@@ -5024,15 +5051,15 @@ async function custom$2(strategyName, ...strategyArguments) {
5024
5051
  }
5025
5052
 
5026
5053
  // src/commands/element/doubleClick.ts
5027
- import { getBrowserObject as getBrowserObject13 } from "@wdio/utils";
5054
+ import { getBrowserObject as getBrowserObject14 } from "@wdio/utils";
5028
5055
  async function doubleClick() {
5029
- const browser = getBrowserObject13(this);
5056
+ const browser = getBrowserObject14(this);
5030
5057
  return browser.action("pointer", { parameters: { pointerType: "mouse" } }).move({ origin: this }).down().up().pause(10).down().up().perform();
5031
5058
  }
5032
5059
 
5033
5060
  // src/commands/element/dragAndDrop.ts
5034
5061
  import { ELEMENT_KEY as ELEMENT_KEY11 } from "webdriver";
5035
- import { getBrowserObject as getBrowserObject14 } from "@wdio/utils";
5062
+ import { getBrowserObject as getBrowserObject15 } from "@wdio/utils";
5036
5063
  var ACTION_BUTTON = 0;
5037
5064
  async function dragAndDrop(target, { duration = 10 } = {}) {
5038
5065
  const moveToCoordinates = target;
@@ -5058,21 +5085,21 @@ async function dragAndDrop(target, { duration = 10 } = {}) {
5058
5085
  const targetOrigin = isMovingToElement ? targetRef : "pointer";
5059
5086
  const targetX = isMovingToElement ? 0 : moveToCoordinates.x;
5060
5087
  const targetY = isMovingToElement ? 0 : moveToCoordinates.y;
5061
- const browser = getBrowserObject14(this);
5088
+ const browser = getBrowserObject15(this);
5062
5089
  return browser.action("pointer").move({ duration: 0, origin, x: 0, y: 0 }).down({ button: ACTION_BUTTON }).pause(10).move({ duration, origin: targetOrigin, x: targetX, y: targetY }).up({ button: ACTION_BUTTON }).perform();
5063
5090
  }
5064
5091
 
5065
5092
  // src/commands/element/execute.ts
5066
- import { getBrowserObject as getBrowserObject15 } from "@wdio/utils";
5093
+ import { getBrowserObject as getBrowserObject16 } from "@wdio/utils";
5067
5094
  async function execute2(script, ...args) {
5068
- const browser = getBrowserObject15(this);
5095
+ const browser = getBrowserObject16(this);
5069
5096
  return browser.execute(script, this, ...args);
5070
5097
  }
5071
5098
 
5072
5099
  // src/commands/element/executeAsync.ts
5073
- import { getBrowserObject as getBrowserObject16 } from "@wdio/utils";
5100
+ import { getBrowserObject as getBrowserObject17 } from "@wdio/utils";
5074
5101
  async function executeAsync2(script, ...args) {
5075
- const browser = getBrowserObject16(this);
5102
+ const browser = getBrowserObject17(this);
5076
5103
  return browser.executeAsync(script, this, ...args);
5077
5104
  }
5078
5105
 
@@ -5083,7 +5110,7 @@ function getAttribute(attributeName) {
5083
5110
 
5084
5111
  // src/commands/element/getCSSProperty.ts
5085
5112
  import cssShorthandProps from "css-shorthand-properties";
5086
- import { getBrowserObject as getBrowserObject17 } from "@wdio/utils";
5113
+ import { getBrowserObject as getBrowserObject18 } from "@wdio/utils";
5087
5114
  async function getCSSProperty(cssProperty, pseudoElement) {
5088
5115
  const getCSSProperty2 = cssShorthandProps.isShorthand(cssProperty) ? getShorthandPropertyCSSValue : getPropertyCSSValue;
5089
5116
  const cssValue2 = await getCSSProperty2.call(
@@ -5147,7 +5174,7 @@ function mergeEqualSymmetricalValue(cssValues) {
5147
5174
  return newCssValues.join(" ");
5148
5175
  }
5149
5176
  async function getPseudoElementCSSValue(elem, options) {
5150
- const browser = getBrowserObject17(elem);
5177
+ const browser = getBrowserObject18(elem);
5151
5178
  const { cssProperty, pseudoElement } = options;
5152
5179
  const cssValue2 = await browser.execute(
5153
5180
  (elem2, pseudoElement2, cssProperty2) => window.getComputedStyle(elem2, pseudoElement2)[cssProperty2],
@@ -5176,7 +5203,7 @@ async function getElement2() {
5176
5203
  // src/commands/element/getHTML.ts
5177
5204
  import { ELEMENT_KEY as ELEMENT_KEY12 } from "webdriver";
5178
5205
  import { prettify as prettifyFn } from "htmlfy";
5179
- import { getBrowserObject as getBrowserObject18 } from "@wdio/utils";
5206
+ import { getBrowserObject as getBrowserObject19 } from "@wdio/utils";
5180
5207
 
5181
5208
  // src/shadowRoot.ts
5182
5209
  import logger16 from "@wdio/logger";
@@ -5448,7 +5475,7 @@ import getHTMLShadowScript from "./scripts/getHTMLShadow.js";
5448
5475
  var SHADOW_ID_ATTR_NAME = "data-wdio-shadow-id";
5449
5476
  var SHADOW_ID_ATTR = `[${SHADOW_ID_ATTR_NAME}]`;
5450
5477
  async function getHTML(options = {}) {
5451
- const browser = getBrowserObject18(this);
5478
+ const browser = getBrowserObject19(this);
5452
5479
  if (typeof options !== "object" && typeof options === "boolean") {
5453
5480
  options = { includeSelectorTag: options };
5454
5481
  } else if (typeof options !== "object") {
@@ -5593,7 +5620,7 @@ function getValue() {
5593
5620
 
5594
5621
  // src/commands/element/isClickable.ts
5595
5622
  import { ELEMENT_KEY as ELEMENT_KEY13 } from "webdriver";
5596
- import { getBrowserObject as getBrowserObject19 } from "@wdio/utils";
5623
+ import { getBrowserObject as getBrowserObject20 } from "@wdio/utils";
5597
5624
  import isElementClickableScript from "./scripts/isElementClickable.js";
5598
5625
  async function isClickable() {
5599
5626
  if (!await this.isDisplayed()) {
@@ -5602,7 +5629,7 @@ async function isClickable() {
5602
5629
  if (this.isMobile && await this.getContext().catch(() => void 0) === "NATIVE_APP") {
5603
5630
  throw new Error("Method not supported in mobile native environment. It is unlikely that you need to use this command.");
5604
5631
  }
5605
- const browser = getBrowserObject19(this);
5632
+ const browser = getBrowserObject20(this);
5606
5633
  return browser.execute(isElementClickableScript, {
5607
5634
  [ELEMENT_KEY13]: this.elementId,
5608
5635
  // w3c compatible
@@ -5612,11 +5639,11 @@ async function isClickable() {
5612
5639
  }
5613
5640
 
5614
5641
  // src/commands/element/isDisplayed.ts
5615
- import { getBrowserObject as getBrowserObject20 } from "@wdio/utils";
5642
+ import { getBrowserObject as getBrowserObject21 } from "@wdio/utils";
5616
5643
  import isElementDisplayedScript from "./scripts/isElementDisplayed.js";
5617
5644
  import isElementInViewportScript from "./scripts/isElementInViewport.js";
5618
5645
  async function isDisplayed(commandParams = { withinViewport: false }) {
5619
- const browser = getBrowserObject20(this);
5646
+ const browser = getBrowserObject21(this);
5620
5647
  if (!await hasElementId(this)) {
5621
5648
  return false;
5622
5649
  }
@@ -5643,7 +5670,7 @@ function isEnabled() {
5643
5670
 
5644
5671
  // src/commands/element/isEqual.ts
5645
5672
  import { ELEMENT_KEY as ELEMENT_KEY14 } from "webdriver";
5646
- import { getBrowserObject as getBrowserObject21 } from "@wdio/utils";
5673
+ import { getBrowserObject as getBrowserObject22 } from "@wdio/utils";
5647
5674
  var getWebElement = (el) => ({
5648
5675
  [ELEMENT_KEY14]: el.elementId,
5649
5676
  // w3c compatible
@@ -5651,7 +5678,7 @@ var getWebElement = (el) => ({
5651
5678
  // jsonwp compatible
5652
5679
  });
5653
5680
  async function isEqual(el) {
5654
- const browser = getBrowserObject21(this);
5681
+ const browser = getBrowserObject22(this);
5655
5682
  if (browser.isMobile) {
5656
5683
  const context = await browser.getContext().catch(() => void 0);
5657
5684
  const contextId = typeof context === "string" ? context : context?.id;
@@ -5689,10 +5716,10 @@ async function isExisting() {
5689
5716
 
5690
5717
  // src/commands/element/isFocused.ts
5691
5718
  import { ELEMENT_KEY as ELEMENT_KEY15 } from "webdriver";
5692
- import { getBrowserObject as getBrowserObject22 } from "@wdio/utils";
5719
+ import { getBrowserObject as getBrowserObject23 } from "@wdio/utils";
5693
5720
  import isFocusedScript from "./scripts/isFocused.js";
5694
5721
  async function isFocused() {
5695
- const browser = await getBrowserObject22(this);
5722
+ const browser = await getBrowserObject23(this);
5696
5723
  return browser.execute(isFocusedScript, {
5697
5724
  [ELEMENT_KEY15]: this.elementId,
5698
5725
  // w3c compatible
@@ -5708,10 +5735,10 @@ function isSelected() {
5708
5735
 
5709
5736
  // src/commands/element/isStable.ts
5710
5737
  import { ELEMENT_KEY as ELEMENT_KEY16 } from "webdriver";
5711
- import { getBrowserObject as getBrowserObject23 } from "@wdio/utils";
5738
+ import { getBrowserObject as getBrowserObject24 } from "@wdio/utils";
5712
5739
  import isElementStable from "./scripts/isElementStable.js";
5713
5740
  async function isStable() {
5714
- const browser = getBrowserObject23(this);
5741
+ const browser = getBrowserObject24(this);
5715
5742
  return await browser.executeAsync(isElementStable, {
5716
5743
  [ELEMENT_KEY16]: this.elementId,
5717
5744
  // w3c compatible
@@ -5722,10 +5749,10 @@ async function isStable() {
5722
5749
 
5723
5750
  // src/commands/element/moveTo.ts
5724
5751
  import logger17 from "@wdio/logger";
5725
- import { getBrowserObject as getBrowserObject24 } from "@wdio/utils";
5752
+ import { getBrowserObject as getBrowserObject25 } from "@wdio/utils";
5726
5753
  var log17 = logger17("webdriver");
5727
5754
  async function moveTo({ xOffset, yOffset } = {}) {
5728
- const browser = getBrowserObject24(this);
5755
+ const browser = getBrowserObject25(this);
5729
5756
  if (xOffset || yOffset) {
5730
5757
  const { width, height } = await browser.getElementRect(this.elementId);
5731
5758
  if (xOffset && xOffset < -Math.floor(width / 2) || xOffset && xOffset > Math.floor(width / 2)) {
@@ -5780,7 +5807,7 @@ function previousElement() {
5780
5807
  import fs8 from "node:fs/promises";
5781
5808
  import url4 from "node:url";
5782
5809
  import { resolve as resolve3 } from "import-meta-resolve";
5783
- import { getBrowserObject as getBrowserObject25 } from "@wdio/utils";
5810
+ import { getBrowserObject as getBrowserObject26 } from "@wdio/utils";
5784
5811
  import { waitToLoadReact as waitToLoadReact3, react$$ as react$$Script2 } from "./scripts/resq.js";
5785
5812
  var resqScript3;
5786
5813
  async function react$$2(selector, { props = {}, state = {} } = {}) {
@@ -5788,7 +5815,7 @@ async function react$$2(selector, { props = {}, state = {} } = {}) {
5788
5815
  const resqScriptPath = url4.fileURLToPath(await resolve3("resq", import.meta.url));
5789
5816
  resqScript3 = (await fs8.readFile(resqScriptPath)).toString();
5790
5817
  }
5791
- const browser = await getBrowserObject25(this);
5818
+ const browser = await getBrowserObject26(this);
5792
5819
  await this.executeScript(resqScript3.toString(), []);
5793
5820
  await browser.execute(waitToLoadReact3);
5794
5821
  const res = await browser.execute(
@@ -5806,7 +5833,7 @@ async function react$$2(selector, { props = {}, state = {} } = {}) {
5806
5833
  import fs9 from "node:fs/promises";
5807
5834
  import url5 from "node:url";
5808
5835
  import { resolve as resolve4 } from "import-meta-resolve";
5809
- import { getBrowserObject as getBrowserObject26 } from "@wdio/utils";
5836
+ import { getBrowserObject as getBrowserObject27 } from "@wdio/utils";
5810
5837
  import { waitToLoadReact as waitToLoadReact4, react$ as react$Script2 } from "./scripts/resq.js";
5811
5838
  var resqScript4;
5812
5839
  async function react$2(selector, { props = {}, state = {} } = {}) {
@@ -5814,7 +5841,7 @@ async function react$2(selector, { props = {}, state = {} } = {}) {
5814
5841
  const resqScriptPath = url5.fileURLToPath(await resolve4("resq", import.meta.url));
5815
5842
  resqScript4 = (await fs9.readFile(resqScriptPath)).toString();
5816
5843
  }
5817
- const browser = await getBrowserObject26(this);
5844
+ const browser = await getBrowserObject27(this);
5818
5845
  await this.executeScript(resqScript4.toString(), []);
5819
5846
  await browser.execute(waitToLoadReact4);
5820
5847
  const res = await browser.execute(
@@ -5844,24 +5871,29 @@ async function saveScreenshot2(filepath) {
5844
5871
  // src/commands/element/scrollIntoView.ts
5845
5872
  import logger18 from "@wdio/logger";
5846
5873
  import { ELEMENT_KEY as ELEMENT_KEY17 } from "webdriver";
5847
- import { getBrowserObject as getBrowserObject27 } from "@wdio/utils";
5874
+ import { getBrowserObject as getBrowserObject28 } from "@wdio/utils";
5875
+
5876
+ // src/types.ts
5877
+ var MobileScrollDirection = /* @__PURE__ */ ((MobileScrollDirection2) => {
5878
+ MobileScrollDirection2["Down"] = "down";
5879
+ MobileScrollDirection2["Up"] = "up";
5880
+ MobileScrollDirection2["Left"] = "left";
5881
+ MobileScrollDirection2["Right"] = "right";
5882
+ return MobileScrollDirection2;
5883
+ })(MobileScrollDirection || {});
5884
+
5885
+ // src/commands/element/scrollIntoView.ts
5848
5886
  var log18 = logger18("webdriverio");
5849
- function scrollIntoViewWeb(options = { block: "start", inline: "nearest" }) {
5850
- const browser = getBrowserObject27(this);
5851
- return browser.execute(
5852
- (elem, options2) => elem.scrollIntoView(options2),
5853
- {
5854
- [ELEMENT_KEY17]: this.elementId,
5855
- // w3c compatible
5856
- ELEMENT: this.elementId
5857
- // jsonwp compatible
5858
- },
5859
- options
5860
- );
5861
- }
5862
5887
  async function scrollIntoView(options = { block: "start", inline: "nearest" }) {
5863
- const browser = getBrowserObject27(this);
5888
+ const browser = getBrowserObject28(this);
5864
5889
  if (browser.isMobile) {
5890
+ if (await browser.getContext() === "NATIVE_APP") {
5891
+ return nativeMobileScrollIntoView({
5892
+ browser,
5893
+ element: this,
5894
+ options: options || {}
5895
+ });
5896
+ }
5865
5897
  return scrollIntoViewWeb.call(this, options);
5866
5898
  }
5867
5899
  try {
@@ -5911,6 +5943,121 @@ Re-attempting using \`Element.scrollIntoView\` via Web API.`
5911
5943
  await scrollIntoViewWeb.call(this, options);
5912
5944
  }
5913
5945
  }
5946
+ async function getScrollableElement({
5947
+ browser,
5948
+ options
5949
+ }) {
5950
+ if (options?.scrollableElement) {
5951
+ return options?.scrollableElement;
5952
+ }
5953
+ const defaultAndroidSelector = "//android.widget.ScrollView";
5954
+ const defaultIosSelector = '-ios predicate string:type == "XCUIElementTypeApplication"';
5955
+ const selector = browser.isIOS ? (
5956
+ // For iOS, we need to find the application element, if we can't find it, we should throw an error
5957
+ defaultIosSelector
5958
+ ) : (
5959
+ // There is always a scrollview for Android or, if this fails we should throw an error
5960
+ defaultAndroidSelector
5961
+ );
5962
+ const scrollableElements = await browser.$$(
5963
+ selector
5964
+ );
5965
+ if (scrollableElements.length > 0) {
5966
+ return scrollableElements[0];
5967
+ }
5968
+ throw new Error(
5969
+ `Default scrollable element '${browser.isIOS ? defaultIosSelector : defaultAndroidSelector}' was not found. Our advice is to provide a scrollable element like this:
5970
+
5971
+ await elem.scrollIntoView({ scrollableElement: $('#scrollable') });
5972
+
5973
+ `
5974
+ );
5975
+ }
5976
+ async function mobileScrollUntilVisible({
5977
+ browser,
5978
+ element,
5979
+ scrollableElement,
5980
+ maxScrolls,
5981
+ scrollDirection
5982
+ }) {
5983
+ let isVisible = false;
5984
+ let hasScrolled = false;
5985
+ let scrolls = 0;
5986
+ while (!isVisible && scrolls < maxScrolls) {
5987
+ try {
5988
+ isVisible = await element.isDisplayed();
5989
+ } catch {
5990
+ isVisible = false;
5991
+ }
5992
+ if (isVisible) {
5993
+ break;
5994
+ }
5995
+ if (browser.isIOS) {
5996
+ await browser.execute("mobile: scroll", {
5997
+ elementId: (await scrollableElement)?.elementId,
5998
+ direction: scrollDirection
5999
+ });
6000
+ hasScrolled = true;
6001
+ } else {
6002
+ await browser.execute("mobile: scrollGesture", {
6003
+ elementId: (await scrollableElement)?.elementId,
6004
+ direction: scrollDirection,
6005
+ percent: 0.5
6006
+ });
6007
+ hasScrolled = true;
6008
+ }
6009
+ scrolls++;
6010
+ }
6011
+ return { hasScrolled, isVisible };
6012
+ }
6013
+ async function nativeMobileScrollIntoView({
6014
+ browser,
6015
+ element,
6016
+ options
6017
+ }) {
6018
+ const defaultOptions = {
6019
+ maxScrolls: 10,
6020
+ scrollDirection: "down" /* Down */
6021
+ };
6022
+ const mobileOptions = {
6023
+ ...defaultOptions,
6024
+ ...options || {}
6025
+ };
6026
+ const scrollableElement = await getScrollableElement({ browser, options: mobileOptions });
6027
+ const { hasScrolled, isVisible } = await mobileScrollUntilVisible({
6028
+ browser,
6029
+ element,
6030
+ maxScrolls: mobileOptions.maxScrolls,
6031
+ scrollDirection: mobileOptions.scrollDirection,
6032
+ scrollableElement
6033
+ });
6034
+ if (hasScrolled && isVisible) {
6035
+ return browser.pause(1e3);
6036
+ } else if (isVisible) {
6037
+ return;
6038
+ }
6039
+ throw new Error(`Element not found within scroll limit of ${mobileOptions.maxScrolls} scrolls by scrolling "${mobileOptions.scrollDirection}". Are you sure the element is within the scrollable element or the direction is correct? You can change the scrollable element or direction like this:
6040
+
6041
+ await elem.scrollIntoView({
6042
+ direction: 'left' // posible options are: 'up|down|left|right'
6043
+ scrollableElement: $('#scrollable'),
6044
+ });
6045
+
6046
+ `);
6047
+ }
6048
+ function scrollIntoViewWeb(options = { block: "start", inline: "nearest" }) {
6049
+ const browser = getBrowserObject28(this);
6050
+ return browser.execute(
6051
+ (elem, options2) => elem.scrollIntoView(options2),
6052
+ {
6053
+ [ELEMENT_KEY17]: this.elementId,
6054
+ // w3c compatible
6055
+ ELEMENT: this.elementId
6056
+ // jsonwp compatible
6057
+ },
6058
+ options
6059
+ );
6060
+ }
5914
6061
 
5915
6062
  // src/commands/element/selectByAttribute.ts
5916
6063
  async function selectByAttribute(attribute, value) {
@@ -5970,7 +6117,7 @@ async function setValue(value) {
5970
6117
 
5971
6118
  // src/commands/element/shadow$$.ts
5972
6119
  import logger19 from "@wdio/logger";
5973
- import { getBrowserObject as getBrowserObject28 } from "@wdio/utils";
6120
+ import { getBrowserObject as getBrowserObject29 } from "@wdio/utils";
5974
6121
  import { SHADOW_ELEMENT_KEY } from "webdriver";
5975
6122
  import { shadowFnFactory } from "./scripts/shadowFnFactory.js";
5976
6123
 
@@ -6299,7 +6446,7 @@ var createRoleBaseXpathSelector = (role) => {
6299
6446
  // src/commands/element/shadow$$.ts
6300
6447
  var log19 = logger19("webdriverio");
6301
6448
  async function shadow$$(selector) {
6302
- const browser = getBrowserObject28(this);
6449
+ const browser = getBrowserObject29(this);
6303
6450
  try {
6304
6451
  const shadowRoot = await browser.getElementShadowRoot(this.elementId);
6305
6452
  const { using, value } = findStrategy(selector, this.isW3C, this.isMobile);
@@ -6319,10 +6466,10 @@ Falling back to JavaScript shim.`
6319
6466
  import logger20 from "@wdio/logger";
6320
6467
  import { SHADOW_ELEMENT_KEY as SHADOW_ELEMENT_KEY2 } from "webdriver";
6321
6468
  import { shadowFnFactory as shadowFnFactory2 } from "./scripts/shadowFnFactory.js";
6322
- import { getBrowserObject as getBrowserObject29 } from "@wdio/utils";
6469
+ import { getBrowserObject as getBrowserObject30 } from "@wdio/utils";
6323
6470
  var log20 = logger20("webdriverio");
6324
6471
  async function shadow$(selector) {
6325
- const browser = getBrowserObject29(this);
6472
+ const browser = getBrowserObject30(this);
6326
6473
  try {
6327
6474
  const shadowRoot = await browser.getElementShadowRoot(this.elementId);
6328
6475
  const { using, value } = findStrategy(selector, this.isW3C, this.isMobile);
@@ -6431,6 +6578,25 @@ async function waitForStable({
6431
6578
  // src/commands/element/waitUntil.ts
6432
6579
  var waitUntil2 = waitUntil;
6433
6580
 
6581
+ // src/commands/mobile/longPress.ts
6582
+ import { getBrowserObject as getBrowserObject31 } from "@wdio/utils";
6583
+ function longPress(options) {
6584
+ const browser = getBrowserObject31(this);
6585
+ if (!browser.isMobile) {
6586
+ throw new Error("The longPress command is only available for mobile platforms.");
6587
+ }
6588
+ if (typeof options !== "undefined" && (typeof options !== "object" || Array.isArray(options))) {
6589
+ throw new TypeError("Options must be an object");
6590
+ }
6591
+ const defaultOptions = {
6592
+ duration: 1500,
6593
+ x: 0,
6594
+ y: 0
6595
+ };
6596
+ const { duration, x, y } = { ...defaultOptions, ...options };
6597
+ return this.click({ duration, x, y });
6598
+ }
6599
+
6434
6600
  // src/utils/index.ts
6435
6601
  import elementContains from "./scripts/elementContains.js";
6436
6602
 
@@ -6722,7 +6888,7 @@ function fetchElementByJSFunction(selector, scope, referenceId) {
6722
6888
  if (referenceId) {
6723
6889
  args.push(referenceId);
6724
6890
  }
6725
- return getBrowserObject30(scope).executeScript(`return (${script}).apply(null, arguments)`, args);
6891
+ return getBrowserObject32(scope).executeScript(`return (${script}).apply(null, arguments)`, args);
6726
6892
  }
6727
6893
  function isElement(o) {
6728
6894
  return typeof HTMLElement === "object" ? o instanceof HTMLElement : o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string";
@@ -6753,7 +6919,7 @@ function transformClassicToBidiSelector(using, value) {
6753
6919
  throw new Error(`Can't transform classic selector ${using} to Bidi selector`);
6754
6920
  }
6755
6921
  async function findDeepElement(selector) {
6756
- const browser = getBrowserObject30(this);
6922
+ const browser = getBrowserObject32(this);
6757
6923
  const shadowRootManager2 = getShadowRootManager(browser);
6758
6924
  const contextManager2 = getContextManager(browser);
6759
6925
  const context = await contextManager2.getCurrentContext();
@@ -6791,7 +6957,7 @@ async function findDeepElement(selector) {
6791
6957
  return deepElementResult;
6792
6958
  }
6793
6959
  async function findDeepElements(selector) {
6794
- const browser = getBrowserObject30(this);
6960
+ const browser = getBrowserObject32(this);
6795
6961
  const shadowRootManager2 = getShadowRootManager(browser);
6796
6962
  const contextManager2 = getContextManager(browser);
6797
6963
  const context = await contextManager2.getCurrentContext();
@@ -6826,7 +6992,7 @@ async function findDeepElements(selector) {
6826
6992
  return deepElementResult;
6827
6993
  }
6828
6994
  async function findElement(selector) {
6829
- const browserObject = getBrowserObject30(this);
6995
+ const browserObject = getBrowserObject32(this);
6830
6996
  const shadowRootManager2 = getShadowRootManager(browserObject);
6831
6997
  if (this.isBidi && typeof selector === "string" && !selector.startsWith(DEEP_SELECTOR) && !shadowRootManager2.isWithinFrame()) {
6832
6998
  return findDeepElement.call(this, selector);
@@ -6880,7 +7046,7 @@ async function findElement(selector) {
6880
7046
  throw new Error(`${INVALID_SELECTOR_ERROR}, but found: \`${typeof selector}\``);
6881
7047
  }
6882
7048
  async function findElements(selector) {
6883
- const browserObject = getBrowserObject30(this);
7049
+ const browserObject = getBrowserObject32(this);
6884
7050
  if (typeof selector === "string" && selector.startsWith(DEEP_SELECTOR)) {
6885
7051
  const elems = await browserObject.execute(
6886
7052
  querySelectorAllDeep,
@@ -6929,7 +7095,7 @@ async function getElementRect(scope) {
6929
7095
  const rect = await scope.getElementRect(scope.elementId);
6930
7096
  const defaults = { x: 0, y: 0, width: 0, height: 0 };
6931
7097
  if (Object.keys(defaults).some((key) => rect[key] === void 0)) {
6932
- const rectJs = await getBrowserObject30(scope).execute(function(el) {
7098
+ const rectJs = await getBrowserObject32(scope).execute(function(el) {
6933
7099
  if (!el || !el.getBoundingClientRect) {
6934
7100
  return;
6935
7101
  }
@@ -7026,7 +7192,7 @@ var elementErrorHandler = (fn) => (commandName, commandFn) => {
7026
7192
  this[ELEMENT_KEY19] = element.elementId;
7027
7193
  try {
7028
7194
  const result = await fn(commandName, commandFn).apply(this, args);
7029
- const caps = getBrowserObject31(this).capabilities;
7195
+ const caps = getBrowserObject33(this).capabilities;
7030
7196
  if (caps?.browserName === "safari" && result?.error === "no such element") {
7031
7197
  const errorName = "stale element reference";
7032
7198
  const err = new Error(errorName);
@@ -7593,6 +7759,7 @@ var multiremote = async function(params, { automationProtocol } = {}) {
7593
7759
  export {
7594
7760
  Key2 as Key,
7595
7761
  KeyAction,
7762
+ MobileScrollDirection,
7596
7763
  PointerAction,
7597
7764
  SevereServiceError2 as SevereServiceError,
7598
7765
  WheelAction,
package/build/types.d.ts CHANGED
@@ -414,10 +414,13 @@ export type NewWindowOptions = {
414
414
  windowName?: string;
415
415
  windowFeatures?: string;
416
416
  };
417
- export type ClickOptions = {
418
- button: Button | ButtonNames;
417
+ export type LongPressOptions = {
419
418
  x: number;
420
419
  y: number;
420
+ duration: number;
421
+ };
422
+ export type ClickOptions = LongPressOptions & {
423
+ button: Button | ButtonNames;
421
424
  skipRelease: boolean;
422
425
  };
423
426
  export type WaitForOptions = {
@@ -427,6 +430,19 @@ export type WaitForOptions = {
427
430
  reverse?: boolean;
428
431
  withinViewport?: boolean;
429
432
  };
433
+ export declare enum MobileScrollDirection {
434
+ Down = "down",
435
+ Up = "up",
436
+ Left = "left",
437
+ Right = "right"
438
+ }
439
+ export type MobileScrollIntoViewOptions = {
440
+ direction?: MobileScrollDirection;
441
+ maxScrolls?: number;
442
+ scrollableElement?: WebdriverIO.Element;
443
+ };
444
+ export interface CustomScrollIntoViewOptions extends ScrollIntoViewOptions, MobileScrollIntoViewOptions {
445
+ }
430
446
  export type WaitUntilOptions = {
431
447
  timeout?: number;
432
448
  timeoutMsg?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../src/utils/Timer.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,cAAM,KAAK;IAYH,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAdpB,OAAO,CAAC,qBAAqB,CAAI;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,UAAU,CAAC,CAAO;gBAGd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,QAAQ,EACb,QAAQ,UAAQ;IAY5B,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,KAAK;IAiBb,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,qBAAqB;CAGhC;AAED,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../src/utils/Timer.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,cAAM,KAAK;IAYH,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAdpB,OAAO,CAAC,qBAAqB,CAAI;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,UAAU,CAAC,CAAO;gBAGd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,QAAQ,EACb,QAAQ,UAAQ;IAY5B,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,KAAK;IAqBb,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,qBAAqB;CAGhC;AAED,eAAe,KAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"implicitWait.d.ts","sourceRoot":"","sources":["../../src/utils/implicitWait.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAA8B,YAAY,CAAE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAmClI"}
1
+ {"version":3,"file":"implicitWait.d.ts","sourceRoot":"","sources":["../../src/utils/implicitWait.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAA8B,YAAY,CAAE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAsClI"}
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": "9.2.12",
4
+ "version": "9.3.0",
5
5
  "homepage": "https://webdriver.io",
6
6
  "author": "Christian Bromann <mail@bromann.dev>",
7
7
  "license": "MIT",
@@ -100,7 +100,7 @@
100
100
  "rgb2hex": "0.2.5",
101
101
  "serialize-error": "^11.0.3",
102
102
  "urlpattern-polyfill": "^10.0.0",
103
- "webdriver": "9.2.8"
103
+ "webdriver": "9.3.0"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "puppeteer-core": "^22.3.0"
@@ -110,5 +110,5 @@
110
110
  "optional": true
111
111
  }
112
112
  },
113
- "gitHead": "5283e03d12615050ba8e1c54a9903e171068d143"
113
+ "gitHead": "ffdd24d5207f8502f48eb9c9aa1851f164e133d0"
114
114
  }