Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Les 22 & 23 novembre : Accès 100% GRATUIT à  
la Bibliothèque Numérique ENI. Je m'inscris !
  1. Supports de cours
  2. Selenium - Maîtrisez vos tests fonctionnels avec Python

Selenium Maîtrisez vos tests fonctionnels avec Python

Informations

Livraison possible dès le 25 novembre 2024
  • Version en ligne offerte pendant 1 an
  • Personnalisable
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-04508-0
  • EAN : 9782409045080
  • Ref. ENI : EIMSELEN

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04509-7
  • EAN : 9782409045097
  • Ref. ENI : LNEIMSELEN
Dans un monde numérique où la qualité logicielle est cruciale, les tests garantissent la robustesse et la fiabilité des applications. Ce support, richement illustré de cas pratiques, est le guide pensé pour les développeurs pour apprendre à écrire et automatiser des tests fonctionnels avec Selenium, le framework Python incontournable en la matière.   Le support commence par présenter l'importance des tests et en propose une typologie détaillée pour mieux appréhender les...
Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 172 pages
  • Parution septembre 2024
  • Niveau Confirmé à Expert
  • Parution septembre 2024
Dans un monde numérique où la qualité logicielle est cruciale, les tests garantissent la robustesse et la fiabilité des applications. Ce support, richement illustré de cas pratiques, est le guide pensé pour les développeurs pour apprendre à écrire et automatiser des tests fonctionnels avec Selenium, le framework Python incontournable en la matière.  

Le support commence par présenter l'importance des tests et en propose une typologie détaillée pour mieux appréhender les différentes techniques à mettre en œuvre. Il offre également des rappels technologiques indispensables sur la structure d'une application web et sur les bases du langage Python.  

Vous plongez ensuite dans le monde des tests unitaires en Python en explorant les assertions, les expressions régulières et les différentes bibliothèques disponibles, avec un focus sur l'utilisation de Pytest pour une meilleure gestion des tests.  

Les premières étapes avec Selenium depuis son installation jusqu'à la mise en place des scénarios de tests et à leur exécution sont ensuite détaillées avant de découvrir comment, avec le framework, simuler le comportement des applications dans un navigateur et comment récupérer un élément d’une page HTML. Vous étudiez ensuite le comportement de l’application web en fonction des actions des utilisateurs et la capture de données (Data Capture) qui permet de récupérer et d'extraire des données d’une page web pour vérifier et valider le contenu affiché. Les Waits, mécanismes utilisés pour gérer le temps d’attente des interactions avec les éléments d'une page web pendant l'exécution des tests, sont aussi présentés.  

Ce support vous propose également d’appréhender les meilleures pratiques de conception de pages avec Page Object Model et de découvrir comment exécuter vos tests sur plusieurs navigateurs simultanément grâce à Selenium Grid.  

En fin de lecture, des chapitres optionnels vous conduisent vers des notions plus avancées liées aux tests de données (Data Driven Test).

Téléchargements

Les tests, les tests, les tests
  1. 1. L’importance des tests
  2. 2. La typologie des tests
    1. 2.1 La pyramide des tests
      1. 2.1.1 Les tests unitaires
      2. 2.1.2 Les tests d’intégration
      3. 2.1.3 Les tests fonctionnels
    2. 2.2 Les autres types de tests
      1. 2.2.1 Les tests de charge
      2. 2.2.2 Les tests de sécurité
      3. 2.2.3 Les tests de non-régression
  3. 3. L’automatisation des tests
  4. 4. Le positionnement de Selenium
Rappels technologiques
  1. 1. Anatomie d’une application Web
    1. 1.1 Code côté back
    2. 1.2 Le code côté front
      1. 1.2.1 HTML
      2. 1.2.2 CSS
      3. 1.2.3 JavaScript
      4. 1.2.4 Lien avec les tests fonctionnels
  2. 2. Python
    1. 2.1 Types de variables et opérateurs
      1. 2.1.1 Types de variables
      2. 2.1.2 Opérateurs
      3. 2.1.3 Listes
      4. 2.1.4 Les strings
    2. 2.2 Instructions
    3. 2.3 Fonctions
      1. 2.3.1 Retour multiple
      2. 2.3.2 Valeurs par défaut
      3. 2.3.3 Lambda expressions
    4. 2.4 Classes et objets
      1. 2.4.1 Héritage simple
      2. 2.4.2 Surcharge des opérateurs
    5. 2.5 Gestion des exceptions et des erreurs
  3. 3. Python et les fichiers
    1. 3.1 Accéder à un fichier avec Python
    2. 3.2 Fichier JSON
    3. 3.3 Fichier CSV
    4. 3.4 Fichier XML
    5. 3.5 Fichier XLS
  4. 4. Exercices
    1. 4.1 Exercice 1
    2. 4.2 Exercice 2
    3. 4.3 Exercice 3
    4. 4.4 Exercice 4
