Ce qu’est une WebView et comment la tester

La commodité est quelque chose dont nous ne pouvons jamais être pleinement satisfaits. C’est pourquoi les développeurs de logiciels sont toujours amenés à repousser leurs limites pour créer une meilleure expérience utilisateur, sans compromettre les fonctionnalités. Tout cela dans le but d’éviter le désabonnement dans le monde concurrentiel d’aujourd’hui. Les gens veulent de la commodité et c’est pourquoi les applications hybrides ont été bien accueillies.

Qu’est-ce qui est si unique dans les applications hybrides ? Les WebViews!

Applications hybrides

Comme leur nom l’indique, elles sont un mélange d’applications natives et Web. Elles sont disponibles dans les magasins d’applications pour le téléchargement et nécessitent une authentification d’accès de l’appareil comme les applications natives, mais elles ont également un navigateur intégré à l’application (WebView) pour le rendu du HTML. Instagram est un bon exemple d’application hybride.

Souvenez-vous du temps où, pour accéder à n’importe quel lien tiers, nous l’ouvrions dans un nouveau navigateur sur l’appareil, ce qui avait pour conséquence de nous éloigner de l’application que nous voulions utiliser ? C’était un désastre pour l’UX, qui a été résolu en créant une fenêtre de navigateur dans l’application pour faciliter l’accès aux pages Web de tiers dans le cadre de la mise en page de l’activité. Bravo aux WebViews !

Pourquoi avez-vous besoin de WebViews ?

  • Elles permettent un meilleur contrôle de l’interface utilisateur de votre application.
  • Vous n’avez pas besoin de mettre à jour l’application entière si vous voulez juste mettre à jour le contenu de l’application, si, par exemple, vous souhaitez faire connaître une vente à venir sur votre application ou une autre offre excitante.
  • Vous n’êtes pas poussé sur une autre application tierce, mais, plutôt, vous êtes redirigé vers un navigateur in-app qui tire le contenu du web pour vous. Cela vous permet de rester dans l’application prévue. Prenez l’exemple d’Instagram, où vous devez glisser vers le haut dans certaines stories et vous êtes redirigé vers une page Web via un navigateur in-app, plutôt que d’ouvrir le contenu dans Chrome, Safari, Firefox ou tout autre navigateur. Vous pouvez naviguer librement dans le contenu sur la page web redirigée en faisant défiler vers le haut/bas, en zoomant/dézoomant, ou en recherchant un texte.
  • Les WebViews permettent un développement multiplateforme résultant en une réduction des coûts de développement et une flexibilité pour le développeur. Note : Nous ne pouvons cependant pas faire en sorte qu’une seule build d’une application fonctionne sur plusieurs OS. Nous pouvons seulement faciliter le développement d’une autre build avec l’aide d’extensions web à travers HTML, CSS, JavaScript, etc.
  • Les entreprises visent souvent à construire une application wrapper d’une application web existante. En faisant cela, les entreprises visent à créer une présence dans les magasins d’applications avec comparativement moins d’efforts. De plus, des frameworks comme Ionic vous permettent d’ajouter une application à l’app store et de la déployer sur le web mobile en tant que PWA.

Pour générer une WebView, un développeur doit :

  • Développer une instance d’une classe webview.
  • Embarquer un navigateur dans votre application.
  • Ajouter des fonctionnalités de navigateur à l’aide d’une bibliothèque WebView.
  • Ajouter une permission internet dans le fichier Android Manifest.
  • Ajouter le code du WebView pour ouvrir un navigateur in-app.

Test des WebViews – Désigne la création et l’exécution de cas de test pour vérifier les mécanismes de fonctionnement efficaces des WebViews.

Prenez note des éléments suivants pendant le test des WebViews :

  • Vérifiez si l’application répond selon son comportement prévu en interrompant le chargement de la page web.
  • Si votre contenu comprend des adresses de courriel hyperliées dans la WebView, alors assurez-vous que ces hyperliens ouvrent l’application de messagerie de votre appareil lorsqu’on y touche.
  • Testez de la même manière un numéro de téléphone hyperlié – achemine-t-il l’utilisateur vers l’application ou non ? En outre, comment cet hyperlien répond-il si une carte SIM n’est pas insérée dans l’appareil ?
  • Tester la réponse de WebView dans différents modes de réseau – 2G, 3G, WiFi, LTE.
  • Les caractères spéciaux doivent également être testés. En même temps que le zoom avant/arrière, la navigation dans le contenu web en faisant défiler vers le haut/bas ou la navigation dans l’écran en faisant défiler vers la gauche/droite.
  • Tester la tolérance de WebView contre les facteurs externes comme les SMS, la baisse du signal, les notifications, l’appel, etc.
  • Tester le comportement de votre application lorsqu’une application externe est lancée via un lien hypertexte depuis votre contenu web.
  • Vary orientation of your device and test that your web content is able to support them.
  • Test if the graphics display is satisfactory.
  • Compress the browser window and see if the text is being compressed appropriately.
  • A cross-browser platform will be very helpful in testing the above-mentioned tips to test. Elle permettra également de se faire une idée de la manière dont votre WebView est présenté au public ciblé.

Comment effectuer des tests de WebView

Espresso Web pour Android WebView – Cet outil aide à examiner et à contrôler le comportement des composants d’interface utilisateur WebView en réutilisant les Atoms de l’API WebDriver. C’est l’un des outils les plus utilisés pour tester les applications hybrides. Il est nécessaire pour vérifier l’intégration des composants UI natifs d’une application et de ses composants UI WebView.

Avant d’utiliser Espresso Web, vous devez analyser en profondeur le code source de votre site web pour déterminer les crochets de ses méthodes. C’est pourquoi il pourrait devenir très complexe pour les grands sites web.

Approche alternative

Une approche différente consisterait à oublier le code tiers et à se concentrer uniquement sur le code basé sur Android. Fondamentalement, une WebView cartographie les éléments d’un site web ; permettant à l’utilisateur d’interagir avec eux à travers les objets Android View et leurs extensions. Ces vues n’ont pas d’ID, ce qui les rend inaccessibles avec findViewById(int id), et vous ne pouvez pas non plus accéder à ces ID dans votre package d’application.

Cela ne signifie pas que vous ne pouvez pas les suivre. Vous le pouvez avec l’aide d’Android Device Monitor, un outil autonome destiné à fournir une interface utilisateur pour aider de multiples outils d’analyse et de débogage d’applications Android.

  • Vous devez prendre un instantané de chaque écran sur l’émulateur avec Android Device Monitor.
  • Ayez une idée de la façon dont les WebViews sont structurées en interne.
  • Exécutez des actions sur elles avec l’aide d’UiAutomator.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.