Informations le projet Dicobol (Pro)

Pour assurer le bon fonctionnement du service web Dicobol dédié aux agents de la DGFIP, des tests Selenium sont réalisés afin de valider les modifications de code avant leur mise en production. Ces tests sont actuellement basés sur la version 2 de Selenium et doivent être migrés vers la version 4. Un total de 52 tests sont concernés par cette migration.

Migration vers Selenium 4

Dans le cadre de la migration vers la version 4 de Selenium, il est nécessaire d'effectuer de nouveaux imports et de modifier l'extension de tous les fichiers. En effet, l'extension a été modifiée de TestSeleniumByNice à BaseTestSelenium. Afin d'optimiser le temps, une méthode de recherche par fichier a été utilisée pour remplacer l'ancien texte par le nouveau dans l'ensemble des fichiers simultanément. Les imports ont été effectués manuellement.

Modification des sélecteurs XPath

Auparavant, lors de la recherche d'un élément par son XPath pour effectuer un clic, le code se limitait au « /tr », représentant la ligne du tableau sur laquelle le clic devait être réalisé. Désormais, il est impératif de spécifier également la colonne en ajoutant « /tr/td » à la fin de l'expression XPath, afin d'assurer un fonctionnement correct.

Temps de chargement des éléments

Après la migration de tous les tests vers Selenium 4, il a été observé que certains éléments ne disposaient pas d'un temps de chargement suffisant avant que le programme tente de cliquer dessus ou de récupérer leur contenu textuel.

Par exemple, lors de l'utilisation d'un assertEquals("DD", driver.findElement(By.ccSelector("li.onlytext")).getText()) après avoir saisi des informations dans un filtre pour ne conserver qu'une seule ligne d'un tableau, le programme simule l'appui sur la touche Entrée et récupère immédiatement le texte de la première ligne de la première colonne du tableau. Normalement, le texte récupéré devrait être « DD », mais il arrive souvent que la page n'ait pas le temps de se charger et récupère le texte présent avant la recherche, comme « A1 », provoquant ainsi l'échec du test. Il se peut également que le programme tente de cliquer sur un élément non encore présent sur la page.