Résolution de problèmes Clic
1 - Le clic ne fonctionne pas et le script continue
Il arrive que les commandes de clic GDSL ne cliquent pas sur l'élément attendu. Cependant, si le script continue, cela signifie que l'élément a été trouvé.
Voici un exemple de script où le clic sur l'élément attendu ne fonctionne pas toujours :
waitUntilIdBeforeClick,android:id/button1
pause,500
Solution 1: Cliquez une deuxième fois sur l'élément si la première n'a pas fonctionné :
waitUntilIdBeforeClick,android:id/button1
pause,500
if,exists,id,android:id/button1
clickById,android:id/button1
fi
Solution 2: Cliquez sur l'élément exact
Si vous utilisez un clickByText
, utilisez clickByTextExact
. Comme il est expliqué dans la section Saisie de texte, il y a probablement un autre élément qui contient le texte que vous recherchez et le script clique sur cet élément.
Solution 2.1: Cliqez sur le nième élément exact
S'il y a plusieurs éléments contenant le même texte exact, utilisez la fonction findByTextExact
avec le paramètre de rang pour indiquer celui que vous voulez mettre en mémoire. Puis clickOnLastElementFound
.
2 - clickByClass ne trouve pas classe CSS
Explication : Le framework d'automatisation est basé sur uiautomator. Cette commande permet de cliquer sur un élément avec une classe android :
android.widget.EditText
android.widget.Button
android.view.View
Il ne faut pas confondre avec les classes CSS pour les sites web ou les vues web.
Solution: Trouvez la classe Android au lieu de la classe CSS
Lorsque vous effectuez une mesure et que vous obtenez une erreur, votre rapport de test contient un fichier dump.uix. Ce fichier contient les différents objets Android que l'application Chrome utilise pour afficher votre site web.
Vous pouvez alors rechercher des éléments par id, texte, classe ou description.