32 exemples de projets Selenium avec Eclipse en 2022

Publié: 2021-01-04

Le sélénium fait partie des technologies de premier plan dans la section automatisation des tests Web. En utilisant correctement Selenium, vous pouvez rendre votre processus de test assez efficace et effectuer plusieurs tâches en peu de temps.

C'est pourquoi l'apprentissage du sélénium a pris beaucoup d'importance. Dans cet article, vous apprendrez à travailler sur un projet Selenium avec Eclipse, une autre technologie populaire pour les projets basés sur Java.

Dans un premier temps, nous aborderons les bases de ces technologies. Ensuite, nous verrons comment démarrer un projet Selenium en utilisant Eclipse. Nous avons également partagé un exemple de projet dont vous pouvez vous inspirer. Commençons.

Table des matières

Qu'est-ce que le sélénium ?

Selenium est un framework portable et un outil populaire pour les tests d'applications Web. Il est compatible avec plusieurs langages de programmation tels que Python, C# et Java. Vous pouvez utiliser ces langages pour effectuer diverses tâches avec Selenium, telles que la création d'un script de test. Pourtant, la plupart des utilisateurs préfèrent utiliser Java avec ce framework car il est plus convivial que les autres.

Selenium n'est pas une application logicielle unique. Il s'agit d'une suite d'outils variés que vous pouvez utiliser pour effectuer différents types de tests.

Selenium a les outils suivants dans sa suite :

  • Selenium IDE (environnement de développement intégré)
  • Pilote Web Selenium
  • API client sélénium
  • Télécommande au sélénium (obsolète)
  • Grille de sélénium

Jason Huggins a créé Selenium en 2004. Il voulait automatiser le processus de test manuel répétitif, il a donc créé un programme JavaScript. Ce même programme est devenu le Selenium Core. Outre Jason, de nombreux autres développeurs ont contribué à la création de la suite Selenium.

Pourquoi s'appelle-t-il Sélénium

Le sélénium tire son nom d'une blague. Au moment de son développement, il existait un autre cadre de test automatisé majeur nommé Mercury Interactive. Jason a suggéré en plaisantant le sélénium à ses amis parce que le sélénium est un antidote populaire contre l'empoisonnement au mercure. Ses amis ont accepté la suggestion et lui ont donné le nom qu'il porte maintenant.

Caractéristiques du sélénium

Le sélénium a de nombreuses fonctionnalités ; les plus importants sont les suivants :

  • Selenium est compatible avec presque tous les principaux navigateurs de l'industrie, y compris Chrome, Opera, Safari, etc.
  • Cette suite a un groupe spécifique de commandes appelées Selenese. Ils contiennent la séquence de chaque commande Selenium.
  • Vous pouvez localiser des éléments sur une page Web grâce aux localisateurs d'éléments de Selenium.
  • Vous ne pouvez pas utiliser Selenium pour tester des applications de bureau ou des applications mobiles. Vous ne pouvez l'utiliser que pour tester des applications Web.

Lire : Idées de projets de sélénium

Qu'est-ce que Maven ?

Maven est un outil d'automatisation que les développeurs utilisent principalement pour les projets Java. Outre Java, vous pouvez l'utiliser avec plusieurs autres langages de programmation tels que C #, Scala, Ruby, etc. C'est un produit de l'Apache Software Foundation, c'est donc un outil open source.

Maven rend le processus de construction beaucoup plus simple et vous fournit un système de construction uniforme. Il garantit que les développeurs Java suivent les meilleures pratiques de développement lorsqu'ils travaillent sur des projets Java. Il est entré dans l'industrie en 2002, et depuis lors, il est devenu l'un des projets Apache les plus importants.

Maven tire son nom du mot yiddish « maven », qui signifie « accumulateur de connaissances ».

Caractéristiques de Maven

  • Maven assure la cohérence entre les différents projets
  • Il simplifie la configuration du projet en fournissant le passe-partout pour les modules ou les projets
  • Peut travailler avec plusieurs projets à la fois
  • Maven peut créer n'importe quelle quantité de projets dans ses types de sortie spécifiques tels qu'un WAR ou un JAR sans nécessiter de script dans de nombreux cas
  • Il est basé sur le POM (project object model)