Les tests unitaires en Python
  1. 1. Pourquoi les tests unitaires ?
  2. 2. Assertions
  3. 3. Léger tour d’horizon des tests unitaires
    1. 3.1 Script utilisé pour le comparatif
    2. 3.2 Librairie Unittest
    3. 3.3 Librairie DocTest
    4. 3.4 Librairie Testify
    5. 3.5 Librairie Pytest
    6. 3.6 Pourquoi Pytest dans cet ouvrage ?
  4. 4. À l'assaut de pytest
    1. 4.1 Gestion des exceptions et des erreurs
    2. 4.2 Éviter les répétitions : fixture
    3. 4.3 Tester une suite d’instructions
  5. 5. Logger pour mieux comprendre
    1. 5.1 Intérêt des logs
    2. 5.2 Écrire des logs avec Python
      1. 5.2.1 Module logging
      2. 5.2.2 Niveaux de log
  6. 6. Exercices
    1. 6.1 Exercice 1
    2. 6.2 Exercice 2
    3. 6.3 Exercice 3
    4. 6.4 Exercice 4
    5. 6.5 Exercice 5
Les premières étapes avec Selenium
  1. 1. Qu’est-ce que Selenium ?
    1. 1.1 Avantages de Selenium
    2. 1.2 Limites des tests avec Selenium
  2. 2. Architecture de Selenium
  3. 3. Installation de Selenium
  4. 4. Selenium WebDriver
  5. 5. Mise en place des scénarios de test
  6. 6. Exécution des tests
  7. 7. Exercices
    1. 7.1 Exercice 1
    2. 7.2 Exercice 2
    3. 7.3 Exercice 3
    4. 7.4 Exercice 4
Les manipulations du navigateur
  1. 1. Accéder aux fonctions du navigateur
  2. 2. Naviguer grâce à Selenium
  3. 3. Prendre une capture d’écran
  4. 4. Exécuter un script JavaScript
  5. 5. Exercices
    1. 5.1 Exercice 1
    2. 5.2 Exercice 2
    3. 5.3 Exercice 3
    4. 5.4 Exercice 4
Localisation des éléments du document HTML
  1. 1. Locator
    1. 1.1 Principe
    2. 1.2 Classe By
    3. 1.3 Page HTML de démonstration
  2. 2. Par l’identifiant : By.ID
  3. 3. Par le nom de la balise : By.TAG_NAME
  4. 4. Par la propriété name : By.NAME
  5. 5. Avec le CSS
    1. 5.1 Avec sa classe CSS : By.CLASS_NAME
    2. 5.2 Les différents sélecteurs CSS
      1. 5.2.1 Les sélecteurs simples
      2. 5.2.2 Les principaux combinateurs
      3. 5.2.3 Les pseudo-classes
    3. 5.3 Avec un selecteur CSS : By.CSS_SELECTOR
  6. 6. Avec le texte du lien
    1. 6.1 Avec le texte complet : By.TEXT_LINK
    2. 6.2 Avec une partie du texte : By.PARTIAL_LINK_TEXT
  7. 7. Par le chemin XPATH
    1. 7.1 Introduction à la syntaxe XPATH
    2. 7.2 XPATH et les navigateurs
    3. 7.3 Avec le XPATH : By.XPATH
  8. 8. Locators relatifs
    1. 8.1 Locator above
    2. 8.2 Locator below
    3. 8.3 Locator to-left-of
    4. 8.4 Locator to-right-of
    5. 8.5 Locator near
  9. 9. Exercices
    1. 9.1 Exercice 1
    2. 9.2 Exercice 2
    3. 9.3 Exercice 3
    4. 9.4 Exercice 4
    5. 9.5 Exercice 5
    6. 9.6 Exercice 6
    7. 9.7 Exercice 7
