longPress
Performs a long press gesture on the given element on the screen.
This issues a WebDriver action command for the selected element. It is based on the click command, except for iOS web context, there we use a script to simulate the long press due to the lack of support for long press gestures in webview.
info
This command only works with the following up-to-date components:
- Appium server (version 2.0.0 or higher)
appium-uiautomator2-driver(for Android)appium-xcuitest-driver(for iOS)
Make sure your local or cloud-based Appium environment is regularly updated to avoid compatibility issues.
Usage
$(selector).longPress({ x, y, duration })
Parameters
| Name | Type | Details |
|---|---|---|
optionsoptional | LongPressOptions | Long press options (optional) |
options.xoptional | number | Number (optional) |
options.yoptional | number | Number (optional) |
options.durationoptional | number | Duration of the press in ms, default is 1500 ms MOBILE-ONLY |
Examples
longpress.offset.js
it('should demonstrate a longPress using an offset on the iOS Contacts icon', async () => {
const contacts = $('~Contacts')
// opens the Contacts menu on iOS where you can quickly create
// a new contact, edit your home screen, or remove the app
// clicks 30 horizontal and 10 vertical pixels away from location of the icon (from center point of element)
await contacts.longPress({ x: 30, y: 10 })
})
longpress.example.js
it('should be able to open the contacts menu on iOS by executing a longPress of 5 seconds', async () => {
const contacts = $('~Contacts')
// opens the Contacts menu on iOS where you can quickly create
// a new contact, edit your home screen, or remove the app
await contacts.longPress({ duration: 5 * 1000 })
})