Maintenant que nous avons discuté de Selenium et de Maven, comprenons l'IDE Eclipse. Avoir une connaissance pratique de ces trois éléments est crucial si vous souhaitez travailler sur un projet Selenium avec Eclipse.

Qu'est-ce que l'IDE Eclipse ?

Eclipse est un IDE (environnement de développement intégré) qui aide les développeurs à travailler avec Selenium et les technologies associées. Vous pouvez utiliser Eclipse pour développer des applications en C++, Ruby, Python, C, Perl, Java, etc.

Fonctionnalités de l'IDE Eclipse

  • C'est un outil open-source, ce qui signifie que vous pouvez l'utiliser gratuitement.
  • La plate-forme fondamentale de l'IDE Eclipse a plusieurs plugins et peut être étendue avec plus de plugins.
  • Vous pouvez convertir Eclipse en un IDE pour n'importe quel langage de programmation en utilisant son plugin respectif.
  • Le projet JDT (Java Development Tools) fournit un plugin pour utiliser Eclipse comme un IDE Java. De même, PyDev est un plugin qui vous permet d'utiliser Eclipse comme un IDE Python.
  • Vous pouvez utiliser la plate-forme Eclipse et ses plugins pour créer des IDE, des applications clientes, etc.

Comment créer un projet Selenium avec Eclipse IDE

Dans cette section de notre article, nous verrons comment vous pouvez créer un projet Selenium avec Eclipse. C'est la première étape du travail sur un projet Selenium, et de nombreux débutants ont du mal à le faire.

Vous devez avoir Maven et TestNG installés sur votre système avant de pouvoir créer un projet Selenium via Eclipse. Assurez-vous de les installer (Maven et TestNG) avant de commencer ce processus.

Étape 1:

Ouvrez Eclipse et cliquez avec le bouton droit sur la section Explorateur de packages. Vous verriez un menu contextuel. Sélectionnez le bouton "Nouveau", qui ouvrira un autre menu pour sélectionner l'option "Autre…".

Étape 2:

Lorsque vous cliquez sur le bouton "Autre…", une nouvelle fenêtre s'ouvre. Sélectionnez le projet Maven, puis cliquez sur le bouton "Suivant".

Étape 3:

Une nouvelle fenêtre apparaîtra maintenant. Ici, vous devez cocher la case "Créer un projet simple (ignorer la sélection d'archétype)". Après cela, sélectionnez le bouton "Suivant".

Étape 4:

Dans cette section, vous devez entrer l'ID de groupe et l'ID d'artefact. Ils sont tous deux essentiels pour la dénomination de votre projet. L'identifiant de groupe vous aidera à identifier votre projet parmi tous les autres. Il doit suivre les règles de nom de package. Cela signifie qu'il doit commencer par un nom de domaine inversé que vous contrôlez. Maven n'applique pas cette règle de nommage ; cependant, en raison de la grande popularité de l'outil, il est devenu courant de suivre cette règle. Vous pouvez également créer plusieurs sous-groupes avec un identifiant de groupe.

L'ID d'artefact est le nom de votre pot sans version. Si vous êtes son créateur, vous pouvez choisir n'importe quel nom tant que vous n'utilisez pas de symboles étranges et n'utilisez que des lettres minuscules.

Gardez les points ci-dessus à l'esprit lors de la saisie de l'identifiant de groupe et de l'identifiant d'artefact pour votre projet. Une fois ces informations saisies, cliquez sur le bouton « Terminer ».

Étape 5 :

Ajoutons les dépendances nécessaires au fichier POM pour notre projet. Dirigez-vous vers le fichier pom.xml et sélectionnez l'onglet "pom.xml" dans Eclipse. Maintenant, ajoutez les dépendances liées à TestNG et Selenium WebDriver.

Étape 6 :

Dans cette étape, obtenez un fichier testng.xml en créant une classe TestNG. Copiez le code suivant dans ce fichier :

essais de colis ;

importer org.openqa.selenium.WebDriver ;

importer org.openqa.selenium.firefox.FirefoxDriver ;

importer org.testng.annotations.Test ;

import org.testng.annotations.BeforeClass ;

importer org.testng.annotations.AfterClass ;

