Tutoriel APPIUM pour Android & Test des applications mobiles iOS

Table des matières:

Anonim

Qu'est-ce qu'Appium?

APPIUM est un framework de test d'interface utilisateur pour applications mobiles open source librement distribué. Appium permet les tests d'applications natives, hybrides et Web et prend en charge les tests d'automatisation sur les appareils physiques ainsi que sur un émulateur ou un simulateur. Il propose des tests d'applications multiplateformes, c'est-à-dire qu'une seule API fonctionne pour les scripts de test des plates-formes Android et iOS.

Il n'a AUCUNE dépendance sur le système d'exploitation de l'appareil mobile. Parce qu'APPIUM a un framework ou un wrapper qui traduit les commandes Selenium Webdriver en commandes UIAutomation (iOS) ou UIAutomator (Android) en fonction du type d'appareil, et non de n'importe quel type de système d'exploitation.

Appium prend en charge tous les langages dotés de bibliothèques clientes Selenium telles que Java, Objective-C, JavaScript avec node.js, PHP, Ruby, Python, C #, etc.

Dans ce tutoriel, nous allons en apprendre davantage sur

  • Comment fonctionne APPIUM?
  • Prérequis pour utiliser APPIUM
  • Installez Appium Desktop:
  • Inspecteur APPIUM
  • Joindre l'émulateur Android à Appium
  • Cas de test APPIUM pour l'application Android native (calculatrice)
  • Limitations de l'utilisation d'APPIUM
  • Erreurs courantes et étapes de dépannage dans Appium

Comment fonctionne APPIUM?

  • Appium est un «serveur HTTP» écrit à l'aide d'une plate-forme Node.js et pilote iOS et une session Android à l'aide du protocole filaire Webdriver JSON. Par conséquent, avant d'initialiser le serveur Appium, Node.js doit être préinstallé sur le système.
  • Lorsque Appium est téléchargé et installé, un serveur est mis en place sur notre machine qui expose une API REST.
  • Il reçoit la demande de connexion et de commande du client et exécute cette commande sur les appareils mobiles (Android / iOS).
  • Il répond avec des réponses HTTP. Encore une fois, pour exécuter cette demande, il utilise les cadres d'automatisation des tests mobiles pour piloter l'interface utilisateur des applications. Un cadre comme: -
    • Instruments Apple pour iOS (les instruments sont disponibles uniquement dans Xcode 3.0 ou version ultérieure avec OS X v10.5 et version ultérieure)
    • API Google UIAutomator pour Android niveau 16 ou supérieur
    • Selendroid pour l'API Android de niveau 15 ou moins

Prérequis pour utiliser APPIUM

  1. Installez le SDK ANDROID (Studio) [Lien] -
  2. Installer JDK (Kit de développement Java) [Lien]
  3. Installer Eclipse [Link]
  4. Installer TestNg pour Eclipse [Lien]
  5. Installer le JAR du serveur Selenium [Lien]
  6. Bibliothèque cliente Appium [Lien]
  7. Informations sur l'application APK sur Google Play [Link]
  8. js (Non requis - Chaque fois que le serveur Appium est installé, il est fourni par défaut avec "Node.exe" et NPM. Il est inclus dans la version actuelle d'Appium.)
  9. Installez Appium Desktop

Installez Appium Desktop:

Appium Studio est une application GUI Open Source pour installer Appium Server. Il est livré avec tous les pré-requis pour installer et utiliser Appium Server. Il dispose également d'un inspecteur pour obtenir des informations de base sur vos applications. Il est livré avec un enregistreur pour créer un code standard pour automatiser vos applications mobiles.

Étape 1) Allez sur http://appium.io/ et cliquez sur Télécharger Appium.

Étape 2) Pour Windows, sélectionnez le fichier exe et téléchargez-le. Le téléchargement du fichier d'environ 162 Mo prendra du temps en fonction de la vitesse de votre connexion Internet.

Étape 3) Cliquez sur l'exe téléchargé.

Étape 4) Sur une machine Windows, il n'est pas nécessaire d'installer Appium. Il s'exécute directement à partir de l'exe. Une fois que vous cliquez sur l'exe, vous verrez l'image suivante pendant quelques minutes.

Pour Mac, vous devez installer le dmg

Étape 5) Ensuite, vous verrez la fenêtre de démarrage du serveur. Il remplit l'option d'hôte et de port par défaut que vous pouvez modifier. Il mentionne également la version d'Appium utilisée.

