Tutoriel APPIUM pour les tests d'applications mobiles Android et iOS

Qu'est-ce que Appium?

APPIUM est une interface utilisateur d'application mobile open source distribuée gratuitement Essais cadre. Appium permet de tester des applications natives, hybrides et Web et prend en charge les tests d'automatisation sur des 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 plateformes Android et iOS.

Il a NON dépendance au système d’exploitation de l’appareil mobile. Parce qu'APPIUM a un framework ou un wrapper qui traduit Sélénium Commandes Webdriver dans les 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 client Selenium telles que Java, Objective-C, JavaScript avec node.js, PHP, Ruby, Python, C # et ainsi de suite

Comment fonctionne APPIUM ?

  • Appium est un « serveur HTTP » écrit en utilisant un Node.js plate-forme et pilote iOS et une session Android en utilisant le 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 configuré 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 requête, il utilise les frameworks d'automatisation des tests mobiles pour piloter l'interface utilisateur des applications. Un cadre comme : -
    • Apple Instruments pour iOS (les instruments sont disponibles uniquement dans Xcode 3.0 ou later avec OS X v10.5 et later)
    • Google UIAutomator pour Android API niveau 16 ou supérieur
    • Selendroid pour Android API niveau 15 ou moins

Prérequis pour utiliser APPIUM

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

Installer Appium bureau

Appium Studio est une application GUI Open source pour installer Appium Server. Il est fourni 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 passe-partout pour automatiser vos applications mobiles.

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

Installer Appium bureau

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

Installer Appium bureau

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

Installer Appium bureau

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

Installer Appium bureau

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.

Installer Appium bureau

É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 s'affiche.

Installer Appium bureau

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

Installer Appium bureau

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

Installer Appium bureau

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 des applications natives en inspectant le DOM et génère les scripts de test dans n'importe quel langage souhaité. Cependant, il n'existe actuellement aucune prise en charge pour Appium Inspector pour Microsoft Windows. En 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 inspecter les éléments.

Étapes pour démarrer avec Appium Inspector sur un ordinateur 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 en local à tester.
  2. Vérifiez la vérification « Chemin de l'application »box pour activer le bouton « Choisir ».

Étape 2)Maintenant, cliquez sur le bouton « Choisir » pour avoir la possibilité de parcourir et de sélectionner le fichier de test sur le lecteur local.

Inspecteur APPIUM

Étape 3) Démarrez Simulator sur un ordinateur 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 Appium et le simulateur avec une application présélectionnée.

Inspecteur APPIUM

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

Inspecteur APPIUM

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

Attacher l'émulateur Android à Appium

Étape 1) Installez le SDK Android sur 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 cliquez sur le bouton « Variables d'environnement ».

Attacher l'émulateur Android à Appium

É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

Attacher l'émulateur Android à Appium

É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 à Paramètres de l'appareil >> Options du développeur >> Cochez « 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 « périphériques adb ». Vous pouvez voir votre appareil connecté répertorié dans la fenêtre d'invite de commande. (Dans CMD, écrivez '>adb devices' - Cette commande listera les instances d'émulateur connectées. Par exemple : adb –s emulator-5554 install )

Attacher l'émulateur Android à Appium

Étape 6)– Exécutez la commande 'adb start-server'. Cela 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.

Attacher l'émulateur Android à Appium

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

Cas de test APPIUM pour application Android native (calculatrice)

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

Étape 2) Ouvert Eclipse et créer un nouveau projet >> Package >> Classe

Étape 3) Importez la bibliothèque Selenium et Tester à l'intérieur de 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.*;


public class Calculator {
WebDriver driver;

@BeforeClass
public void setUp() throws MalformedURLException{
	//Set up desired capabilities and pass the Android app-activity and app-package to Appium
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability("BROWSER_NAME", "Android");
	capabilities.setCapability("VERSION", "4.4.2"); 
	capabilities.setCapability("deviceName","Emulator");
	capabilities.setCapability("platformName","Android");
 
   
   capabilities.setCapability("appPackage", "com.android.calculator2");
// This package name of your app (you can get it from apk info app)
	capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app)
//Create RemoteWebDriver instance and connect to the Appium server
 //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities
   driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void testCal() throws Exception {
   //locate the Text on the calculator by using By.name()
   WebElement two=driver.findElement(By.name("2"));
   two.click();
   WebElement plus=driver.findElement(By.name("+"));
   plus.click();
   WebElement four=driver.findElement(By.name("4"));
   four.click();
   WebElement equalTo=driver.findElement(By.name("="));
   equalTo.click();
   //locate the edit box of the calculator by using By.tagName()
   WebElement results=driver.findElement(By.tagName("EditText"));
	//Check the calculated value on the edit box
assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6";

}

@AfterClass
public void teardown(){
	//close the app
	driver.quit();
}
}

Serveur Appium et émulateur Android à partir de « AVD Manager » et cliquez sur Exécuter >> TestNG. Le programme ci-dessus exécutera « Calculator.app » sur l’émulateur sélectionné et le résultat sera affiché sous Eclipse console utilisant un framework TestNG.

Limites de l'utilisation d'APPIUM

  1. Appium ne prend pas en charge les tests des versions Android inférieures à 4.2
  2. Prise en charge limitée des tests d'applications hybrides. Ex : impossible de tester l'action de basculement de l'application de l'application web vers l'application native et vice-versa.
  3. Aucune prise en charge pour exécuter Appium Inspector sur Microsoft Windows.

Erreurs courantes rencontrées et étapes de dépannage dans Appium

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