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

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.

 

Cas d’usage 4 : Je veux scroller horizontalement vers la droite

Cas d’usage 5 : Je veux scroller horizontalement vers la gauche

Cas d’usage 6 : Je veux scroller verticalement vers le haut