Comment développer un cadre d'automatisation de test à partir de zéro?

Dans ce guide étape par étape, je décrirai comment développer un Framework d'automatisation de test modulaire à partir de zéro à l'aide de Java, Selenium, TestNG et Maven.

Pour commencer, voyons ce qu'est un framework d'automatisation de test et quels sont les avantages d'en créer un.



Framework d'automatisation des tests

Quel est le but d'un framework d'automatisation de test? Quels défis résout-il pour l'équipe de développement?


Dans le développement agile, vous n'aurez peut-être pas assez de temps pour automatiser vos nouvelles fonctionnalités à temps, vous pourriez donc créer des scripts automatisés, dupliquant beaucoup de code à de nombreux endroits.

Le refactoring du code fait partie intégrante du développement logiciel pour éviter de créer une énorme dette technologique. Cela s'applique également à l'automatisation des tests; en refactorisant vos scripts automatisés, vous améliorerez la lisibilité et la maintenance à long terme.


Dans ce didacticiel Test Automation Framework, le produit final est le résultat de nombreuses refactorisations au fil du temps. De toute évidence, l'amélioration continue est essentielle si nous voulons obtenir un bon retour sur investissement de l'automatisation des tests.

Lors de la création d'un Framework d'automatisation de test, nous devons prendre en compte les points principaux suivants:

  • Pour pouvoir créer rapidement des tests automatisés en utilisant des couches d'abstraction appropriées
  • Le cadre doit avoir une structure de journalisation et de rapport significative
  • Doit être facilement maintenable et extensible
  • Doit être assez simple pour que les testeurs écrivent des tests automatisés
  • Un mécanisme de relance pour réexécuter les tests ayant échoué - ceci est particulièrement utile pour les tests de l'interface utilisateur WebDriver

Dans ce tutoriel, j'utiliserai:

  • Java comme langage de programmation
  • TestNG comme cadre d'assertion
  • Maven comme outil de construction
  • WebDriver comme outil d'automatisation du navigateur
  • IntelliJ comme l'IDE

Ce didacticiel Test Automation Framework est divisé en deux parties:


Partie 1: Création du projet de base et des modules et des dépendances

Partie 2: Ajout du code

Dans la partie 1 de ce didacticiel, je suppose que Java et Maven sont déjà installés sur votre machine.

Étapes pour créer un cadre d'automatisation de test à partir de zéro


Étape # 1 - Créer un nouveau projet maven

Ouvrez IntelliJ IDE et sélectionnez Nouveau projet dans le menu. Un écran vous est alors présenté pour sélectionner le type de projet qui vous intéresse.

Étape # 2 - Donnez un nom à votre projet


Sélectionnez Maven comme type de projet. Donnez un nom à GroupId et ArtifatId - J'ai décidé de nommer ce cadre d'automatisation de test, Rima.

Étape # 3 - Choisissez l'emplacement de votre projet

Maintenant, choisissez un nom pour votre projet et sélectionnez un répertoire pour votre espace de travail


Étape # 4 - Le projet de base est créé

Vous avez maintenant créé un projet de base. Nous pouvons commencer à créer des modules maven dans ce projet pour organiser la structure de notre Framework d'automatisation de test.

Et voici à quoi ressemble notre pom.xml

Comme il s’agit de notre projet de base avec le pom.xml parent, nous n’aurons aucun code dans ce projet. Au lieu de cela, nous créerons des modules maven pour différentes parties du cadre d'automatisation des tests. Allez-y et supprimez le src dossier.

Étape # 5 - Créez différents modules

Nous sommes maintenant en mesure de créer différents modules maven pour notre framework. Nous allons créer les modules suivants:

rima-cadre - ce module contient toutes les classes et méthodes associées pour faciliter la création de tests automatisés.

domaine-rima - ce module contient les classes de langage DSL (domain specific language).

objets-page-rima - comme son nom l'indique, ce module contient les objets de la page.

tests de régression rima - et enfin nos tests de régression automatisés.

Nous allons commencer par créer le rima-cadre module. Pour ce faire, sélectionnez Fichier> Nouveau> Module

Sélectionnez le module Maven et cliquez sur Suivant

Dans l'écran suivant, vous pouvez donner l'artefactId du module que vous créez, dans ce cas, rima-cadre

Notez le module parent et le groupId comme Rima et cliquez sur Suivant où nous pouvons donner le nom du module et cliquez sur Terminer.

Une fois que rima-cadre le module est créé, il devrait ressembler à ceci

Nous pouvons ensuite continuer à créer le reste des modules de la même manière. Une fois que nous avons créé tous les modules, notre projet devrait ressembler à ci-dessous

Et enfin, tous les modules ont été ajoutés à la racine pom.xml

Ajouter des dépendances

Ensuite, nous devons ajouter les dépendances entre les modules dans le framework ainsi que les bibliothèques et autres projets maven dont dépend notre Framework d'automatisation de test.

J'ai ajouté les dépendances dans les fichiers pom.xml. Vous pouvez jeter un œil aux fichiers pom.xml dans mon dépôt GitHub:

https://github.com/AmirGhahrai/Rima

Dans la partie 2 de ce didacticiel, nous passerons en revue le code actuel de Test Automation Framework écrit en Java, WebDriver et TestNG.

Et voici le lien vers la partie 2 de ce tutoriel:

Framework de modèle d'objet de page avec Java et WebDriver

Lectures complémentaires: