Résolution de problèmes web

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.

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.

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

  • Ouvrez chrome et vérifiez qu'il fonctionne

  • Vous devez préparer votre chrome à utiliser les commandes GDSL

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).

Pour changer la version de chrome sur votre téléphone sous Android 10+, vous pouvez faire :

  • 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)

  • 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

  • Ouvrez chrome et vérifiez qu'il fonctionne

  • Vous devez préparer votre chrome à utiliser les commandes GDSL :

  • Fermez votre Chrome sur votre appareil

  • Connectez votre téléphone à votre PC

  • Téléchargez le paquet .apkm de chrome 110 ici : Chrome 110

  • Décompressez le fichier .apkm

  • Ouvrez un terminal dans le répertoire de décompression

  • Ouvrez chrome et vérifiez qu'il fonctionne

  • Vous devez préparer votre chrome à utiliser les commandes GDSL :