Nous avons besoin de navigateurs pour tester les applications web. Selenium automatise le navigateur et nous aide à automatiser les tests d’applications web sur différents navigateurs. L’API Selenium a fourni de nombreuses classes et interfaces pour travailler avec différents types de navigateurs et d’éléments HTML.
Qu’est-ce que l’interface Selenium WebDriver?
Selenium WebDriver est une interface qui définit un ensemble de méthodes. Cependant, l’implémentation est fournie par les classes spécifiques au navigateur. Certaines des classes d’implémentation sont AndroidDriver
, ChromeDriver
, FirefoxDriver
, InternetExplorerDriver
, IPhoneDriver
, SafariDriver
, etc. La fonction principale de WebDriver est de contrôler le navigateur. Il nous permet même de sélectionner les éléments de la page HTML et d’effectuer des opérations telles que le clic, le remplissage de champs de formulaire, etc.

Si nous voulons exécuter nos cas de test dans un navigateur Firefox, nous devons utiliser la classe FirefoxDriver
. De même, si nous voulons exécuter les cas de test dans le navigateur Chrome, nous devons utiliser la classe ChromeDriver
.
Méthodes de Selenium WebDriver
SearchContext est l’interface la plus haute dans l’API Selenium qui a deux méthodes – findElement() et findElements(). L’interface Selenium WebDriver a de nombreuses méthodes abstraites telles que get(String url), quit(), close(), getWindowHandle(), getWindowHandles(), getTitle() etc. WebDriver a des interfaces imbriquées comme Window
, Navigation
, Timeouts
etc. Ces interfaces imbriquées sont utilisées pour effectuer des opérations comme back(), forward() etc.
Method | Description |
---|---|
get(String url) | This method will launch a new browser and opens the given URL in the browser instance. |
getWindowHandle() | It is used to handle single window i.e. main window. It return type is string. It will returns browser windlw handle from focused browser. |
getWindowHandles() | It is used to handle multiple windows. It return type is Set. It will returns all handles from all opened browsers by Selenium WebDriver. |
close() | This command is used to close the current browser window which is currently in focus. |
quit() | This method will closes all the browsers windows which are currently opened and terminates the WebDriver session. |
getTitle() | This method is used to retrieve the title of the webpage the user currently working on. |
Liste des classes implémentant WebDriver
Les principales classes d’implémentation de l’interface WebDriver sont ChromeDriver, EdgeDriver, FirefoxDriver, InternetExplorerDriver etc. Chaque classe de pilote correspond à un navigateur. Nous créons simplement l’objet des classes de pilote et travaillons avec eux.
Class | Description |
---|---|
ChromeDriver | It helps you to execute Selenium Scripts on Chrome browser. |
FirefoxDriver | It helps you to execute Selenium Scripts on Firefox browser. |
InternetExplorerDriver | It helps you to execute Selenium Scripts on InternetExplorer browser. |
Liste des commandes sur WebElement
Selenium WebElement représente un élément HTML. Nous pouvons obtenir une instance de WebElement en utilisant la méthode findElement() et ensuite effectuer des actions spécifiques telles que cliquer, soumettre etc. Certaines des méthodes WebElement couramment utilisées sont:
Command | Description | Syntax |
---|---|---|
findElement() | This method finds the first element within the current web page by using given locator. | WebElement element = driverObject.findElement(By.locator(“value”)); |
sendKeys() | This method enters a value in to an Edit Box or Text box. | driver.findElement(By.elementLocator(“value”)).sendkeys(“value”); |
clear() | It clears the Value from an Edit box or Text Box. | driverObject.findElement(By.locatorname(“value”)).clear(); |
click() | It clicks an Element (Button, Link, Checkbox) etc. | driverObject.findElement(By.ElementLocator(“LocatorValue”)).click(); |
Exemple de Selenium WebDriver – Imprimer le titre du site web
Examinons un exemple simple de l’utilisation de Selenium WebDriver pour invoquer le navigateur Firefox et imprimer le titre d’un site web.
package com.journaldev.selenium.firefox;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class GeckoDriverExample {
public static void main(String[] args) {
//spécifiez l'emplacement de GeckoDriver pour l'automatisation du navigateur Firefox
System.setProperty("webdriver.gecko.driver", "geckodriver");
WebDriver driver = new FirefoxDriver();
driver.get("https://journaldev.com");
String PageTitle = driver.getTitle();
System.out.println("Page Title is:" + PageTitle);
driver.close();
}
}
Sortie:
1551941763563 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/1t/sx2jbcl534z88byy78_36ykr0000gn/T/rust_mozprofile.t6ZyMHsrf2bh"
1551941764296 [email protected] WARN Loading extension '[email protected]': Reading manifest: Invalid host permission: resource://pdf.js/
1551941764297 [email protected] WARN Loading extension '[email protected]': Reading manifest: Invalid host permission: about:reader*
Can't find symbol 'GetGraphicsResetStatus'.
1551941765794 Marionette INFO Listening on port 61417
1551941765818 Marionette WARN TLS certificate errors will be ignored for this session
Mar 07, 2019 12:26:05 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Page Title is:JournalDev - Java, Java EE, Android, Python, Web Development Tutorials
1551941814652 Marionette INFO Stopped listening on port 61417

Vous pouvez consulter plus d’exemples de Selenium depuis notre Repository GitHub.
Référence: Code GitHub de WebDriver
Source:
https://www.digitalocean.com/community/tutorials/selenium-webdriver