Méthodes de scroll et swipe
MAJ 5 nov 2024
1 - Introduction
Il existe 2 types de méthodes pour naviguer sur l'écran :
Scroll
Swipe
Différences
Scroll | Swipe |
---|---|
Le doigt est posé sur l'écran et glisse maintenu. | Le doigt est posé sur l'écran et glisse sans être maintenu enfoncé le long du défilement. |
S'appuie sur le premier élément de vue "scrollable". | Il n'est pas basé sur des éléments de la vue, mais uniquement sur les coordonnées de l'écran. |
Si vous souhaitez vous rendre à un endroit précis de la page sans que le geste soit important, préférez les méthodes de type "swipe".
2 - Focus sur le Swipe
Le swipe est un glissement du doigt entre le point A et le point B de l'écran.
Les coordonnées des points A et B sont définies en pourcentage de la largeur de l'écran pour l'abscisse et en pourcentage de la hauteur de l'écran pour l'ordonnée :
percStartX : largeur d'écran du point A
percStartY : hauteur d'écran du point A
percEndX : largeur d'écran du point B
percEndY : hauteur d'écran du point B
Exemple avec l'image ci-dessous : A (90%, 50%) et B (10%, 50%).
Ce geste de balayage vers le bas de l'écran peut être effectué par les méthodes GDSL suivantes :
swipeDownward
# swipeDownward(percX, percStartY)
swipeDownward,50,90
# swipeVertical(percStartY, percEndY, percX)
swipeVertical,90,10,50
percX par défaut est 50. Les 2 points A et B auront l'absisse 50% : (percStartX = percEndX = 50)
percStartY par défaut swipe des coordonnées A (X 50%, Y 90%) aux coordonnées B (X 50%, Y 10%).
3 - Focus sur le Scroll
Cas des sites web
Pour tous les sites web, l'application Chrome sur le téléphone interprète le site web à l'aide d'une webview.
Pour les sites web, il y a souvent un élément du dump avec la classe "android.webkit.Webview" avec l'information scrollable = true. Cet élément est généralement le premier élément du dump qui est "scrollable".
Nous pouvons alors faire défiler l'écran à l'aide des méthodes de type scroll.
Cas des applications mobiles
Pour les applications, il existe généralement un élément dump de la classe "android.support.v7.widget.RecyclerView" qui peut être scrollé.
4 - Liste des commandes scrollet swipe
5 - Cas d’usage
Voici un diagramme montrant les méthodes qui peuvent être utilisées pour faire défiler l'écran dans la direction souhaitée.
Cas d’usage 1 : Je veux naviguer vers le bas de l'écran
Situation 1 : Je veux juste faire défiler mon écran vers le bas, j'ai donc besoin d'une méthode facile à utiliser et sans paramètres.
Voici les deux méthodes les plus simples :
# Swipe des coordonnées A (X 50%, Y 90%) aux coordonnées B (X 50%, Y 10%)
swipeDownward
# Défilement de l'écran vers le bas
scrollDownward
Situation 2 : Lorsque je swipe, l'automatisation semble cliquer sur un élément au lieu de glisser.
Dans ce cas, vous pouvez déplacer le balayage vers la gauche ou la droite pour que le geste ne soit plus central avec X 50%.
# Swipe des coordonnées (X 30%, Y 90%) aux coordonnées (X 30%, Y 10%)
swipeDownward,30
Situation 3 : Je veux faire défiler l'écran vers le bas en choisissant la longueur de défilement, je n'ai pas besoin d'aller aussi bas que la méthode par défaut.
Plus la différence d'ordonnées entre le point A et le point B est grande, plus l'écran défilera vers le bas.
Exemple
Situation 4 : Pour mes différentes itérations de test, à chaque fois que je swipe, je n'arrive pas toujours au même endroit sur l'écran, ce qui bloque mon automatisation.
Dans ce cas, il faut utiliser la méthode qui permet de définir complètement le swipe et de modifier la durée du scroll (vitesse de défilement).
Plus le temps de défilement augmente, plus l'action arrivera lentement au même point de l'écran. En effet, une action rapide nécessite plus de traitement sur le téléphone et dépend donc davantage de son occupation au moment du défilement (CPU utilisé, par exemple), ce qui peut entraîner de petites différences entre chaque itération du test.
Cas d’usage 2 : Je veux atteindre un texte à l'écran
Situation 1 : Je veux atteindre le texte en bas de l'écran
Situation 2 : Je suis au milieu de l'écran et je veux atteindre le texte avant ou après ma position.
Cas d’usage 3 : Je veux aller en bas de l'écran
Cette méthode permet de faire défiler la page jusqu'à 20 fois pour atteindre la fin de la page.
Elle peut être utilisée sans paramètres.
Si cette fonction ne fonctionne pas, cela peut être dû aux facteurs suivants :
Nombre maximal de scrolls atteint
Élément scrollable qui ne défile pas jusqu'au bas de la page
Nombreuses vidéos lancées pendant le défilement.
Dans ce cas, il faut utiliser plusieurs fois les méthodes de balayage pour atteindre le bas de l'écran.