Étape 6) En cliquant sur le bouton Démarrer le serveur, un nouveau serveur est lancé sur l'hôte et le port spécifiés. La sortie du journal du serveur est affichée.

Étape 7) Cliquez sur Nouvelle fenêtre de session .

Étape 8) Vous pouvez entrer les capacités souhaitées et démarrer une session.

Inspecteur APPIUM

Semblable à l'outil d'enregistrement et de lecture Selenium IDE, Appium dispose d'un «inspecteur» pour enregistrer et lire. Il enregistre et lit le comportement natif de l'application en inspectant DOM et génère les scripts de test dans la langue souhaitée. Cependant, actuellement, il n'y a pas de support pour Appium Inspector pour Microsoft Windows. Sous Windows, il lance le serveur Appium mais ne parvient pas à inspecter les éléments. Cependant, la visionneuse UIAutomator peut être utilisée comme option pour l'inspection des éléments.

Étapes pour démarrer avec Appium Inspector sur une machine Mac: -

Étape 1) Téléchargez et démarrez votre serveur Appium avec l'adresse IP par défaut 0.0.0.0 et le port 4725.

  1. Sélectionnez le fichier source ou les fichiers .app de local à tester.
  2. Cochez la case "Chemin de l'application" pour activer le bouton "Choisir".

Étape 2) Maintenant, cliquez sur le bouton «Choisir» pour afficher et sélectionner le fichier de test à partir du lecteur local.

Étape 3) Démarrez Simulator sur une machine Mac.

Étape 4) Cliquez sur le bouton «Lancer» dans le coin supérieur droit, ce qui active une icône de couleur bleue. Encore une fois, cliquez sur cette icône de couleur bleue, cela ouvrira l'inspecteur et le simulateur Appium avec une application présélectionnée.

Étape 5) - Le lancement de votre inspecteur Appium affichera la hiérarchie des éléments dans une structure par colonne. En outre, un utilisateur peut appliquer des actions à l'aide de boutons tels que Tap, Swipe, etc.

Étape 6) Cliquez sur le bouton «Arrêter» pour arrêter l'enregistrement.

Joindre l'émulateur Android à Appium

Étape 1) Installez le SDK Android dans votre système.

Allez dans Panneau de configuration >> Système et sécurité >> Système et dans le panneau de gauche, cliquez sur «Paramètres système avancés». Dans la fenêtre contextuelle «Propriétés système», cliquez sur l'onglet «Avancé», puis sur le bouton «Variables d'environnement».

Étape 2) Maintenant, dans la fenêtre contextuelle «Variables d'environnement», double-cliquez sur «Chemin» et définissez la variable ANDROID_HOME qui pointe vers votre répertoire SDK. Dans le chemin, ajoutez le chemin complet du dossier SDK.

par exemple -

C: \ User \ ABC \ Desktop \ adt-bundled-windows-x86_64-20140321 \ sdk

Étape 3) Démarrez votre émulateur Android ou connectez n'importe quel appareil Android à votre système (assurez-vous que l'option de débogage Android est activée sur votre appareil Android. Pour vérifier l'option de débogage. Accédez aux paramètres de l'appareil >> Options du développeur >> Cochez l'option de débogage ).

Étape 4) Ouvrez l'invite de commande et accédez au répertoire \ platform-tools \ de votre SDK Android (par exemple, D: \ adt-bundle-windows-x86_64-20130514 \ sdk \ platform-tools).

Étape 5) - Exécutez la commande 'adb devices'. Vous pouvez voir votre appareil connecté répertorié dans la fenêtre d'invite de commandes. (Dans CMD write '> adb devices'- Cette commande listera les instances d'émulateur connectées. Ex: adb -s emulator-5554 install )

Étape 6) - Exécutez la commande 'adb start-server'. Il démarrera le serveur ADB qui sera utilisé par Appium pour envoyer des commandes à votre appareil Android.

Étape 7) Maintenant, accédez au répertoire Appium de votre système et démarrez Appium en cliquant sur un fichier Appium.exe.

Étape 8) Ne modifiez pas l'adresse IP ou le numéro de port et cliquez sur le bouton «Lancer». Votre console Appium démarre à 127.0.0.1:4723 comme indiqué ci-dessous.

Étape 9) Cliquez sur le bouton «Démarrer», le serveur Appium a commencé à fonctionner sur votre système.

