свайп
Свайп в определенном направлении в пределах области просмотра или элемента для веб-приложений на компьютере/мобильных устройствах И нативных мобильных приложений.
Свайп для нативных мобильных приложений основан на протоколе W3C-actions, имитирующем нажатие и движение пальцем.
Это отличается от команды mobile: scrollGesture для Android
или mobile: scroll для iOS, которые основаны на протоколе Appium Driver и
доступны только для мобильных платформ в контексте NATIVE.
Эта команда работает только со следующими обновленными компонентами:
- Appium сервер (версия 2.0.0 или выше)
appium-uiautomator2-driver(для Android)appium-xcuitest-driver(для iOS)
Убедитесь, что ваша локальная среда Appium или среда Appium в облаке регулярно обновляется, чтобы избежать проблем совместимости.
Избегайте использования опций from и to, если в этом нет абсолютной необходимости. Они зависят от устройства и могут работать неодинаково на разных устройствах.
Используйте опцию scrollableElement для надежных свайпов внутри элемента.
Параметры
| Имя | Тип | Детали |
|---|---|---|
optionsопционально | object, boolean | опции для browser.swipe(). По умолчанию для компьютерного/мобильного веба: { direction: 'up', duration: 1500, percent: 0.95, scrollableElement: WebdriverIO.Element } |
options.directionопционально | string | Может быть одним из down, up, left или right, по умолчанию up. ТОЛЬКО-ДЛЯ-НАТИВНЫХ-МОБИЛЬНЫХ-ПРИЛОЖЕНИЙ |
| Down (Вниз) Начальная точка: Вы помещаете палец ближе к верхней части экрана. Движение: Вы проводите пальцем вниз к нижней части экрана. Действие: Это также зависит от контекста: - На главном экране или в приложениях это обычно прокручивает содержимое вверх. - От верхнего края часто открывает панель уведомлений или быстрые настройки. - В браузерах или приложениях для чтения может использоваться для прокрутки контента. | ||
| Left (Влево) Начальная точка: Вы помещаете палец на правую сторону экрана. Движение: Вы проводите пальцем горизонтально влево.> Действие: Реакция на этот жест зависит от приложения: - Может перейти к следующему элементу в карусели или набору изображений. - В контексте навигации может вернуться на предыдущую страницу или закрыть текущий вид. - На главном экране обычно переключается на следующий виртуальный рабочий стол или экран. | ||
| Right (Вправо) Начальная точка: Вы помещаете палец на левую сторону экрана. Движение: Вы проводите пальцем горизонтально вправо. Действие: Аналогично свайпу влево, но в противоположном направлении: -- Часто перемещается к предыдущему элементу в карусели или галерее. - Может использоваться для открытия боковых меню или панелей навигации в приложениях. - На главном экране обычно переключается на предыдущий виртуальный рабочий стол. | ||
| Up (Вверх) Начальная точка: Вы помещаете палец ближе к нижней части экрана. Движение: Вы проводите пальцем вверх к верхней части экрана.> Действие: В зависимости от контекста могут произойти различные действия: - На главном экране или в списке это обычно прокручивает содержимое вниз. - В полноэкранном приложении может открыть дополнительные опции или меню приложений. - В определенных интерфейсах может вызвать действие 'обновления' или открыть строку поиска. | ||
options.durationопционально | number | Продолжительность свайпа в миллисекундах. По умолчанию 1500 мс. Чем ниже значение, тем быстрее свайп. |
options.scrollableElementопционально | Element | Элемент, внутри которого выполняется свайп. Если элемент не указан, будет использоваться следующий селектор для iOS -ios predicate string:type == "XCUIElementTypeApplication" и следующий для Android //android.widget.ScrollView'. Если несколько элементов соответствуют селектору по умолчанию, то по умолчанию будет выбран первый подходящий элемент. ТОЛЬКО-ДЛЯ-НАТИВНЫХ-МОБИЛЬНЫХ-ПРИЛОЖЕНИЙ |
options.percentопционально | number | Процент (стандартного) прокручиваемого элемента для свайпа. Это значение от 0 до 1. По умолчанию 0.95.НИКОГДА не делайте свайп с точного верха|низа|левой|правой части экрана, вы можете активировать, например, панель уведомлений или другие функции ОС/приложения, что может привести к неожиданным результатам. Это не имеет эффекта, если указаны from и to. |
Следующие значения ТОЛЬКО имеют эффект, если scrollableElement НЕ указан, иначе они игнорируются. | ||
options.fromопционально | object | Координаты x и y начала свайпа. Если указан scrollableElement, то эти координаты не имеют эффекта. |
options.from.xопционально | number | Координата x начала свайпа. |
options.from.yопционально | number | Координата y начала свайпа. |
options.toопционально | object | Координаты x и y конца свайпа. Если указан scrollableElement, то эти координаты не имеют эффекта. |
options.to.xопционально | number | Координата x конца свайпа. |
options.to.yопционально | number | Координата y конца свайпа. |
Примеры
it('should execute a default swipe', async () => {
// Default will be a swipe from the bottom to the top, meaning it will swipe UP
await browser.swipe();
});
it('should execute a swipe with options', async () => {
await browser.swipe({
direction: 'left', // Swipe from right to left
duration: 5000, // Last for 5 seconds
percent: 0.5, // Swipe 50% of the scrollableElement
scrollableElement: $('~carousel'), // The element to swipe within
})
});