1 - Un élément n’est pas détectable à cause d’une WebView
Les sites web contiennent des WebViews. Avec ce type de vue, les éléments à l’intérieur ne sont pas toujours mis à jour. Par conséquent, il peut être difficile de détecter les éléments d’une page web.
Voici ce que vous pouvez faire dans ce cas :
S’assurer que vous utilisez chrome 110 pour être dans les mêmes conditions que notre banc de mesures
Pour cliquer sur un élément, cliquer d’abord à un endroit où il n’y a pas d'élément sur la page avec la fonction clickByPercent pour rafraîchir la page. Par exemple, s’il n’y a pas d'élément au milieu de la page, vous pouvez utiliser
clickByPercent,50,50
. Ensuite, vous pouvez essayer de cliquer sur l'élément attendu avec la fonction clickByText. Les fonctions clickByXY et clickByPercent sont à éviter car elles peuvent ne pas fonctionner sur un autre téléphone. Cependant, si les solutions ci-dessus ne permettent pas de détecter l'élément attendu, ces fonctions peuvent être utilisées.Pour attendre un élément, vous pouvez utiliser la ligne
setCompressedLayoutHierarchy,false
juste avant le wait
measureStart,CHRGT_contactPage clickByText,Go to the contact page setCompressedLayoutHierarchy,false waitUntilText,Contact page pause,${PAUSEAFTERLOAD} measureStop
Pour attendre un élément, si la première solution ne fonctionne pas, vous pouvez ajouter une pause entre les fonctions click et wait. Cela peut aider à mettre à jour les éléments à l’intérieur de la WebView.
measureStart,CHRGT_contactPage clickByText,Go to the contact page pause,${PAUSEAFTERLOAD} waitUntilText,Contact page pause,${PAUSEAFTERLOAD} measureStop
2 - La commande browserPrepareAndOpenForReference
ne fonctionne pas
Cette méthode est un peu spéciale et n'est utile que pour préparer le téléphone à la mesure. Elle ne fonctionnera pas nécessairement sur toutes les versions de Chrome et d'Android.
Cas 1 : utilisez le Test Runner pour configurer vos tests GDSL et le Test Bench
Si vous utilisez votre propre téléphone pour mettre en place vos tests GDSL, vous pouvez préparer Chrome manuellement sur votre téléphone en fermant tous les onglets, puis en fermant Chrome. Ensuite, vous pouvez remplacer la méthode browserPrepareAndOpenForReference
par la méthode launchBrowser
dans votre script GDSL. Cette méthode vous permettra d'ouvrir Chrome sans préparation.
Attention cependant, lorsque vous enverrez vos tests aux appareils distants sur le testbench pour obtenir des mesures, vous devrez vous rappeler de remettre cette méthode browserPrepareAndOpenForReference
dans votre script GDSL.
Cas 2 : utilisez Test Runner pour effectuer la mesure
Si vous souhaitez effectuer des mesures avec votre propre téléphone, vous devrez probablement installer une version de Chrome compatible avec toutes les commandes GDSL : chrome 110.
Pour changer la version de chrome sur votre téléphone android 10+, vous pouvez :
Fermez votre Chrome sur votre appareil
Télécharger la bibliothèque obligatoire pour chrome 110 trichrome-library
Connectez votre téléphone à votre PC
Ouvrez un terminal dans le répertoire où vous avez téléchargé l'apk et entrez la commande (si vous avez des difficultés, utilisez la complétion pour permettre à votre terminal de définir le chemin d'accès correct à l'apk)
adb install com.google.android.trichromelibrary_110.0.5481.65-548106533_minAPI29\(arm64-v8a,armeabi-v7a\)\(nodpi\)_apkmirror.com.apk
Téléchargez le paquet .apkm de chrome 110 ici : chrome 110
Décompressez le fichier .apkm
Connectez votre téléphone à votre PC
Ouvrez un terminal dans le répertoire de décompression
Entrez la commande
adb install-multiple -r -d *.apk
Ouvrez chrome et vérifiez qu'il fonctionne
Vous devez préparer votre chrome à utiliser les commandes GDSL
testrunner testdslcommand -c browserReset
Si l'installation de chrome 110 ne fonctionne pas, vous avez probablement un téléphone avec android <10 ou votre téléphone n'a pas de processeur arm64-v8a. Vous pouvez vérifier avec la commande adb shell getprop ro.product.cpu.abi
Dans ce cas, vous devez télécharger l'archive chrome 110 qui convient à votre appareil.
Dans ce tutoriel, nous proposons d'utiliser apkmirror. Greenspector ne peut être tenu responsable en cas de problème de sécurité. Nous pouvons seulement dire qu'apkmirror est une bonne alternative au playstore avec une communauté sérieuse. Seuls les membres de la communauté peuvent publier sur le store, il suffit d'installer une apk avec la même signature que votre chrome (la commande 'adb install' détectera si l'apk n'a pas été signée par google).