Selenium WebDriver con Node.js è un potente strumento per automatizzare i test delle applicazioni web. Utilizzando Selenium WebDriver Node.js, puoi controllare i browser, interagire con gli elementi delle pagine Web e scrivere facilmente script di test automatizzati. Con il supporto per i browser più diffusi come Chrome, Firefox e Safari, Selenium WebDriver ti consente di testare le applicazioni Web su più piattaforme.
Questo articolo fornisce una guida dettagliata sull'utilizzo Selenium WebDriver con Node.js, coprendo l'installazione, la configurazione e esempi pratici per aiutarti a iniziare con un efficiente test automatizzato delle applicazioni web.
Guida all'utilizzo Selenium WebDriver con Node.js
Installazione Selenium WebDriver
e dipendenze
Apri terminal
il prompt dei comandi o e vai alla directory del progetto.
Eseguire il comando seguente per installare Selenium WebDriver
e le dipendenze necessarie:
npm install selenium-webdriver chromedriver
Questo comando verrà installato Selenium WebDriver
per Node.js e il driver Chrome(chromedriver) per il controllo del browser Chrome.
Importa e inizializza WebDriver
Importa il file richiesto module
const { Builder, By, Key, until } = require('selenium-webdriver');
Inizializza l'oggetto WebDriver per il browser desiderato(ad es. Chrome):
const driver = new Builder().forBrowser('chrome').build();
Usa WebDriver per interagire con il browser
Apri un URL
await driver.get('https://www.example.com');
Trova e interagisci con gli elementi:
// 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();
Puoi utilizzare metodi come findElement
, sendKeys
, click
, wait
, ecc. per interagire con gli elementi della pagina web.
Chiudere il WebDriver
Chiudi il browser e termina la sessione:
await driver.quit();
Ecco un esempio dettagliato di ricerca e inserimento di dati in un campo di input su una pagina 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();
In questo esempio, troviamo l'elemento di input per ID( my-input-id
), quindi utilizziamo il sendKeys
metodo per inserire i dati nel campo di input. Infine, premiamo il tasto Invio usando sendKeys(Key.ENTER)
e chiudiamo il browser con driver.quit()
.