introduction appium
Ce didacticiel explique ce qu'est Appium, son architecture, son flux de travail et comment utiliser cet outil open-source pour l'automatisation mobile sur Android et iOS:
Appium est un outil d'automatisation mobile open source qui fournit une automatisation sur des plates-formes comme Android, iOS, etc.
Il prend également en charge l'automatisation à l'aide de plusieurs langages de programmation tels que Java, PHP, Perl, Python, etc.Ainsi, les utilisateurs peuvent utiliser n'importe quel langage de programmation avec lequel ils sont à l'aise et écrire des scripts automatisés.
=> Regardez la série de formation Simple Appium ici.
Ce que vous apprendrez:
Qu'est-ce que Appium?
Voici un didacticiel vidéo:
Aperçu des applications
Toutes les applications peuvent être automatisées, y compris les applications natives, hybrides et Web.Vous trouverez ci-dessous un aperçu simple des différents types d'applications.
- Applications natives: Ces applissont écrits à l'aide des SDK iOS, Android ou Windows.Ceux-ci ne sont accessibles qu'après l'installation dans l'appareil. Par exemple, Skype, qui ne peut être utilisé qu'après l'installation sur l'appareil. Nous ne pouvons pas ouvrir l'application via le navigateur.
- la toile Applications: Applications Web mobilespeut être consulté à l'aide d'un navigateur mobile.Les applications Web ne sont accessibles que via le navigateur. Par exemple, softwaretestinghelp.com est accessible uniquement via le navigateur. Nous n'avons pas d'application distincte disponible pour le site Web.
- Hybride Applications: Cesapplicationsont un wrapper autour d'une «vue Web» - un contrôle natif qui permet l'interaction avec le contenu Web.Ceux-ci peuvent être installés sur l'appareil et accessibles via l'URL du navigateur. Par exemple, Amazon peut être installé en tant qu'application distincte dans l'appareil et peut également être consulté via le navigateur en tant que Amazone.
Plus important encore, cet outil est «multiplateforme» - ce qui vous permet d'écrire des tests sur plusieurs plates-formes (iOS, Android, Windows), en utilisant la même API. Cela permet la réutilisation du code entre les appareils iOS, Android et Windows.
Architecture des époques
Il s'agit d'un serveur HTTP écrit en langage de programmation Node.js qui gère les sessions WebDriver. Le serveur Appium reçoit les requêtes HTTP des bibliothèques clientes au format JSON. Les demandes sont ensuite traitées de différentes manières, en fonction de la plateforme sur laquelle elle s'exécute.
Il suit l'architecture client-serveur. Il contient 3 composants:
- client appium
- serveur appium
- Appareil final
# 1) Client Marcus
Le code scripté d'automatisation est ce que nous appelons Appium Client.
ajouter une chaîne au tableau de chaînes java
Le code est scripté dans n'importe quel langage de programmation tel que PHP, Java, Phyton, etc. Ce script d'automatisation contient les détails de configuration de l'appareil mobile et de l'application. Parallèlement à cela, la logique / le code pour exécuter les cas de test de l'application sont scriptés.
# 2) Serveur d'époques
Le serveur Appium est écrit en utilisant le langage de programmation Node.js.Il reçoit les demandes de connexion et de commande du client Appium au format JSON et exécute cette commande sur les appareils mobiles. Le serveur doit être installé sur la machine et est démarré avant d'appeler le code d'automatisation.
Le serveur interagit avec diverses plates-formes telles que iOS et Android. Il crée une session pour interagir avec les appareils finaux des applications mobiles. Il s'agit d'un serveur HTTP écrit en langage de programmation Node.js qui lit les requêtes HTTP des bibliothèques clientes et envoie ces requêtes à la plateforme appropriée.
Pour démarrer le serveur, les utilisateurs doivent télécharger la source ou l'installer directement à partir de Npm. Il fournit également la version GUI du serveur. Vous pouvez le télécharger depuis l'Appium officiel placer .
Dans le chapitre suivant, nous discuterons de la version GUI plus en détail. L'un des plus grands avantages de cet outil est que le code que vous utilisez pour interagir avec lui est écrit dans de nombreux langages tels que Java, C #, Ruby, Python, etc., car Appium est l'API REST au cœur.
# 3) Périphérique final
Il s'agit principalement d'un appareil mobile en temps réel ou d'un émulateur. Les scripts d'automatisation sont exécutés dans le terminal par le serveur Appium par les commandes du client.
liste des langages de programmation de haut niveau
Le flux de travail de l'architecture Appium
Le client Appium qui contient les détails de configuration et le script d'automatisation des scénarios de test envoie les commandes au serveur au format JSON. Le script d'automatisation est converti au format JSON par des fichiers jar intégrés dans le client.
Appium Server reconnaît alors la commande et établit une connexion avec le terminal correspondant. Une fois la connexion établie, elle déclenche l'exécution de cas de test dans le terminal. Le terminal répond à la demande sous forme de HTTP à l'Appium.
Au fur et à mesure que les cas de test sont exécutés dans l'appareil mobile / l'émulateur, il remplit le journal de toutes les actions effectuées dans l'appareil / l'émulateur.
Fonctionnement d'Appium sur iOS
Cet outil utilise l'API UIAutomation d'Apple pour interagir avec les éléments de l'interface utilisateur de l'application sur un appareil iOS. UIAutomation est une bibliothèque JavaScript fournie par Apple Company. Il utilise ces bibliothèques pour automatiser les applications sous iOS.
Lorsque nous exécutons les scripts de test, les commandes des scripts de test sont prises sous la forme de JSON via une requête HTTP au serveur Appium. Le serveur envoie la commande à ces instruments et les instruments recherchent le fichier bootstrap.js.
Ensuite, ces commandes sont exécutées dans le fichier bootstrap.js dans l'environnement des instruments iOS. Après l'exécution de la commande, le client renvoie le message (succès / échec) au serveur Appium avec les détails du journal de la commande exécutée.
Fonctionnement d'Appium sur Android
Appium utilise le framework UIAutomator pour interagir avec les éléments d'interface utilisateur de l'application sur un appareil Android. UIAutomator est un framework développé par les développeurs Android pour tester son interface utilisateur.
Ici, au lieu de l'API UIAutomation comme nous l'avons vu dans Apple, nous avons un UIAutomator / Selendroid et bootstrap.jar à la place du fichier bootstrap.js. Il prend en charge toutes les versions d'Android supérieures ou égales à 17; pour les versions antérieures d'Android, Appium utilise le framework Selendroid.
Lorsque nous exécutons les scripts de test, Appium envoie la commande au format JSON à UIAutomator ou Selendroid en fonction de la version Android. Ici, bootstrap.jar agit comme un serveur TCP, que nous pouvons utiliser pour envoyer la commande de test pour exécuter l'action sur l'appareil Android en utilisant UIAutomator / Selendroid.
Conclusion
Dans ce chapitre, nous avons acquis une compréhension de base d'Appium, c'est-à-dire l'architecture, le flux de travail et le fonctionnement d'Appium sur iOS / Android.
Dans le chapitre suivant, nous verrons comment configurer Appium et d'autres logiciels de base à installer pour Mobile Automation sur de vrais appareils.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Créer des tests Appium pour une application Android
- Introduction à Appium Studio: avantages et fonctionnalités clés
- Exécution de vos tests Appium en parallèle à l'aide d'Appium Studio pour Eclipse
- Création de tests d'epochs à l'aide d'epochs Studio pour Eclipse
- Appium Studio pour Eclipse: l'automatisation Appium / Selenium de bout en bout d'Eclipse
- Tutoriel Appium pour tester les applications mobiles Android et iOS
- Connecter de vrais appareils iOS et Android du Cloud à Appium Studio
- Créer un test Appium pour une application iOS