Published On: 22 juin 20215,3 min read

Automatiser vos tests d’application mobile avec Appium

Actuellement dans le domaine du développement de contenu numérique, la demande pour les applications
mobiles est très élevée. Les entreprises convertissent leurs sites Web en applications mobiles. Par conséquent,
il est très important de connaître les technologies d’automatisation des tests d’applications mobiles.

Qu’est-ce qu’Appium ?

Appium est un outil d’automatisation open source. Il est développé et maintenu par SauceLabs. Multiplateforme,
il est capable d’exécuter des tests sur des applications mobiles natives, hybrides et web apps. Il permet
d’exécuter le même test sur plusieurs plates-formes. Plusieurs appareils peuvent être facilement testés en parallèle.

Il prend en charge les tests d’automatisation sur Android, iOS et également Windows desktop.

Téléchargez notre livre blanc et basculer dans le “monde merveilleux” des tests automatisés !

La philosophie Appium

Appium peut être considéré comme le Selenium de vos applications mobiles. Il a été conçu pour répondre aux besoins d’automatisation mobile selon une philosophie définie par les quatre principes suivants :

  1. Ne pas avoir à recompiler l’application ou à la modifier de quelque manière que ce soit pour l’automatiser.
  2. Ne pas être enfermé dans un langage ou un framework spécifique pour écrire et exécuter les tests.
  3. Des API d’automatisation standard
  4. Un framework d’automatisation mobile open source.

Les types d’applications testées : Appium pour IOS, Android et web apps

Applications Natives

Une application native est une application mobile qui est développée spécifiquement pour un des systèmes d’exploitation utilisé par les smartphones et tablettes (iOS, Android). Elles sont développées à l’aide des SDK iOS, Android.

Web apps

Les Webapps sont des applications Web accessibles à l’aide d’un navigateur mobile. Appium prend en charge Safari sur iOS et Chrome ou l’application « Navigateur » intégrée sur Android).

Applications Hybrides

Les applications hybrides ont la particularité de combiner des éléments des applications dites natives (à l’aide
des SDK iOS, Android) et des web apps (disponibles sur internet via un navigateur et non installées localement).

Concept et architecture d’Appium

Appium suit l’architecture client-serveur.

Il s’agit d’un serveur Web qui fournit des API de type REST, il est implémenté en Node.js et s’appuie sur l’API
selenium Webdriver.

Le serveur Appium reçoit les connexions du client, écoute les commandes, les exécute (en fonction de la plate-
forme) sur un appareil mobile et répond via une réponse HTTP représentant le résultat de l’exécution de la commande.

  • Réception de la connexion du client
  • Ecoute des commandes
  • Exécution des commandes
  • Retour des statuts d’exécution

Avantages et inconvénients d’Appium

Les Avantages d’Appium :

  • Un outil gratuit et open source, donc tout le monde peut l’utiliser pour l’automatisation des tests mobiles.
  • Appium est développé et pris en charge par Sauce Labs et il a été adopté très rapidement au sein de la communauté du test sur mobile.
  • Le backend d’Appium est Selenium. Les commandes utilisées dans Appium sont très similaires aux commandes Selenium.
  • Il prend en charge plusieurs langages tels que Java, C #, Ruby, Python, JavaScript, PHP, etc.
  • Tests mobiles cross-plateformes, ce qui signifie que le même test fonctionnerait sur plusieurs plates-formes.
  • Il peut automatiser les applications mobiles Web, hybrides et natives.
  • Il gère les simulateurs, les émulateurs et les appareils réels.
  • Il laisse la possibilité d’utiliser des scripts préalablement réalisés via un orchestrateur comme Jenkins
  • Il peut s’interconnecter avec différents « framework » comme Cumcumber ou TestNG

Les Inconvénients d’Appium

Il est impossible d’exécuter des scripts sur plusieurs simulateurs iOS en même temps.
Sous iOS, on ne peut exécuter qu’une seule instance par Mac OS. Donc, si les tests doivent être exécutés sur
plusieurs appareils iOS en même temps, le même nombre de Mac devrait être implémenté, ce qui augmente les coûts.

Fonctionnement d’Appium

Appium utilise l’architecture client-serveur dans laquelle les machines clientes communiquent avec le serveur
via un protocole.

Pour démarrer une session de test d’automatisation, la machine cliente envoie une requête au serveur Appium.

Le code de test peut être écrit dans plusieurs langages de programmation tels que Java, Ruby, Python, PHP, C# et JavaScript.

Le serveur Appium crée une nouvelle session d’automatisation de test et appelle le pilote iOS/Android.

Le serveur Appium se connecte ensuite aux frameworks de test natifs correspondants qui s’exécute sur les appareils mobiles pour effectuer des opérations sur l’appareil.

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 sur le terminal. Le terminal répond à la demande.

Les commandes sont des interactions de l’utilisateur avec l’application, comme un scroll sur l’écran, cliquer sur
un composant de l’interface, faire défiler une zone particulière, saisir des caractères ou effectuer un geste spécifique.

Mise en place et prérequis pour l’installation

La configurationd’Appium ne consiste pas seulement à installer un seul outil ou à configurer quelques variables. Une configuration complète d’Appium nécessite l’installation de nombreux autres outils.

On a tendance à considérer l’installation d’Appium comme un processus fastidieux et compliqué en raison des dépendances d’Appium. Néanmoins le processus s’avère simple s’il est correctement orchestré.

Voici les dépendances nécessaires pour installer Appium :

  • Node.js
  • Java SDK
  • Appium Server
  • Appium Client Libraries
  • Selenium Libraries
  • Android Studio
  • Xcode

De nombreux guides étape par étape sont disponibles pour installer l’écosystème d’Appium.

Le bon choix pour vos tests d’application ?

Il existe aujourd’hui plusieurs options disponibles en matière d’automatisation mobile. Appium offre de nombreux avantages pour l’automatisation mobile. Un seul test Appium peut s’exécuter sur plusieurs appareils et versions de système d’exploitation. La création de tests est également facile.

Appium constitue un choix fiable et évolutif pour l’automatisation du mobile.

Testez plus vite et mieux avec les outils CloudNetCare

Une plateforme SaaS puissante au service de vos développements et de l’expérience de vos utilisateurs. Testez plus vite, plus souvent et mieux avec la plateforme d’automatisation des tests de CloudNetCare.

Testez plus vite
et mieux avec les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing

Testez plus vite et mieux avec
les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing