swipe
Desliza en una dirección específica dentro del viewport o elemento para aplicaciones web de escritorio/móvil Y aplicaciones nativas móviles.
El deslizamiento para aplicaciones nativas móviles se basa en el protocolo W3C-actions, simulando la presión y el movimiento de un dedo.
Esto es diferente del comando mobile: scrollGesture
para Android
o mobile: scroll
para iOS, que se basa en el protocolo del controlador Appium y está
disponible solo para plataformas móviles en el contexto NATIVE.
Este comando solo funciona con los siguientes componentes actualizados:
- Servidor Appium (versión 2.0.0 o superior)
appium-uiautomator2-driver
(para Android)appium-xcuitest-driver
(para iOS)
Asegúrate de que tu entorno Appium local o en la nube se actualice regularmente para evitar problemas de compatibilidad.
Evita usar las opciones from
y to
a menos que sea absolutamente necesario. Estas son específicas del dispositivo y pueden no funcionar de manera consistente en todos los dispositivos.
Usa la opción scrollableElement
para deslizamientos confiables dentro de un elemento.
Parámetros
Nombre | Tipo | Detalles |
---|---|---|
options opcional | object, boolean | opciones para browser.swipe() . Por defecto para web de escritorio/móvil: { direction: 'up', duration: 1500, percent: 0.95, scrollableElement: WebdriverIO.Element } |
options.direction opcional | string | Puede ser uno de down , up , left o right , por defecto es up . SOLO PARA APLICACIONES NATIVAS MÓVILES |
Down Punto de inicio: Colocas tu dedo hacia la parte superior de la pantalla. Movimiento: Deslizas tu dedo hacia abajo hacia la parte inferior de la pantalla. Acción: Esto también varía según el contexto: - En la pantalla de inicio o en aplicaciones, normalmente desplaza el contenido hacia arriba. - Desde el borde superior, a menudo abre el panel de notificaciones o configuraciones rápidas. - En navegadores o aplicaciones de lectura, se puede usar para desplazarse por el contenido. | ||
Left Punto de inicio: Colocas tu dedo en el lado derecho de la pantalla. Movimiento: Deslizas tu dedo horizontalmente hacia la izquierda.> Acción: La respuesta a este gesto depende de la aplicación: - Puede moverse al siguiente elemento en un carrusel o un conjunto de imágenes. - En un contexto de navegación, podría volver a la página anterior o cerrar la vista actual. - En la pantalla de inicio, generalmente cambia al siguiente escritorio o pantalla virtual. | ||
Right Punto de inicio: Colocas tu dedo en el lado izquierdo de la pantalla. Movimiento: Deslizas tu dedo horizontalmente hacia la derecha. Acción: Similar a deslizar hacia la izquierda, pero en la dirección opuesta: -- A menudo se mueve al elemento anterior en un carrusel o galería. - Se puede usar para abrir menús laterales o cajones de navegación en aplicaciones. - En la pantalla de inicio, normalmente cambia al escritorio virtual anterior. | ||
Up Punto de inicio: Colocas tu dedo hacia la parte inferior de la pantalla. Movimiento: Deslizas tu dedo hacia arriba hacia la parte superior de la pantalla.> Acción: Dependiendo del contexto, pueden ocurrir diferentes acciones: - En la pantalla de inicio o en una lista, esto generalmente desplaza el contenido hacia abajo. - En una aplicación de pantalla completa, podría abrir opciones adicionales o el cajón de aplicaciones. - En ciertas interfaces, podría activar una acción de 'actualización' o abrir una barra de búsqueda. | ||
options.duration opcional | number | La duración en milisegundos para el deslizamiento. Por defecto es 1500 ms. Cuanto menor sea el valor, más rápido será el deslizamiento. |
options.scrollableElement opcional | Element | Elemento que se utiliza para deslizar dentro. Si no se proporciona ningún elemento, utilizará el siguiente selector para iOS -ios predicate string:type == "XCUIElementTypeApplication" y el siguiente para Android //android.widget.ScrollView' . Si más elementos coinciden con el selector predeterminado, entonces por defecto seleccionará el primer elemento coincidente. SOLO PARA APLICACIONES NATIVAS MÓVILES |
options.percent opcional | number | El porcentaje del elemento desplazable (por defecto) para deslizar. Este es un valor entre 0 y 1. Por defecto es 0.95 .NUNCA deslices desde el extremo superior|inferior|izquierdo|derecho de la pantalla, podrías activar por ejemplo la barra de notificaciones u otras características del SO/App que pueden llevar a resultados inesperados. Esto no tiene efecto si se proporcionan from y to . |
Los valores a continuación SOLO tienen efecto si el scrollableElement NO se proporciona, de lo contrario se ignoran. | ||
options.from opcional | object | Las coordenadas x e y del inicio del deslizamiento. Si se proporciona un scrollableElement , entonces estas coordenadas no tienen efecto. |
options.from.x opcional | number | La coordenada x del inicio del deslizamiento. |
options.from.y opcional | number | La coordenada y del inicio del deslizamiento. |
options.to opcional | object | Las coordenadas x e y del final del deslizamiento. Si se proporciona un scrollableElement , entonces estas coordenadas no tienen efecto. |
options.to.x opcional | number | La coordenada x del final del deslizamiento. |
options.to.y opcional | number | La coordenada y del final del deslizamiento. |
Ejemplos
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
})
});