Architecture Appium pour les tests d'applications mobiles

Publié: 2020-06-26

Table des matières

Présentation de Appia

Appium est un outil/framework gratuit de test d'applications mobiles qui automatise les applications mobiles iOS et Android. Appium est une architecture client-serveur qui accepte le code de test écrit en Java, Python, Ruby, JavaScript, etc.

En son cœur, Appium est un serveur Web écrit en langage de programmation Node.js qui crée des sessions iOS et Android à l'aide du protocole filaire JSON.

Appium Server effectue les actions suivantes

  • Reçoit une connexion du client sous la forme d'un objet JSON sur HTTP
  • Initier une session, puis renvoyer l'ID de session
  • Écoute les commandes émises
  • Exécute ces commandes sur un appareil mobile
  • Répond avec une réponse HTTP

La source

Concepts clés Appium

Avant de plonger dans l' architecture Appium , comprenons d'abord les concepts clés associés à l' architecture Appium .

Client Appium

Le client Appium est un code de script automatisé écrit dans n'importe quel langage avec lequel vous êtes à l'aise (comme PHP, Java , Phyton, etc.). Le client Appium contient les détails de configuration de l'appareil mobile et de l'application ainsi que la logique/le code pour exécuter les cas de test.

Serveur Appium

Le serveur Appium est un serveur HTTP écrit dans le langage de programmation Node.js qui reçoit les demandes de connexion et de commande du client Appium au format JSON et exécute ces commandes sur un appareil mobile. Appium Server est démarré avant d'invoquer le code d'automatisation.

Le serveur interagit avec les plates-formes iOS et Android et crée une session pour interagir avec les terminaux des applications mobiles.

Lis : Top 20 des idées et des sujets de projets Android les plus tendances pour les débutants

Appareil final

L'appareil final est principalement un appareil mobile en temps réel ou un émulateur. Les scripts automatisés sont exécutés dans l'appareil final par le serveur Appium par les commandes du client.

Protocole filaire JSON

Dans l'architecture Appium, le protocole filaire JSON est un mécanisme de transport utilisé pour établir la communication entre le client Appium et le serveur Appium. Ce protocole contrôle le comportement de différents appareils mobiles au cours d'une session. Il s'agit d'un ensemble de points de terminaison prédéfinis exposés via l'API RESTful. Par exemple, si un client souhaite envoyer des données à un serveur, le client les convertit en un objet JSON et les envoie au serveur. Le serveur analyse ensuite l'objet JSON reçu et le reconvertit en données à utiliser.

Architecture Appium

Comprenons maintenant l' architecture d'Appium .

Comme mentionné ci-dessus, le serveur Appium est un serveur HTTP qui lit les requêtes HTTP des bibliothèques clientes au format JSON et envoie ces requêtes à la plate-forme appropriée. Le serveur Appium reconnaît ces demandes et crée une session d'automatisation avec le terminal correspondant. Une fois la session créée, le serveur Appium lance l'exécution des cas de test dans l'appareil final.

Le serveur Appium gère les requêtes différemment pour iOS et Android, selon la plate-forme sur laquelle il s'exécute. Les sections suivantes expliquent comment Appium exécute les commandes différemment sur ces plates-formes.

Appium fonctionnant sur un appareil iOS

Sur un appareil iOS, Appium utilise l'API UIAutomation (bibliothèque JavaScript fournie par Apple Company) pour se connecter aux éléments de l'interface utilisateur de l'application.

La figure d'architecture Appium iOS ci-dessus décrit l' architecture Appium pour l'automatisation iOS. Décodons pas à pas la figure de l'architecture iOS Appium :

  • Le client Appium communique avec le serveur Appium à l'aide du protocole filaire JSON et envoie la commande au format JSON au serveur.
  • Le serveur établit alors une connexion avec le client et transmet la demande à l'ICS (Instruments Command Server). Le serveur Appium transmet également un fichier bootstrap.js à l'appareil iOS. ICC (Instruments Command client) récupère ensuite la commande et l'exécute dans le fichier bootstrap.js dans l'environnement de l'appareil iOS.
  • Une fois l'opération ci-dessus terminée, les détails du journal de la commande exécutée sont renvoyés au serveur par le client.

Appium fonctionnant sur un appareil Android

Sur un appareil Android, Appium utiliserait le framework UIAutomator développé par les développeurs Android pour interagir avec les éléments de l'interface utilisateur de l'application. L'UI Automator est un framework utilisé pour tester l'interface utilisateur.

La figure d'architecture Appium Android ci-dessus décrit l'architecture Appium pour l'automatisation Android. Les figures ci-dessus remplacent bootstrap.js par bootstarp.jar.

Apprendre : Android SDK : un didacticiel détaillé pour les débutants

Décodons pas à pas la figure de l'architecture Android Appium

  • Le client Appium communique avec le serveur Appium à l'aide du protocole filaire JSON et envoie la commande au format JSON au serveur.
  • Le serveur Appium établit alors une connexion avec le client et transmet la demande au contrôleur ICS UiAutomator. Le serveur Appium transmet également un fichier bootstrap.jar à l'appareil Android. Commande UiAutomator, le client récupère ensuite la commande et l'exécute dans le fichier bootstrap.jar dans l'environnement de l'appareil Android.
  • Une fois l'opération ci-dessus terminée, les détails du journal de la commande exécutée sont renvoyés au serveur Appium par le client.

Lisez aussi : Développeur Full-Stack vs Android : lequel choisir

Conclusion

Appium est sans aucun doute l'une des plateformes les plus populaires pour les tests d'applications mobiles. De loin, vous avez appris la vue d'ensemble de l' architecture , du flux de travail et du fonctionnement d'Appium sur les plates-formes iOS et Android.

Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le diplôme PG upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels en activité et offre plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'anciens élèves de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Préparez-vous à une carrière d'avenir

MISE À NIVEAU ET DIPLÔME PG DE L'IIIT-BANGALORE EN DÉVELOPPEMENT LOGICIEL FULL STACK
Appliquer maintenant