Formation Appium - Automatisation des tests mobiles

Formation Appium - Automatisation des tests mobiles

Description

Appium est un framework open source d’automatisation des tests mobiles conçu pour simplifier et accélérer l’automatisation des tests d’applications mobiles natives (iOS, Android) ainsi que des applications mobiles hybrides développées avec des technologies telles que React Native .

En plus des tests mobiles (Android, iOS), Appium offre la possibilité d’automatiser les tests d’acceptation pour les applications desktop Windows et MacOS.

Le framework Appium se distingue des autres outils et frameworks d’automatisation grâce à son architecture multiplateforme, ses divers drivers (uiautomator2, xcuitest, flutter, chromium, espresso, mac2, safari, etc.) et ses plugins qui simplifient et accélèrent l’automatisation et l’industrialisation des tests mobiles.

Appium supporte plusieurs langages de programmation tels que Java, C#, JavaScript (WebdriverIO), Python, Ruby.

Avec la version 2 d’Appium, l’installation, la mise à jour et le développement des drivers et plugins deviennent plus confortables.

Cette formation Appium vous permettre d’acquérir et de maîtriser plusieurs concepts essentiels et avancés de l’automatisation des tests mobiles.


Objectifs pédagogiques

À l’issue de cette formation d’automatisation des tests mobile avec Appium, le participant sera en mesure de :

  • Comprendre l’architecture de l’outil Open Source Appium
  • Apprendre à utiliser les fonctionnalités les plus intéressantes d’Appium
  • Concevoir des tests mobiles automatisés avec Appium
  • Comprendre comment intégrer les tests mobiles avec Appium dans une chaîne de livraison continue (CI/CD)

Public concerné

  • Testeurs ou développeurs désirant se former aux techniques d’automatisation des tests mobiles avec Appium
  • QA Managers, QA Lead

Prérequis

  • Connaissances fondamentales du langage Java
  • Connaissances fondamentales en tests mobiles/fonctionnels

Programme de la formation

Le programme de cette formation est composé de plusieurs modules allant des notions de base aux notions avancées

Module 1 : Les concepts fondamentaux d’Appium

  • Introduction aux différents types et technologies d’applications mobiles
  • L’automatisation des tests mobiles et la pyramide de tests
  • Introduction au pattern 3A
  • Introduction au Framework Appium
  • Écosystème Appium V2 (Drivers, Plugins, W3C)
  • Architecture globale d’Appium
  • Architecture d’Appium pour Android
  • Architecture d’Appium pour iOS
  • Principe du fonctionnement d’Appium (How Appium works?)
  • Présentation de l’application Android qui sera utilisée dans les ateliers pratiques

Module 2 : Installation et configuration de l’environnement de développement

  • Installation et configuration du JDK (Java)
  • Installation et configuration de l’SDK Android (Android Studio)
  • Installation et configuration de l’outil de build Gradle
  • Installation d’IntelliJ
  • Installation de nodeJS
  • Installation d’Appium V2
  • Installation des différents modules nécessaires à Appium V2 (drivers, plugins)
  • Installation de l’outil Appium Inspector (Appium V2)

Module 3 : Les “Capabilities” d’Appium

  • Introduction aux sessions d’automatisation d’Appium
  • Les “Capabilities“ communes
  • Les “Capabilities” spécifiques à la plateforme Android
  • Les “Capabilities” spécifiques à la plateforme iOS

Module 4 : Les stratégies d’identification d’éléments UI (Element Locator Strategies)

  • Explication du concept du “Locator” et de la “Strategy”
  • Les stratégies d’identification les plus utilisées (accessibility id, ID Name, class Name, Xpath, etc.)
  • Les stratégies avancées
  • Les stratégies les plus recommandées et les raisons
  • Les limites de certaines stratégies
  • L’outil Appium Inspector
  • Les méthodes findElement, findElements
  • Cas d’utilisation des différentes stratégies

Module 5 : Les stratégies d’attentes

  • La stratégie “Static waits”
  • La stratégie “Implicit waits”
  • La stratégie “Explicit waits”

Module 6 : Automatisation des “Gestures” et “Touch Actions”

  • La différence entre les “Input” Mobile et “Input” Desktop
  • Les “Common Gestures”
  • Le “Scrollable List View”
  • Les API “Touch actions”
  • Exemples pratiques :
    • “Swipe and Scroll by Element”
    • “Swipe Screen”
    • “Drag and Drop”
    • “Toggle Buttons”
    • “Handling Checkboxes and Radio Button”
    • “Zooming Pinching”
    • “Multi Touch Actions”
    • “Mobile Orientation”

Module 7 : Tests NG

  • Introduction à TestNG (le quoi et pourquoi)
  • Les différentes “Annotations” de TestNG
  • L’exécution des tests avec le fichier testng.xml
  • L’exécution de plusieurs fichiers en même temps
  • La gestion de la priorité des tests (dependsOnMethods, etc.)
  • L’utilisation des paramètres avec TestNG
  • Les “DataProviders”
  • Concepts avancés : “Grouping, Listeners”
  • L’exécution des tests en parallèle avec TestNG

Module 8 : Gradle

  • Introduction à l’outil Gradle
  • Les commandes du build essentials avec Gradle

Module 9 : Framework d’automatisation de tests mobiles

  • Introduction au framework de tests mobiles
  • Les différentes couches nécessaires :
    • La couche “Test Cases”
    • La couche “DSL”
    • La couche “Driver”
    • La couche “SUT”
  • Le pattern “Page Object Model”
  • Exemple pratique Mini Projet (ExpandBank App):
    • Conception Framework
    • Utilisation du Pattern POM
    • Bonnes Pratiques

Module 10 : Le reporting

  • Les caractéristiques d’un bon rapport de tests
  • Les différentes options et outils de reporting
  • Le reporting avec “Allure Report”

Module 11 : L’intégration Continue avec CircleCI

  • Introduction aux concepts d’intégration et livraison continues (pipelines CI/CD)
  • Présentation du CircleCI
  • Intégration du projet de tests dans CircleCI

Module 12 : Le mot de la fin

  • Synthèse
  • Partage de ressources / docs / Articles sur le framework Appium

Si vous avez des suggestions d’amélioration pour cette formation Appium n’hésitez pas à nous contacter !

Formateur
Tawfik Nouri

Tawfik Nouri

Automatisation des Tests Logiciels

Ces formations peuvent aussi vous intéresser :

Formation K6 - Automatisation des tests de performance
  • 02 jours
  • Automatisation

Formation K6 - Automatisation des tests de performance

Description K6 est un outil open source de tests de performance.

En savoir plus
Formation JavaScript - Les fondamentaux de la programmation
  • 01 jour
  • Automatisation

Formation JavaScript - Les fondamentaux de la programmation

Description JavaScript est l’un des langages de programmation les plus populaires au monde et …

En savoir plus
Formation Selenium WebDriver - Automatisation des tests d'acceptation
  • 03 jours
  • Automatisation

Formation Selenium WebDriver - Automatisation des tests d'acceptation

Description Selenium WebDriver est un outil open source d’automatisation des tests …

En savoir plus