appium tutorial testing android
Comment installer et configurer Appium sur Windows avec le premier programme pour démarrer sur Appium:
Appium est un open-source outil d'automatisation de test utilisé pour test des applications mobiles . Il permet aux utilisateurs de tester différents types d'applications mobiles (telles que le Web natif, hybride et mobile) à l'aide de la bibliothèque WebDriver standard.
Il existe trois types d'applications mobiles:
- Originaire de: Applications natives créées à l'aide des SDK iOS, Android ou Windows. Ils sont spécifiques à la plateforme. Ils sont conçus pour fonctionner sur une plate-forme et / ou un appareil.
- Hybride: Les applications hybrides sont des applications Web développées à l'aide de HTML, CSS et d'un wrapper d'une application native en plus de UIWebView pour iOS et de «webview» pour les applications Android.
- Applications Web mobiles: Les applications Web mobiles sont celles auxquelles on accède à l'aide des navigateurs mobiles.
Liste des didacticiels de cette série Appium
Tutoriel n ° 1: Tutoriel Appium pour les débutants (ce tutoriel)
Tutoriel n ° 2: Introduction à Appium: qu'est-ce qu'Appium et son architecture
Tutoriel n ° 3: Télécharger, installer et configurer Appium pour Windows
Tutoriel n ° 4: Configuration d'un appareil mobile avec le système dans Appium
Tutoriel n ° 5: Automatiser l'application native sur un appareil Android à l'aide d'Appium
Tutoriel n ° 6: Comment automatiser l'application Web sur le navigateur Chrome dans un appareil Android
Ce que vous apprendrez:
- Pourquoi Appium est-il un outil populaire pour automatiser les applications mobiles?
- Configuration de l'outil Appium sous Windows
- Configurer Appium avec Eclipse IDE
- Limitations des époques antérieures
- Défis rencontrés lors de l'utilisation d'Appium
- Conclusion
Pourquoi Appium est-il un outil populaire pour automatiser les applications mobiles?
Appium est un «outil multiplateforme» c'est-à-dire qu'il permet d'écrire des tests sur plusieurs plateformes (iOS, Android, Windows), en utilisant les mêmes API. Utilisant appium , vous exécutez également des tests automatisés sur des appareils réels tels que des tablettes, des téléphones mobiles, etc.
C'est le plus outil largement utilisé pour les tests de régression des applications mobiles sur les téléphones mobiles et les tablettes. Appium facilite les tests de régression des applications mobiles; en particulier, pour les grandes applications mobiles qui sont fréquemment mises à jour avec de nouvelles fonctionnalités et fonctionnalités.
Configuration de l'outil Appium sous Windows
Conditions préalables: Voici une liste restreinte de logiciels et de matériel requis pour automatiser un test d'application mobile à l'aide d'Appium:
- Votre PC doit avoir JDK, Appium Server, Eclipse, Android SDK installé
- Apk: Application mobile à automatiser dans notre Case ContactManager.apk
- Dispositif de test: Dans ce cas, Moto G
- Bocaux: Jars client Java et Jars Selenium.
- Pilote USB pour le périphérique de test: Dans ce cas, Moto G
Étape 1: Installez le kit de développement Java ( JDK )
Étape 2: Configurer Java Chemin de la variable d'environnement
Étape 3: Téléchargez et installez le SDK Android ici et mettre à jour les API
Pour mettre à jour l'API, Ouvrez Eclipse -> Cliquez sur Fenêtre dans le menu Eclipse et -> Sélectionnez le gestionnaire Android SDK
Mettez à jour les API comme indiqué dans la capture d'écran ci-dessous:
Étape 4: Nous devons maintenant installer Appium pour Windows. Aller ici et téléchargez Appium pour Windows.
Étape # 5: I Installez Node JS à partir d'ici: Téléchargement de Node JS
Étape # 6: Met le ANDROID_HOME chemin ainsi que JAVA_HOME chemin
Spécifiez le chemin des outils et de l'outil de plate-forme présents dans le chemin du SDK Android.
Ces dossiers seraient présents dans adt-bundle-windows-x86_64-20140702 sdk
Nous devons maintenant mettre à jour la variable d'environnement (voir ci-dessous Capture d'écran)
(Remarque:Cliquez sur n'importe quelle image pour une vue agrandie)
Mettre à jour le chemin avec les outils et les outils de la plateforme (dossier présent dans le SDK Android).
L'entrée dans Path ressemblera à ceci:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Étape # 7: Accéder à adb
Appuyez sur la combinaison de touches Win + R
Taper CMD . Maintenant en type CMD ' adb ». adb sera accessible
Préparation de l'appareil mobile pour l'automatisation avec Appium
Connectez votre appareil de test mobile via USB au PC. Activez le mode développeur sur téléphone mobile avant d'automatiser l'application.
Étapes pour activer le mode / options développeur sur un téléphone ou une tablette Android:
1) Ouvrez les paramètres, appuyez sur l'option «À propos de», appuyez sur «Informations sur le logiciel», appuyez sur «Plus».
deux) Appuyez 7 fois sur 'Numéro de build' pour activer les options de développement.
3) Revenez aux paramètres et assurez-vous que le paramètre «Options du développeur» est présent.
4) Appuyez sur Options du développeur et activez l'option de débogage USB dans le menu de l'écran suivant.
Pour plus d'aide, suivez ceci lien .
5) Téléchargez et installez les pilotes USB pour le périphérique de test mobile sur PC.
6) Dans le type de terminal adb 'appareils adb'
C: Users NEERAJ> périphériques adb
Liste des périphériques connectés
Dispositif TA93305G0L
Cela affichera la liste des périphériques connectés au système. Nous utiliserons App Contact Manager.apk comme exemple d'application pour automatiser. Télécharger et installer Contact Manager.apk sur l'appareil.
Démarrage de l'automatisation de l'application Android à l'aide d'Appium
Maintenant, exécutez le appium.exe sur PC.
Appium doit être en cours d'exécution et transmettre les paramètres et le nom de l'appareil suivants dans les paramètres Android.
Remarque: Ne modifiez pas le numéro de port ou quoi que ce soit dans l'icône des paramètres généraux. Au démarrage d'Appium Server, l'adresse du serveur, ainsi que l'adresse du port, seront définies par défaut. L'adresse du port sera 4723 par défaut
Dans les paramètres Android, l'utilisateur doit définir le chemin d'accès de l'APK où se trouve l'APK, vérifier le chemin de l'application, créer un package et lancer l'activité.
- Connectez votre téléphone Android au PC et activez le mode de débogage USB.
- Ouvrez l'invite de commande.
- Commande de type adb logcat .
- Ouvrez l'application sur votre téléphone Android. Appuyez immédiatement sur CTRL + C dans l'invite de commande
com.example.android.contactmanager est le nom du package et com.example.android.contactmanager.ContactManager est le nom de l'activité de l'application Gestionnaire de contacts.
Dans la capture d'écran ci-dessus, nous avons renseigné toutes les informations nécessaires dans le package Appium, à savoir l'activité de lancement, le nom de l'appareil mobile.
Comment localiser l'élément à l'aide de UIAutomatorViewer?
1) Pour automatiser l'application, nous devrons d'abord trouver les éléments de l'application dont nous aurons besoin pour interagir
pour cela, nous utiliserons UIAutomatorViewer
deux) Connectez l'appareil sur lequel l'application est installée au PC
3) Allez au terminal.
Taper «Appareils adb»
C: Users NEERAJ> périphériques adb
Liste des périphériques connectés
Dispositif TA93305G0L
Cela affichera la liste des appareils connectés à votre PC.
4) Ouvrez l'application que vous souhaitez automatiser dans l'appareil mobile.
5) Ouvert UIAutomatorViewer et allez au chemin suivant
adt-bundle-windows-x86_64-20140702 sdk tools
6) Assurez-vous donc que votre application est lancée et UIAutomaterViewer est lancé, cliquez sur la capture d'écran de l'appareil.
7) Cette option prendra la capture d'écran de l'application avec toutes les informations détaillées de tous les éléments visibles sur l'application.
Cliquez sur le bouton Ajouter un contact pour notre scénario de test
quel est le meilleur email à utiliser
À partir de la capture d'écran ci-dessus, nous pouvons utiliser le localisateur Par.nom («Ajouter un contact»)
À partir de la capture d'écran ci-dessus, nous pouvons prendre By.className ('android.widget.EditText')) comme localisateur pour le nom du contact
Par.nom («Enregistrer») peut être utilisé comme notre localisateur pour le bouton Enregistrer
Premier programme d'automatisation d'une application sur Appium
Exécutez le script ci-dessous, l'application Contact Manager sera lancée sur l'appareil réel et tous les journaux seront affichés dans la console Appium, vous montrant toutes les actions appelées par le script ci-dessus.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Configurer Appium avec Eclipse IDE
Logiciel requis pour Appium :
- JDK, serveur Appium, Eclipse, SDK Android
- Bocaux: jars java-client et Selenium Jars.
- Apk: Application à automatiser
- Appareil réel: Dans ce cas SAMSUNG Note3
- Pilote USB pour périphérique réel: Dans ce cas SAMSUNG Kies
Étape 1: Installez le Kit de développement Java (JDK)
Étape 2: Installer Chemin de la variable d'environnement Java
Accédez au terminal et tapez:
Ouvrez .bash_profile
Définissez le chemin ANDROID_HOME ainsi que le chemin JAVA_HOME
Étape 3: Installez le SDK Android / ADB sur MAC
Nous devons installer les outils, les extras et les packages de niveau API correspondants (dans ce cas, l'API Android 4.4.2 19).
(Remarque:Cliquez sur n'importe quelle image pour une vue agrandie)
Étape 4: Téléchargez et serveur d'installation d'époques
Note 1: Pas besoin de définir quoi que ce soit dans l'icône des paramètres généraux. Lorsque Appium Server est installé, l'adresse du serveur, ainsi que l'adresse du port, seront définies par défaut. L'adresse du port sera 4723. L'utilisateur peut modifier l'adresse du serveur si nécessaire.
Note 2: Dans les paramètres Android, l'utilisateur doit définir le chemin d'accès de l'APK où se trouve l'APK, vérifier le chemin de l'application, créer un package et lancer l'activité.
Comment trouver le nom du package de fichiers .Apk et le nom de l'activité du lanceur:
Il existe de nombreuses façons de connaître le nom du package et le nom de l'activité du lanceur d'une application. Ici, le terminal est utilisé pour obtenir le nom du package et de l'activité du lanceur.
Accédez au terminal et tapez:
badges de vidage aapt
Appuyez sur 'Entrée' pour l'écran ci-dessous:
Si un utilisateur spécifie le nom du package dans Appium Server, puis Nom de l'activité du lanceur, attendez que les noms des activités s'affichent automatiquement.
Dans ce cas, le nom de l'activité du lanceur est:
' com.amazon.mShop.android.home.HomeActivity. »
Étapes pour activer le mode / options développeur sur un téléphone ou une tablette Android
Étape 1:Activer les options pour les développeurs
1) Appuyez sur le Menu principal icône.
deux) Aller à Réglages .
3) Faites défiler jusqu'à ' A propos du téléphone «Et appuyez dessus.
4) Faites défiler vers le bas, appuyez sur ' Numéro de build » Sept (7) fois . ( Votre numéro de build peut varier ). Après le troisième appui, l'utilisateur peut voir une boîte de dialogue ludique ' Vous êtes développeur ». Continuez à taper jusqu'à ce que la boîte de dialogue s'affiche.
5) Vous pouvez maintenant remarquer les options de développement sur votre écran.
Étape 2:Activer le débogage USB
1) Aller à Options de développeur .
deux ) Sélectionner Débogage USB .
3) Il peut afficher le Apparaitre message et si c'est le cas, simplement Cliquez sur d'accord .
Étape 3:Téléchargez et installez le pilote USB pour le périphérique réel correspondant. Dans ce cas, SAMSUNG Kies.
Comment localiser l'élément à l'aide de UIAutomatorViewer?
1) La première étape avant de localiser un élément sur l'appareil consiste à connecter l'appareil à l'ordinateur.
Suivez les étapes ci-dessous pour vérifier la connectivité de l'appareil:
- Aller à Terminal .
- Taper ' appareils adb '
Cela affichera la liste des périphériques connectés au système.
deux) Sur l'appareil réel, ouvrez l'application qui doit être automatisée (ici, l'application Amazon est automatisée)
3) Accédez au répertoire suivant pour ouvrir UIAutomatorViewer :
Utilisateurs -> Bibliothèque -> Android -> sdk -> outils -> uiautomatorviewer.bat
ANCIEN: utilisateurs / bikram.badatya / Bibliothèque / Android / sdk / tool /
4) Dans UIAutomatorViewer, cliquez sur Capture d'écran de l'appareil .
5) En cliquant Capture d'écran de l'appareil, l'image de l'appareil ainsi que les informations détaillées seront affichées sur le côté gauche de la fenêtre UIAutomator.
6) En cliquant sur un élément de la page, les informations pertinentes sur cet élément seront affichées sur le côté droit.
7) Clique sur le Menu principal bouton pour afficher toutes les propriétés.
Test Appium pour lancer l'application Amazon
1) Lancez Appium Server.
2) Paramètres Android.
3) Paramètres généraux pour l'adresse du serveur et l'adresse du port:
4) Cliquez sur le bouton de lancement .
Extrait de code pour lancer l'application Amazon:
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriverLorsque le script ci-dessus est exécuté, l'application Amazon sera lancée sur l'appareil réel et une liste de messages sera affichée dans la console Appium.
Commandes importantes
1) Pour tuer le serveur adb:
adb kill-server
deux) Pour démarrer le serveur adb:
serveur de démarrage adb
3) Pour définir le chemin JAVA_Home également ANDROID_Home Path
ouvrir .bash_profile
4) Pour obtenir le nom du package et le nom du lanceur Android dans apk (d'une autre manière)
nom .apk de badging de vidage aapt
Ancien- badges de vidage aapt
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Pour installer apk sur un appareil réel
adb install nom .apk
6) Pour désinstaller apk sur un appareil réel
désinstaller adb
Ancien - adb désinstaller com.amazon.mShop.android
Limitations des époques antérieures
- Il ne prend pas en charge le niveau d'API Android inférieur à 17
- Les messages Toast ne sont pas pris en charge
- L'exécution du script sur la plate-forme IOS est très lente
- La prise en charge des gestes est limitée
Défis rencontrés lors de l'utilisation d'Appium
#1) Pour obtenir le nom de l'activité du lanceur, qui est nécessaire pour lancer l'application, de nombreuses méthodes peuvent être suivies comme un apk supplémentaire nommé «apkInfo» doit être installé, certaines lignes de code doivent être écrites, etc. Mais, dans ce document, la commande suivante est utilisée pour obtenir le nom de l'activité du lanceur.
c'est à dire. nom .apk de badging de vidage aapt
#deux) Lors de la configuration dans le gestionnaire du SDK Android, nous devons nous concentrer sur les packages suivants qui doivent être désinstallés. Sinon, l'application ne se lancera pas
# 3) Sur MAC en particulier, nous devons configurer Java_HomePath et Android HomePath dans .bash_profile afin qu'il ne soit pas nécessaire de le configurer encore et encore.
# 4) Le lancement de l'application à l'aide d'un émulateur prend plus de temps par rapport à un appareil réel. Par conséquent, l'utilisation d'un appareil réel est recommandée.
Conclusion
Avec les tendances émergentes et l'augmentation de la demande pour les applications mobiles, toutes les grandes entreprises migrent pour obtenir leur activité sur les applications mobiles. Ainsi, pour lancer des applications mobiles de qualité, les tests d'automatisation des applications mobiles sont la dernière tendance du secteur.
Appium, en raison de sa simplicité et de sa facilité d'utilisation, est l'un des leaders et des outils les plus utilisés dans le monde entier pour les tests d'automatisation des applications mobiles pour iOS ou Android.
A propos de l'auteur: Ce message est écrit par Neeraj, membre de l'équipe STH. Il est un testeur de logiciels passionné qui travaille actuellement en tant qu'ingénieur principal en développement de logiciels en test et aime tester des applications Web et mobiles.
Cliquez ici pour en savoir plus sur Automatisation mobile à l'aide de l'outil Appium Studio.
lecture recommandée
- Tutoriel de test de l'interface utilisateur mobile (test de l'interface graphique des applications iOS et Android)
- TOP 15 des meilleurs outils de test mobile en 2021 pour Android et iOS
- Services de test bêta des applications mobiles (outils de test bêta iOS et Android)
- Pourquoi les tests mobiles sont-ils difficiles?
- Connecter de vrais appareils iOS et Android du Cloud à Appium Studio
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Tutoriels de test d'applications mobiles (un guide complet avec plus de 30 tutoriels)
- Comment obtenir rapidement un emploi de test mobile - Guide de carrière de test mobile (partie 1)