Informations pratiques
-
20 rue des Frigos, 75013Voir le plan
-
2 jours
-
1 350€
Prochaines sessions :
Contactez-nous à training@soat.fr
Nombre de participants maximum : 10
- Comment s'inscrire ?
- Conditions générales de vente
- Réservez une place
Objectifs
- Découvrir les tests d’une application Web
- Prendre en main l’API WebDriver
- Mettre en place des scénarios de tests dans leur intégralité
Public
- Développeur/Testeur d’application Web
Pré-requis
- Connaissances de Java, Html, Css, Xpath
- Savoir utiliser un IDE (Eclipse, IntelliJ… )
Méthodes pédagogiques
50 % théorie / 50 % pratique
Modalités d'évaluation
Un questionnaire d’évaluation à chaud sera adressé aux participants à la fin de la formation. Cette évaluation mesure le niveau 1 de Kirkpatrick.
Description
Lors de l’élaboration d’un projet, la recette identifie les anomalies et/ou les régressions en passant des batteries de tests fonctionnels. Ces tests deviennent de plus en plus complexes au fur et à mesure de l’évolution du projet et difficiles à maintenir.
À l’image des tests unitaires pratiqués par les équipes de développement, Selenium offre, au travers de scénarios de tests, une solution de validation fonctionnelle des IHM pouvant être exécutée plus tôt dans le cycle de vie d’un projet.
Au travers de cette formation, des différents exemples et cas d’application qui y seront développés, vous apprendrez notamment à utiliser l’outil Selenium, son API WebDriver.
Programme
Introduction aux tests
- Différents niveaux de test
- Tests d’intégration
- Tests fonctionnels
- Tests unitaires
Introduction à Selenium
Selenium IDE
- Description du plugin Selenium IDE pour Firefox
- Interagir avec une page web : commandes d’actions, commandes d’actions asynchrones
- Accéder à des éléments : les accessors
- Vérifier des éléments : les assertions
- Différents moyen d’accéder à des éléments : xpath, id, …
Selenium webdriver (via JAVA)
- Piloter un navigateur via une API
- Différents type de Drivers pour différents navigateurs
- Pilotage du navigateur Firefox
- Sélection d’un ou plusieurs éléments au sein d’une page (par id, tag, xpath, classname, …)
- Sélection de sous-éléments. (exemple : balise imbriquée)
- Création d’action à travers le Builder Pattern
- Récupération d’attribut d’une balise
- Manipulation de <form>,
- Contrôle des boutons du navigateur (back, forward, refresh)
- Réalisation de capture d’écran automatique
- Gestion des promps, alerts, messageBox et des fenêtres
- Configuration des Cookies / timeout
- Export de test SeleniumIDE pour Selenium WebDriver
Page object pattern
- Concept
- PageFactory & injection du Driver
- Utilisation de @FindBy : binding d’élement via name, id, xpath, …
- Utilisation de @FindAll : binding d’une liste d’éléments
- Utilisation de @CacheLookup
- Scénarios utilisant le Page Object Pattern
Selenium Grid
- Démarrage d’une grille selenium (hub et node)
- Utilisation d’une grille selenium via le RemoveWebDriver
- Url exposée par le Hub
- Configuration et sélection de navigateur via les DesiredCapabilities
- Capture d’écran avec une grille selenium
- Parallélisation des tests avec jUnit et Maven
- Utilisation de SauceLabs
Intégration continue
- Présentation du concept d’intégration continue
- Exemple de configuration d’un jenkins
- Utilisation d’un navigateur headless : phantomjs
Saucelabs
- Utilisation de SauceLabs : Selenium Grid dans le cloud
Cucumber : spécifications exécutables
- Présentation de Cucumber
- Écriture d’un scénario Cucumber
- Type de Step Cucumber
- Gestion des langues
- Intégration avec jUnit