Publié: Octobre 13, 2022
Comment configurer et exécuter des tests Selenium à l'aide de différents outils de création et frameworks de test Java
Supposons que vous deviez écrire des tests Selenium. Vous prévoyez de les écrire en Java. Vous devrez d'abord choisir le framework de test que vous utiliserez pour le code de vos tests. Ensuite, il vous faudra un outil d'automatisation de la compilation pour votre projet. Vous connaissez peut-être déjà le framework et l'outil de compilation que vous utiliserez, mais vous ne savez pas comment les configurer pour votre projet.
Dans cet article, nous allons examiner TestNG et JUnit, deux frameworks de test Java très répandus. Nous aborderons également quelques outils de construction populaires, tels qu'Apache Maven, Gradle et Apache Ant. Nous avons choisi TestNG et JUnit car ce sont les frameworks de test Java les plus utilisés. Bien que TestNG présente certains avantages par rapport à JUnit, ce dernier est plus fréquemment employé dans les projets de développement logiciel. Nous montrerons comment créer et exécuter des tests Selenium à l'aide de ces frameworks et outils de construction.
Avant de commencer à écrire des tests et à utiliser des frameworks et des outils de compilation, assurez-vous que le JDK est installé sur votre poste de travail et vérifiez le navigateur utilisé. Vous devrez installer un IDE et un pilote de navigateur correspondant à celui dans lequel vous exécuterez vos tests. Il vous faudra peut-être modifier certains paramètres d'environnement.
Si le JDK Java n'est pas installé sur le poste de travail où vous allez développer et exécuter des tests, vous devez l'installer. Au moment de la rédaction de cet article, la dernière version disponible de Java est la 11.0.2. Vous pouvez la télécharger. ici Après l'installation, vous devez définir Java_HOME comme variable d'environnement. Par exemple :
Définir Java_HOME=C:\Program Files\Java\jdk-11.0.2
Dans les exemples présentés dans cet article, nous utiliserons IntelliJ IDEA. Il suffit d'installer la dernière version Community. Le menu déroulant vous permet de choisir le package d'installation correspondant à votre version de Java. Puisque vous avez installé JDK 11, sélectionnez la version d'IDEA pour Java 11 : https://www.jetbrains.com/idea/. Si une autre version de JDK est installée sur votre poste de travail, sélectionnez le package IDEA approprié. La procédure est illustrée ci-dessous.