Les interactions utilisateur
  1. 1. Target Object Identification
  2. 2. WebElement, le cœur des tests fonctionnels
    1. 2.1 Accéder aux propriétés d’un WebElement
      1. 2.1.1 Nom de la balise
      2. 2.1.2 Texte de la balise
      3. 2.1.3 Taille de la balise
      4. 2.1.4 Position de la balise
      5. 2.1.5 Propriétés d’affichage et de sélection
      6. 2.1.6 Propriétés et attributs
      7. 2.1.7 Valeur d’une propriété CSS
  3. 3. Émulation de la souris
    1. 3.1 Méthode click
    2. 3.2 ActionChains et WebElements
    3. 3.3 Exemple : le survol de la souris
  4. 4. Gestion des formulaires HTML et événements clavier
    1. 4.1 Simuler une saisie clavier
    2. 4.2 Simuler une touche clavier précise
    3. 4.3 Simuler l’appui sur une touche
    4. 4.4 Simuler le relâchement d’une touche
    5. 4.5 Effacer une entrée utilisateur
    6. 4.6 Soumettre un formulaire
    7. 4.7 Test de la validation d’un formulaire avec JavaScript
  5. 5. Exercices
    1. 5.1 Exercice 1
    2. 5.2 Exercice 2
    3. 5.3 Exercice 3
Les captures et validations des données
  1. 1. Présentation des data tables
    1. 1.1 Balises HTML
    2. 1.2 Page HTML de démonstration
  2. 2. Table HTML
  3. 3. Table dynamique
  4. 4. Liste déroulante
    1. 4.1 Classe Select
    2. 4.2 Liste déroulante simple
    3. 4.3 Liste déroulante multiple
  5. 5. Drag and drop
  6. 6. Exercices
    1. 6.1 Exercice 1
    2. 6.2 Exercice 2
    3. 6.3 Exercice 3
Les waits pour une interaction optimale
  1. 1. Latences d’une application Web
  2. 2. Implicit waits
  3. 3. Excepted conditions
  4. 4. Explicit waits
    1. 4.1 Avec les excepted conditions
    2. 4.2 Avec une custom expected condition
    3. 4.3 Avec une lambda
  5. 5. Fluent waits
  6. 6. Synthèse sur les waits
  7. 7. Stratégie de chargement de la page
  8. 8. Passons aux vrais tests fonctionnels
    1. 8.1 Application multipage
      1. 8.1.1 Description de l’application
      2. 8.1.2 Tests de l’application
    2. 8.2 Application OnePage
      1. 8.2.1 Description de l’application
      2. 8.2.2 Tests de l’application
  9. 9. Exercices
    1. 9.1 Exercice 1
    2. 9.2 Exercice 2
Le design pattern Page Object Model
  1. 1. Vers une meilleure modélisation de nos tests
  2. 2. Le design pattern Page Object Model (POM)
    1. 2.1 Application multipage
    2. 2.2 Application OnePage
  3. 3. Exercices
L'exécution sur plusieurs navigateurs simultanément
  1. 1. Limite de notre approche actuelle
  2. 2. Mise en place et implémentation
  3. 3. Exercice
Le design pattern Data Driven Testing
  1. 1. Principe et avantages
  2. 2. Data Driven Testing avec POM et fichiers
    1. 2.1 Fichier JSON, POM et Data Driven Testing
    2. 2.2 Fichier CSV, POM et Data Driven Testing
    3. 2.3 Fichier XML, POM et Data Driven Testing
    4. 2.4 Fichier XLS, POM et Data Driven Testing
  3. 3. Data Driven Testing et BD
  4. 4. Data Driven Testing sans POM
  5. 5. Exercice
  6.  
  7.  
  8. Index
Auteur : Ludivine CREPIN

Ludivine CREPIN

Docteur en Intelligence Artificielle depuis 2009, Ludivine CREPIN est depuis consultante indépendante pour des entreprises au niveau européen, de la start-up à la multinationale. Forte de son expertise, elle propose à ses clients ses services de conseil, de développement et de recherche appliquée pour tous les types de projets informatiques. Les projets qu’elle mène couvrent toutes les phases de leur développement, de l’écriture du code à la mise en production des applications dont le comportement est garanti entre autres par les tests fonctionnels. Également formatrice, Ludivine fait ici profiter le lecteur de toute sa pédagogie pour la maîtrise des tests fonctionnels avec Selenium.

En savoir plus

Découvrir tous ses livres

  • Algorithmique Techniques fondamentales de programmation - Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique (Nouvelle édition)

Nos nouveautés

voir plus