UNPKG

webdriverio

Version:

Next-gen browser and mobile automation test framework for Node.js

67 lines (63 loc) 2.28 kB
import type { TouchActions } from '../../types.js'; /** * :::caution Deprecation Warning * * The `touchAction` command is __deprecated__ and will be removed in a future version. * We recommend to use the [`action`](/docs/api/browser/action) command instead with * pointer type `touch`, e.g.: * * ```ts * await browser.action('pointer', { * parameters: { pointerType: 'touch' } * }) * ``` * * ::: * * The Touch Action API provides the basis of all gestures that can be automated in Appium. * It is currently only available to native apps and can not be used to interact with webapps. * At its core is the ability to chain together _ad hoc_ individual actions, which will then be * applied to an element in the application on the device. The basic actions that can be used are: * * - press (pass element or (x,y) or both) * - longPress (pass element or (x,y) or both) * - tap (pass element or (x,y) or both) * - moveTo (pass absolute x,y coordinates) * - wait (pass ms (as milliseconds)) * - release (no arguments) * * <example> :touchAction.js it('should do a touch gesture', async () => { const screen = await $('//UITextbox'); // simple touch action on element await screen.touchAction('tap'); // simple touch action using selector and x y variables // tap location is 30px right and 20px down relative from the center of the element await screen.touchAction({ action: 'tap', x: 30, y:20 }) // multi action on an element (drag&drop) await screen.touchAction([ 'press', { action: 'moveTo', x: 200, y: 300 }, 'release' ]) // drag&drop to element const otherElement = await $('//UIAApplication[1]/UIAElement[2]') await screen.touchAction([ 'press', { action: 'moveTo', element: otherElement }, 'release' ]) }); * </example> * * @param {TouchActions} action action to execute * * @see https://saucelabs.com/blog/appium-sauce-labs-bootcamp-chapter-2-touch-actions * @for android, ios * */ export declare function touchAction(this: WebdriverIO.Element, actions: TouchActions): Promise<void>; //# sourceMappingURL=touchAction.d.ts.map