Installez le pilote correspondant au type et à la version du navigateur que vous utiliserez pour vos tests. Dans les exemples présentés dans cet article, nous utilisons Google Chrome. Vous pouvez télécharger les pilotes pour Google Chrome. iciDécompressez-le dans un répertoire de votre choix.
Une fois l'ensemble des outils de base installé et configuré, nous pourrons passer à la rédaction des tests de démonstration.
Pour illustrer l'utilisation d'un framework de test avec un outil de build, nous avons besoin d'un exemple de tests. Dans cet exemple, nous ouvrirons le Site web ExperitestTrouvez le lien « Webcasts » sur la page d'accueil d'Experitest, cliquez dessus, puis consultez le titre de la page qui s'ouvrira. L'exemple de test est représenté par deux fichiers : TestBase.java et ViewTest.java. Le premier fichier est la classe responsable de la préparation du test, du lancement du pilote de navigateur et de sa configuration. Le second fichier est la classe qui contient le test proprement dit. Voici le code :
[java] public class TestBase { protected static WebDriver driver; @BeforeClass public static void setUp(){ System.setProperty(“webdriver.chrome.driver”, “D:\\chrome-driver-73\\chromedriver.exe”); driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } @AfterClass public static void tearDown(){ driver.close(); driver.quit(); } } System.setProperty(“webdriver.chrome.driver”, “D:\\chrome-driver-73\\chromedriver.exe”); – Cette méthode définit le chemin d'accès au pilote Chrome sur votre poste de travail. Contenu de la classe ViewTest.java : public class ViewTest extends TestBase { @Test public void test() { driver.get(“https://experitest.com/”); WebElement linkToWebinars = driver.findElement(By.linkText(“Webcasts”)); linkToWebinars.click(); WebElement headerForWebinar = driver.findElement(By.xpath(“//div[@class='papers2 image']/p[@class='title1′]”)); Assert.assertEquals(headerForWebinar.getText(), “From Tester to Developer: Tips and Insights”); } } [/java]
Les fichiers comportent les annotations `@BeforeClass`, `@AfterClass` et `@Test`, utilisées par les frameworks de test TestNG et JUnit. La méthode `Assert.assertEquals` est également présente dans les deux frameworks et incluse dans le test, mais avec un ordre de paramètres différent. Dans TestNG, le paramètre `assert`, qui représente la valeur réelle, est passé en premier. La valeur attendue est le second paramètre. En revanche, dans JUnit, l'ordre est inversé : la valeur attendue est le premier paramètre et la valeur réelle le second.
[java]Assert.assertEquals(“Du testeur au développeur : conseils et informations”, headerForWebinar.getText());[/java]
Dans les sections suivantes, nous allons vous montrer comment créer et exécuter des tests avec un framework et un outil de création spécifiques, choisis pour cet article. Nous partons du principe que vous avez déjà installé et configuré JDK, IDEA et un pilote de navigateur.
Framework TestNG et Apache Maven
Apache Maven est un outil de gestion des dépendances et d'automatisation de la construction. Maven s'appuie sur des conventions, fournit des commandes prédéfinies et impose une structure de projet stricte. Son fichier de configuration est pom.xml.
Étape 1
Installez l'outil Apache Maven pour la construction de projets Java. Pour ce faire, téléchargez la dernière version de mavenAu moment de la rédaction de cet article, la dernière version disponible de Maven était la 3.6.0. Décompressez l'archive dans n'importe quel répertoire. Définissez les variables d'environnement :
[java] set M2_HOME=C:\apache-maven-3.6.0 set PATH=%M2_HOME%\bin. [/java]
Étape 2
Créez un nouveau projet Maven dans IntelliJ IDEA, puis renseignez les informations relatives au groupID, à l'artifactID et à la version du projet. Spécifiez ensuite le nom et l'emplacement du projet. Une fois ces étapes réalisées, la structure du projet sera créée et le fichier pom.xml, qui contrôle le processus de compilation, sera placé à la racine du projet. La capture d'écran ci-dessous illustre la structure du projet et le contenu du fichier pom.xml. Ce dernier contient les paramètres définis lors de la création du projet. En effet, les dépendances doivent être définies dans le fichier pom.xml pour pouvoir exécuter des tests automatisés et utiliser un framework de test. Outre les dépendances, il est nécessaire de définir d'autres artefacts. Tous les paramètres, artefacts et dépendances sont ajoutés dans les sections correspondantes du fichier pom.xml.