Cas de test APPIUM pour l'application Android native (calculatrice)

Étape 1) ) Téléchargez le plugin ADT eclipse ou téléchargez ADT fourni séparément ici

Étape 2) Ouvrez Eclipse et créez un nouveau projet >> Package >> Classe

Étape 3) Importez la bibliothèque Selenium et Testng dans ce nouveau projet.

Étape 4) Créez maintenant un petit programme de test pour «Calculator.app» pour additionner deux nombres.

package src_Appium;import java.net.MalformedURLException;import java.net.URL;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;// import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteWebDriver;import org.testng.annotations. *;Calculatrice de classe publique {Pilote WebDriver;@Avant les courspublic void setUp () jette une exception MalformedURLException {// Configurer les fonctionnalités souhaitées et transmettre l'activité de l'application Android et le package d'application à AppiumCapacités DesiredCapabilities = new DesiredCapabilities ();capacités.setCapability ("BROWSER_NAME", "Android");capacités.setCapability ("VERSION", "4.4.2");capacités.setCapability ("deviceName", "Emulator");capacités.setCapability ("platformName", "Android");capacités.setCapability ("appPackage", "com.android.calculator2");// Ce nom de package de votre application (vous pouvez l'obtenir à partir de l'application info apk)capacités.setCapability ("appActivity", "com.android.calculator2.Calculator"); // Ceci est l'activité du lanceur de votre application (vous pouvez l'obtenir à partir de l'application apk info)// Créer une instance RemoteWebDriver et se connecter au serveur Appium// Il lancera l'application Calculatrice sur un appareil Android en utilisant les configurations spécifiées dans Capacités souhaitéesdriver = new RemoteWebDriver (nouvelle URL ("http://127.0.0.1:4723/wd/hub"), fonctionnalités);}@Testpublic void testCal () lève une exception {// localiser le texte sur la calculatrice en utilisant By.name ()WebElement deux = driver.findElement (Par.nom ("2"));two.click ();WebElement plus = driver.findElement (Par.nom ("+"));plus.click ();WebElement quatre = driver.findElement (Par.nom ("4"));quatre.cliquez ();WebElement equalTo = driver.findElement (By.name ());equalTo.click ();// localise la zone d'édition de la calculatrice en utilisant By.tagName ()Résultats WebElement = driver.findElement (By.tagName ("EditText"));// Vérifiez la valeur calculée dans la zone d'éditionassert results.getText (). equals ("6"): "La valeur réelle est: + results.getText () + "ne correspond pas à la valeur attendue: 6";}@Après les coursdémontage public void () {// ferme l'applicationdriver.quit ();}}

Appium Server et émulateur Android à partir de 'AVD Manager' et cliquez sur Exécuter >> TestNG. Le programme ci-dessus exécutera le 'Calculator.app' sur l'émulateur sélectionné et le résultat affiché sous la console Eclipse à l'aide d'un framework TestNG.

Limitations de l'utilisation d'APPIUM

  1. Appium ne prend pas en charge les tests de la version Android inférieure à 4.2
  2. Prise en charge limitée des tests d'applications hybrides. par exemple: impossible de tester l'action de basculement de l'application de l'application Web vers native et vice-versa.
  3. Pas de support pour exécuter Appium Inspector sur Microsoft Windows.

Erreurs courantes et étapes de dépannage dans Appium

Erreur Étapes de dépannage
1. erreur: - Les fonctionnalités souhaitées suivantes sont requises, mais n'ont pas été fournies: nom de l'appareil, nom de la plateforme 1. Ajoutez les fonctionnalités souhaitées: nom du périphérique, nom de la plate-forme dans le script APPIUM. par exemple: capabilities.setCapability ("deviceName", "Emulator"); capacités.setCapability ("platformName", "Android");
2. erreur: impossible de trouver adb. Veuillez définir la variable d'environnement ANDROID_HOME avec le chemin du répertoire racine du SDK Android. 2. Vous devez probablement configurer le chemin du répertoire racine du SDK dans le système "Variables d'environnement" dans la colonne "Chemin".
3.erreur: org.openqa.selenium.SessionNotCreatedException: Une nouvelle session n'a pas pu être créée. 3. Vous devez définir un chemin d'application correct et redémarrer le serveur Appium.
4. Comment trouver un élément DOM ou XPath dans une application mobile? 4. Utilisez 'UIAutomatorviewer' pour trouver l'élément DOM pour l'application Android.