classe publique NewTest {

pilote WebDriver public ;

@Test

public void openMyBlog() {

driver.get("https://www.softwaretestingmaterial.com/");

}

@Avant les cours

public void avantClass() {

System.setProperty("webdriver.gecko.driver", "D:\\Selenium\\Drivers\\geckodriver.exe");

pilote = nouveau FirefoxDriver();

}

@Après les cours

public void afterClass() {

pilote.quit();

}

}

Étape #7 :

Vous pouvez maintenant exécuter votre projet Selenium avec Eclipse en utilisant le fichier TestNG.

Assurez-vous de bien comprendre le didacticiel ci-dessus avant de passer au suivant. En effet, dans la section suivante, nous discuterons d'un exemple de travail d'un projet Selenium que vous pouvez créer à l'aide d'Eclipse.

Lisez aussi: Salaire du développeur de sélénium en Inde

Obtenez un cours de développement de logiciels dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Projet Selenium avec Eclipse : un exemple

Ici, nous avons partagé le code d'une solution de réservation de vols basée sur Selenium. Le logiciel sélectionne les lieux d'arrivée et de départ du vol ainsi que la date de celui-ci. Cet outil effectue ces tâches sur le site Web MakeMyTrip.

Vous pouvez vous inspirer de ce projet pour créer vous-même un projet Selenium similaire avec Eclipse. Si vous n'avez jamais travaillé sur un projet Selenium auparavant, nous vous suggérons de travailler d'abord sur une version plus petite de ce projet.

Par exemple, vous pouvez créer un programme qui sélectionne uniquement les lieux d'arrivée et de départ. D'autre part, si vous souhaitez développer ce projet, vous pouvez ajouter plus de fonctionnalités.

Le navigateur

navigateur de packages ;

importer org.openqa.selenium.WebDriver ;

importer org.openqa.selenium.chrome.ChromeDriver ;

classe publique BrowserSelection

{

pilote WebDriver statique ;

WebDriver statique public à l'aide de Chrome ()

{

System.setProperty("webdriver.chrome.driver", "E:\\SeleniumLibs\\\\chromedriver_win32\\chromedriver.exe");

pilote = nouveau ChromeDriver();

driver.manage().window().maximize();

chauffeur de retour ;

}

}

Le code

forfait makemytrip;

import java.awt.AWTException ;

importer java.awt.Robot ;

importer java.awt.event.KeyEvent ;

importer java.util.List ;

import java.util.concurrent.TimeUnit ;

importer org.openqa.selenium.By ;

importer org.openqa.selenium.JavascriptExecutor ;

importer org.openqa.selenium.WebDriver ;

importer org.openqa.selenium.WebDriverException ;

importer org.openqa.selenium.WebElement ;

importer org.testng.annotations.AfterMethod ;

importer org.testng.annotations.BeforeMethod ;

importer org.testng.annotations.Test ;

importer le navigateur.BrowserSelection ;

classe publique MakeMyTripProject

