Selenium WebDriver avec Node.js est un outil puissant pour automatiser les tests d'applications Web. En utilisant Selenium WebDriver Node.js, vous pouvez contrôler les navigateurs, interagir avec des éléments sur des pages Web et écrire facilement des scripts de test automatisés. Avec la prise en charge des navigateurs populaires tels que Chrome, Firefox et Safari, Selenium WebDriver vous permet de tester des applications Web sur plusieurs plates-formes.
Cet article fournit un guide détaillé sur l'utilisation Selenium WebDriver de Node.js, couvrant l'installation, la configuration et des exemples pratiques pour vous aider à démarrer avec des tests d'applications Web automatisés efficaces.
Guide d'utilisation Selenium WebDriver avec Node.js
Installation Selenium WebDriver
et dépendances
Ouvrez votre terminal
invite de commande ou et accédez au répertoire de votre projet.
Exécutez la commande suivante pour installer Selenium WebDriver
et les dépendances nécessaires :
npm install selenium-webdriver chromedriver
Cette commande s'installera Selenium WebDriver
pour Node.js et le pilote Chrome(chromedriver) pour contrôler le navigateur Chrome.
Importer et initialiser WebDriver
Importez les éléments requis module
const { Builder, By, Key, until } = require('selenium-webdriver');
Initialisez l'objet WebDriver pour le navigateur souhaité(par exemple, Chrome) :
const driver = new Builder().forBrowser('chrome').build();
Utiliser WebDriver pour interagir avec le navigateur
Ouvrir une URL
await driver.get('https://www.example.com');
Trouvez et interagissez avec des éléments :
// Find an element by ID
const element = await driver.findElement(By.id('my-element-id'));
// Enter text into an input element
await element.sendKeys('Hello, World!');
// Press the Enter key
await element.sendKeys(Key.ENTER);
// Wait for an element to be located
await driver.wait(until.elementLocated(By.css('.my-element-class')));
// Click on an element
await element.click();
Vous pouvez utiliser des méthodes telles que findElement
, sendKeys
, click
, wait
, etc. pour interagir avec les éléments de la page Web.
Fermez le pilote Web
Fermez le navigateur et terminez la session :
await driver.quit();
Voici un exemple détaillé de recherche et de saisie de données dans un champ de saisie sur une page Web :
const { Builder, By, Key, until } = require('selenium-webdriver');
async function runTest() {
try {
const driver = new Builder().forBrowser('chrome').build();
await driver.get('https://www.example.com');
// Find the input element by ID
const inputElement = await driver.findElement(By.id('my-input-id'));
// Enter data into the input field
await inputElement.sendKeys('Hello, World!');
// Press the Enter key
await inputElement.sendKeys(Key.ENTER);
// Close the browser
await driver.quit();
} catch(error) {
console.error('Test failed:', error);
}
}
runTest();
Dans cet exemple, nous trouvons l'élément d'entrée par ID( my-input-id
), puis utilisons la sendKeys
méthode pour saisir des données dans le champ de saisie. Enfin, nous appuyons sur la touche Entrée en utilisant sendKeys(Key.ENTER)
et fermons le navigateur avec driver.quit()
.