свайп
Свайп в определенном направлении в пределах области просмотра или элемента для веб-приложений на компьютере/мобильных устройствах И нативных мобильных приложений.
Свайп для нативных мобильных приложений основан на протоколе 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
})
});