Étape 3
Spécifiez la liste des bibliothèques pour la création des tests. Ajoutez le plugin principal : le compilateur. Il est utilisé par défaut et il n’est pas nécessaire de le spécifier, mais vous pouvez indiquer sa version. Le contenu de la section plugin du fichier de compilation est affiché ici.
[html] org.apache.maven.plugins plugin de compilation Maven 3.8.0 [/html]
Pour utiliser le framework TestNG, il est nécessaire d'ajouter sa définition dans la section des dépendances du fichier pom.xml. La section des dépendances du fichier pom.xml pour la connexion du framework TestNG au projet ressemble à ceci.
[html 1="https://mvnrepository.com/artifact/org.testng/testng" 2="–>" 3=" ” 4=” org.testng ” 5=” testng ” 6=” 6.14.3 ” 7=” ” 8=”[/html” language=””] Les paramètres groupId, artifactId et version se trouvent dans le dépôt central Maven. Recherchez TestNG, sélectionnez la dernière version et la section des dépendances contenant ces paramètres s'affichera. Copiez-les et collez-les dans le fichier pom.xml de votre projet. De la même manière, la bibliothèque selenium-api est connectée à votre projet. La section des dépendances pour la connexion à Selenium est affichée ici. [html] org.seleniumhq.selenium API Selenium 3.14.0 [/html]
Pour utiliser WebDriver avec le navigateur Chrome, la bibliothèque selenium-chrome-driver est nécessaire. Ajoutez-le à la section des dépendances du fichier pom.xml.
[html] org.seleniumhq.selenium pilote de chrome sélénium 3.14.0 [/html]
Outre le centre névralgique des experts, il y a dépôt principal Maven Vous pouvez obtenir toutes les informations nécessaires auprès de. Le fichier pom.xml configuré pour notre projet est présenté ci-dessous.
[html] 4.0.0 Modèle Modèle 1.0-APERÇU org.seleniumhq.selenium API Selenium 3.14.0 org.testng testng 6.14.3 org.seleniumhq.selenium pilote de chrome sélénium 3.14.0 org.apache.maven.plugins plugin de compilation Maven 3.6.0 [/html]
Toutes les bibliothèques définies dans la section « dependency » du fichier pom.xml doivent être téléchargées depuis le dépôt Maven. Pour installer les bibliothèques nécessaires, vous devez mettre à jour votre projet.
Pour ce faire, cliquez sur le bouton Réimporter dans la fenêtre d'outils Projets Maven d'IDEa. Toutes les dépendances spécifiées seront téléchargées et, lors de la création du test, les bibliothèques requises seront accessibles via les directives d'importation Java.

Étape 4
Ajoutez vos tests au dossier test.java. Dans cet article, nous avons ajouté des exemples de tests, dont le code est présenté dans le premier paragraphe.
Étape 5
Si vous prévoyez d'exécuter tous les tests séquentiellement, vous pouvez ignorer cette étape. En revanche, si vous souhaitez gérer la suite de tests ultérieurement, vous devez utiliser le fichier testng.xml. Ajoutez le sous-répertoire resources au répertoire de test et créez-y un fichier testng.xml.

Dans votre fichier testng.xml, spécifiez les tests que vous allez exécuter. Dans notre cas, d'après l'exemple de test, il y a une suite de tests avec une seule classe de test. Le contenu du fichier test.xml pour l'exemple de test est présenté ici.
[html] [/html]
Puisque nous définissons les tests de lancement dans le fichier test.xml, il est nécessaire de fournir à Maven les informations nécessaires. Ajoutez les lignes suivantes à la section plugin du fichier pom.xml. Le contenu de la section du plugin correspondant est affiché ici.
[html] … org.apache.maven.plugins plugin maven surefire 3.0.0-M3 src/test/resources/testng.xml … [/html]
Étape 6
Vous pouvez désormais exécuter les tests dans la console de l'IDE à l'aide de Maven. Saisissez la commande `mvn clean test`. Le paramètre `clean` indique à Maven de supprimer toutes les versions précédentes, le cas échéant, tandis que le paramètre `test` lui indique d'exécuter les tests.

Si vous avez suivi les instructions, votre test d'exemple s'exécutera avec succès. Le résultat de l'exécution est illustré ci-dessous.

Framework JUnit et Apache Maven
La procédure de configuration du framework JUnit avec Apache Maven est quasiment identique à celle utilisée pour le framework TestNG. Seule l'étape 3 diffère : l'ajout des dépendances du framework de test au fichier pom.xml. La section des dépendances JUnit du fichier de construction se trouvera ici.
[html] junit junit 4.12 test [/html]
Saisissez la commande `mvn clean test` dans la fenêtre du terminal et lancez les tests du projet. Le résultat de l'exécution sera celui affiché dans la capture d'écran ci-dessous.

JUnit + Gradle :
Gradle est un outil de gestion des dépendances et d'automatisation de la construction, basé sur les concepts d'Ant et de Maven. Contrairement à Ant et Maven, Gradle n'utilise pas de fichiers XML. Il utilise un langage dédié (DSL) basé sur Groovy, ce qui permet d'obtenir des fichiers de configuration plus courts. Par convention, le fichier de configuration de Gradle est nommé build.gradle.
Nous supposons que JDK, IDEA et les pilotes de navigateur sont installés et configurés sur votre poste de travail.
Étape 1
Installez Gradle. La version actuelle de Gradle est la 5.4.
Téléchargez la dernière version sur https://gradle.org/releases/.
Décompressez l'archive, par exemple sur le disque local C.
Définissez les variables d'environnement suivantes :
GRADLE_HOME=C:\gradle-5.4,
CHEMIN=%GRADLE_HOME%\bin
Étape 2
Créez un projet Gradle dans IntelliJ IDEA, sélectionnez le générateur Gradle, spécifiez la version du SDK ainsi que les bibliothèques et frameworks supplémentaires. Ajoutez les informations relatives au groupID, à l'artifactID et à la version du projet créé. Définissez les options Gradle. Spécifiez le nom et l'emplacement du projet. Une fois ces étapes terminées, la structure du projet sera créée et le fichier `gradle.build`, qui contrôle le processus de compilation, sera placé à la racine du projet. La capture d'écran ci-dessous illustre la structure du projet et le contenu du fichier de compilation `build.gradle`. En effet, les dépendances doivent être définies dans ce fichier pour pouvoir utiliser les tests automatisés et le framework de test. Outre les dépendances, il est nécessaire de définir d'autres artefacts. Tous les paramètres, artefacts et dépendances sont ajoutés dans les sections correspondantes du fichier `build.gradle`.

Étape 3
Par défaut, Gradle inclut une référence au framework JUnit dans ses dépendances. Vous pouvez le constater sur la capture d'écran ci-dessus. Pour ajouter des références aux bibliothèques selenium-API et selenium-chrome-driver dans les dépendances de Gradle, il faut les rechercher dans le dépôt central Maven. Ensuite, dans les résultats de la recherche, sélectionnez la référence pour le constructeur Gradle. La référence à selenium-API dans les dépendances ressemblera à ceci :
[java] //https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-api compile group: 'org.seleniumhq.selenium', name: 'selenium-api', version: '3.14.0' La référence à la bibliothèque selenium-chrome-driver ressemblera à : //https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver compile group: 'org.seleniumhq.selenium', name: 'selenium-chrome-driver', version: '3.14.0' [/java]
Une fois toutes les dépendances configurées, mettez à jour le projet en cliquant sur le bouton d'actualisation dans la barre d'outils Gradle, avant de déclarer les classes référencées dans les directives d'importation.

Ajoutez vos tests au dossier test.java. Pour exécuter le test, cliquez sur le bouton « Exécuter la tâche Gradle » dans la barre d'outils Gradle.

Dans le champ Ligne de commande de la fenêtre de dialogue qui s'affiche ensuite, définissez la tâche à effectuer et cliquez sur le bouton OK. Le test démarrera et le journal de réussite s'affichera dans la console, comme illustré ci-dessous.

TestNG + Gradle :
La procédure de configuration du framework TestNG avec Gradle est quasiment identique à celle utilisée pour JUnit. La seule différence réside dans l'étape 3, lors de l'ajout des dépendances du framework de test au fichier build.gradle. Pour se connecter à TestNG, il est nécessaire de remplacer la référence à JUnit par celle à TestNG.
Ajoutez une référence au framework TestNG, comme indiqué ci-dessous. Cette chaîne de caractères fait référence à la dernière version du framework TestNG disponible dans le dépôt Maven.
[java] // https://mvnrepository.com/artifact/org.testng/testng testCompile group: 'org.testng', name: 'testng', version: '6.14.3' [/java]
Ajoutez vos tests au dossier test.java. Si vous souhaitez gérer vos tests, créez un fichier testng.xml et ajoutez-le au dossier src/test/resources/. La structure d'un fichier testng.xml est présentée ici à titre d'exemple.
[html] [/html]
Pour que Gradle recherche et exécute TestNG après la compilation, vous devez ajouter la tâche de test à la fin du fichier et Veuillez indiquer l'emplacement du fichier testng.xml.
Pour exécuter le test, cliquez sur le bouton « Exécuter la tâche Gradle » de la barre d'outils Gradle. Dans la fenêtre de dialogue qui s'affiche, définissez la tâche à exécuter dans le champ « Ligne de commande », puis cliquez sur « OK ». Le test démarre et le journal de réussite s'affiche dans la console, comme illustré ci-dessous.

TestNG + Apache Ant
Apache Ant (« Another Neat Tool ») est une bibliothèque Java permettant d'automatiser les processus de compilation des applications Java. Ant peut également être utilisé pour compiler des applications non-Java. Les fichiers de compilation Ant sont écrits en XML et, par convention, nommés build.xml. Le principal avantage d'Ant réside dans sa flexibilité : il n'impose aucune convention de codage ni structure de projet particulière.
Nous supposons que JDK, IDEA et le pilote du navigateur sont installés et configurés.
Étape 1
Installez Apache Ant. Vous pouvez le télécharger depuis le site web. site officielTéléchargez Apache Ant 1.10.5, car il prend en charge Java 8 et versions ultérieures. Décompressez l'archive téléchargée, par exemple sur votre disque local C. Définissez la variable d'environnement suivante :
définir ANT_HOME=C:\apache-ant-1.10.5
définir PATH=%Java_HOME%\bin;%ANT_HOME%\bin
Étape 2
Créez un nouveau projet dans l'IDE. Comme IDEA ne propose pas de projet Ant, créez un simple projet Java. Ignorez l'option de création de projet à partir d'un modèle. Choisissez le nom et l'emplacement du projet. Une fois la configuration terminée, le projet dans l'IDE ressemblera à la capture d'écran ci-dessous.

Pour structurer le projet, ajoutez les sous-dossiers test.Java et test.resources.

Étape 3
Ensuite, vous devez ajouter les bibliothèques correspondantes. Pour cela, téléchargez-les et placez-les dans le dossier « lib », puis connectez-les à votre projet. Créez un dossier « lib » dans votre projet et téléchargez-y les bibliothèques depuis… dépôt Maven principal:
guava-27.0.1-jre.jar – ensemble de bibliothèques utiles.
jcommander-1.72.jar – la bibliothèque permettant d'analyser la ligne de commande.
okhttp-3.14.1.jar – la bibliothèque que Selenium utilise pour interagir avec le pilote et le serveur.
okio-1.17.3.jar – une bibliothèque supplémentaire qui complète Java.io et Java.nio.
selenium-api-3.14.0.jar – la bibliothèque pour la création de scripts Selenium WebDriver.
selenium-chrome-driver-3.14.0.jar – la bibliothèque que Selenium utilise pour fonctionner avec le pilote Web Google Chrome.
selenium-remote-driver-3.14.0.jar – la bibliothèque pour la création de scripts Selenium WebDriver.
testng-6.14.2.jar – Framework TestNG.
Une fois toutes les bibliothèques ajoutées, le contenu du dossier lib ressemblera à ceci :

Ensuite, ces bibliothèques doivent être intégrées au projet. Dans les paramètres du projet d'IDE IntelliJ IDEA, sélectionnez l'entrée Modules. Dans l'onglet Dépendances, ajoutez le chemin d'accès au dossier contenant les bibliothèques.
Étape 4
Créez un fichier de configuration build.xml à la racine du projet. Définissez les tâches : nettoyage, compilation, test. L'exemple du fichier build.xml avec les tâches définies est présenté ci-dessous.
[html] [/html]
Étape 5
Ajoutez vos tests au dossier test.Java.
Étape 6
Créez un fichier pour gérer vos tests. Ajoutez le fichier testng.xml au dossier src/test/resources/.
[html] Ajoutez les règles de création et d'exécution des tests au fichier build.xml : [/html]
Étape 7
Ensuite, ajoutez le fichier de construction à l'outil de construction Ant :
Sélectionnez la tâche et exécutez-la :

La capture d'écran ci-dessous présente le résultat de l'exécution de la tâche.

JUnit + Apache Ant :
Les étapes de création et d'exécution d'un projet de test Java sont identiques à celles décrites précédemment. La différence réside dans la première étape : la bibliothèque JUnit est téléchargée et installée à la place de TestNG.
junit-4.12.jar – Framework JUnit.
hamcrest-all-1.3.jar – une bibliothèque supplémentaire nécessaire au fonctionnement de JUnit.
Le fichier build.xml du framework JUnit se présentera comme suit.
[html] Les règles de création et d'exécution des tests sont ajoutées au fichier build.xml de la manière suivante : [/html]
Ajoutez le fichier de compilation à Ant Build Tool. Sélectionnez la tâche JUnit et exécutez-la.

Le journal de compilation et d'exécution des tests est présenté dans l'image ci-dessous.

Dans cet article, nous avons expliqué comment utiliser les frameworks Java JUnit et TestNG avec les outils de développement les plus courants. Vous savez désormais comment démarrer et mener à bien votre projet d'automatisation.
Vous aimerez aussi
Pourquoi la plupart des échecs de demandes de financement ne sont pas détectés avant Release
Un client ouvre son application bancaire pour effectuer un virement. Le…
Appium et les frameworks mobiles modernes : comprendre les défis de l’automatisation
L'automatisation mobile a considérablement mûri au cours de la dernière décennie, en grande partie…
Le mythe du verrouillage de l'automatisation : migrer Quantum sans réécriture
Lors de mes échanges avec de nombreuses équipes d'assurance qualité d'entreprise en tant que…