Capacités souhaitées d'Appium pour l'émulateur Android [Exemple]

Ce tutoriel vous aidera à comprendre l'outil d'automatisation APPIUM. Il couvrira les capacités souhaitées et les utilisations d'APPIUM avec Maven.

Dans ce tutoriel, vous apprendrez-

Quelles sont les capacités souhaitées

Les « Capacités souhaitées » nous aident à modifier le comportement du serveur lors de l'automatisation. Dans Appium, il s'agit d'un type de hashmap ou de paire clé-valeur, utilisé pour envoyer une commande au serveur APPIUM. Dans APPIUM, toutes les commandes client s'exécutent dans le contexte d'une session.

Par exemple, un client a envoyé une requête POST/session contenant un objet JSON au serveur APPIUM.

Par conséquent, pour envoyer toute requête souhaitée ou pour maintenir toute session souhaitée avec le serveur, un ensemble de paires clé et valeur est utilisé. C'est ce qu'on appelle « Capacités souhaitées. »

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
{
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
}

Rôle important de la capacité souhaitée-

  • 'DesiredCapabilities' aide l'utilisateur à contrôler la demande de session avec le serveur. Par exemple, si nous voulons une session iOS, nous pouvons définir Capability comme PlatformName = iOS. Ou si nous voulons une session Android, nous pouvons définir Capability comme PlatformName = Android.
  • Les « DesiredCapabilities » sont utilisées pour configurer l'instance Webdriver, par exemple : FirefoxPilote, ChromeDriver, InternetExplorerDriver etc.
  • DesiredCapability est très utile pour Sélénium Grille. Par exemple : il est utilisé pour accéder à différents cas de test sur un navigateur différent et un système d'exploitation différent. Sur la base de la grille DesiredCapability mentionnée, le hub pointera vers le nœud correspondant. Ici, ces nœuds sont définis à l'aide de la méthode de propriété « set », par exemple : -
    DesiredCapabilities obj = new DesiredCapabilities(); 
    obj.setBrowserName("firefox"); 
    obj.setVersion("18.0.1"); 
    obj.setPlatform(org.openqa.selenium.Platform.WINDOWS);					
    
  • Une capacité souhaitée est un package défini par la bibliothèque. Avant d'utiliser « DesiredCapabilities », il doit être importé à partir de la bibliothèque mentionnée ci-dessous.
    Org.openqa.selenium.remote.DesiredCapabilities

APPIUM prend en charge Android et iOS. Il existe donc un ensemble distinct de fonctionnalités du serveur Appium.

Le tableau ci-dessous décrit certaines fonctionnalités Android couramment utilisées et leur valeur à utiliser.

Fonctionnalités Description Valeurs/Utilisations
appPackage Appel souhaité Java package dans Android que l'utilisateur souhaite exécuter Valeur = com.example.myapp/

Obj.setCapability("appPackage", "com.whatsapp");

appActivité Activité d’application que l’utilisateur souhaite lancer à partir du package. Valeur = MainActivity, .Settings

Obj.setCapability("appActivity", "com.whatsapp.Principal");

appWaitPackage Package à partir duquel l'application doit attendre Valeur = com.example.android.myapp
appWaitActivity Toute activité Android nécessitant un temps d'attente pour l'utilisateur Valeur = SplashActivity

capacités.setCapability("appWaitActivity", "com.example.game.SplashActivity")

REMARQUE– Référez-vous à ce lien 'https://appium.io/docs/en/2.0/' pour afficher plus de fonctionnalités Android

Le tableau ci-dessous décrit certaines fonctionnalités iOS couramment utilisées et leur valeur à utiliser.

Fonctionnalités Description Valeurs
LaunchTimeout Temps total (en ms) d'attente pour l'instrumentation. 2000
C'EST TOI QUI L'AS FAIT Pour identifier le numéro d'appareil unique pour l'appareil physique connecté 166aestu4

REMARQUE- Référez-vous à ce lien 'https://appium.io/docs/en/2.0/guides/caps/' pour afficher plus de fonctionnalités iOS

Extraction des informations sur les forfaits et les activités

Les packages sont liés à des fichiers ou des classes regroupés. Il donne une structure organisée à la programmation modulaire. En Java, différents packages sont stockés dans un seul fichier Jar. L'utilisateur peut facilement appeler le fichier jar pour une exécution complète. Des concepts similaires ont suivi dans le monde du développement d’applications mobiles.

Dans le système d'exploitation Android, toutes les applications sont installées sous forme de packages JAVA. Par conséquent, pour extraire les informations sur le chemin des packages, la classe Android PackageManager est utilisée.

Il récupère les informations sur les packages et les activités des applications pré et post-installées. Il est installé sur les appareils Android.

Vous pouvez obtenir une instance de la classe PackageManager en appelant getPackageManager().

Cette méthode peut accéder et manipuler les packages et les autorisations associées des applications installées.

Par exemple -

PackageManager pManager = getPackageManager();
List<ApplicationInfo> list = pManager.getInstalledApplications(PackageManager.GET_META_DATA)

Résumé

  • La fonctionnalité souhaitée s'exécute toujours sur une paire clé-valeur pour envoyer la commande au serveur APPIUM.
  • Utilisez la classe « PackageManager » pour extraire les informations sur les applications sous Android.