{

pilote WebDriver ;

@BeforeMethod

public void OpenBrowser()

{

pilote = BrowserSelection.UsingChrome();

}

@Test

public void TripDetails() lève InterruptedException, AWTException

{

driver.get("https://www.makemytrip.com/");

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

Thread.sleep(5000);

essayer

{

/*String frameStatus = driver.findElement(By.id("webklipper-publisher-widget-container-notification-frame")).getTagName();

System.out.println(frameStatus);

driver.switchTo().frame("notification-frame-31764456");

driver.findElement(By.xpath(“.//*[@id='webklipper-publisher-widget-container-notification-close-div']/i”)).click();

driver.switchTo().defaultContent();

Thread.sleep(3000); */

driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).click();

driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).clear();

//driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).sendKeys(“Goa”);

Thread.sleep(2000);

List<WebElement> fromCities = driver.findElements(By.xpath(“//ul[@id='ui-id-1′]/li/div/p/span[1]”));

System.out.println(fromCities.size()+"\n");

for(int i=0;i<fromCities.size();i++)

{

Élément WebElement=fromCities.get(i);

System.out.println(element.getAttribute("innerHTML"));

}

//driver.findElement(By.xpath(“//ul[@id='ui-id-1′]/li/div/p/span”)).click();

driver.findElement(By.xpath(“//li[contains(@aria-label,'Top Cities : Goa, India ')]/div/p/span[1]”)).click();

driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).click();

driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).clear();

//driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).sendKeys(“Mumbai”);

Thread.sleep(2000);

List<WebElement> toCities = driver.findElements(By.xpath(“//ul[@id='ui-id-2′]/li/div/p/span[1]”));

System.out.println(toCities.size()+"\n");

for(int i=0;i<toCities.size();i++)

{

Élément WebElement=toCities.get(i);

System.out.println(element.getAttribute("innerHTML"));

}

//driver.findElement(By.xpath(“//ul[@id='ui-id-2′]/li/div/p/span”)).click();

driver.findElement(By.xpath(“//ul[@id='ui-id-2′]/li[3]/div/p/span[1]”)).click();

Thread.sleep(2000);

driver.findElement(By.xpath(“//input[@id='hp-widget__depart']”)).click();

Thread.sleep(2000);

Date de chaîne = "10-OCTOBRE-2018" ;

Séparateur de chaîne[] = date.split("-");

String month_year = splitter[1] ;

chaîne jour = séparateur[0] ;

System.out.println(mois_année);

System.out.println(jour);

selectDate(mois_année,jour);

Thread.sleep(3000);

driver.findElement(By.xpath(“//button[@id='searchBtn']”)).click();

Thread.sleep(5000);

Thread.sleep(2000);

JavascriptExecutor js = (JavascriptExecutor) pilote ;

js.executeScript("window.scrollBy(0,3000)");

/*Robot robot = nouveau Robot();

robot.keyPress(KeyEvent.VK_PAGE_DOWN);

robot.keyRelease(KeyEvent.VK_PAGE_DOWN);*/

Thread.sleep(5000);

driver.findElement(By.xpath(“//div[@id='aln_AI_dep']/span[3]”)).click();

Thread.sleep(5000);

List<WebElement> vols = driver.findElements(By.xpath(“//div[@class='top_first_part clearfix']/div/span/span[2]/span[1]”));

System.out.println("Nombre de résultats de recherche de vols Air India : —"+flights.size());

}catch(WebDriverException e)

{

System.out.println(“L'exception est : —“+e+”\n”);

}

}

public void selectDate(String monthyear, String Selectday) lance InterruptedException

{

List<WebElement> elements = driver.findElements(By.xpath("//div[@class='ui-datepicker-title']/span[1]"));

for (int i=0; i<elements.size();i++)

{

System.out.println(elements.get(i).getText());

//Sélection du mois

if(elements.get(i).getText().equals(monthyear))

{

//Sélection de la date

List<WebElement> days = driver.findElements(By.xpath(“//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui -datepicker-multi ui-datepicker-multi-2′]/div[2]/table/tbody/tr/td/a”) );

pour (WebElement d:jours)

{

System.out.println(d.getText());

if(d.getText().equals(Selectday))

{

d.click();

Thread.sleep(10000);

retourner;

}

}

}

}

driver.findElement(By.xpath(“//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-datepicker-multi ui- datepicker-multi-2′]/div[2]/div/a/span”)).click();

selectDate(moisannée,Selectday);

}

@AprèsMéthode

public void CloseBrowser()

{

pilote.quit();

}

}

Lire : 5 idées et sujets de projet intéressants sur le sélénium pour les débutants

Apprenez à créer un projet Selenium avec Eclipse et plus

Le sélénium est une technologie assez vitale. Apprendre à ce sujet vous aidera à devenir un professionnel compétent en matière de tests de logiciels. Voici quelques ressources supplémentaires sur Selenium et Maven pour une lecture plus approfondie :

  • Comment créer des projets Maven
  • 5 idées de projets intéressants sur le sélénium
  • 30 questions et réponses d'entrevue sur le sélénium

Si vous souhaitez en savoir plus sur Selenium ou sur les tests de logiciels, nous vous recommandons de suivre un cours d'informatique. Vous apprendrez à connaître des extraits de l'industrie à travers des quiz interactifs, des problèmes et des projets.

Nous espérons que vous avez trouvé ce guide utile. Si vous avez des questions concernant cet article ou Selenium, veuillez nous les poser via la section des commentaires ci-dessous. Nous aimerions recevoir de vos nouvelles.

Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets, et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Préparez-vous à une carrière d'avenir

Postulez maintenant pour une maîtrise en génie logiciel