Selenium WebDriver med Node.js är ett kraftfullt verktyg för att automatisera testning av webbapplikationer. Genom att använda Selenium WebDriver med Node.js kan du kontrollera webbläsare, interagera med element på webbsidor och skriva automatiska testskript med lätthet. Med stöd för populära webbläsare som Chrome, Firefox och Safari Selenium WebDriver kan du testa webbapplikationer på flera plattformar.
Den här artikeln ger en detaljerad guide om hur du använder Selenium WebDriver Node.js, som täcker installation, konfiguration och praktiska exempel som hjälper dig att komma igång med effektiv automatiserad webbapplikationstestning.
Guide till användning Selenium WebDriver med Node.js
Installation Selenium WebDriver
och beroenden
Öppna din terminal
eller kommandotolken och navigera till din projektkatalog.
Kör följande kommando för att installera Selenium WebDriver
och nödvändiga beroenden:
npm install selenium-webdriver chromedriver
Det här kommandot installeras Selenium WebDriver
för Node.js och Chrome-drivrutinen(chromedriver) för att styra webbläsaren Chrome.
Importera och initiera WebDriver
Importera det nödvändiga module
const { Builder, By, Key, until } = require('selenium-webdriver');
Initiera WebDriver-objektet för önskad webbläsare(t.ex. Chrome):
const driver = new Builder().forBrowser('chrome').build();
Använd WebDriver för att interagera med webbläsaren
Öppna en URL
await driver.get('https://www.example.com');
Hitta och interagera med element:
// 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();
Du kan använda metoder som findElement
, sendKeys
, click
, wait
, etc. för att interagera med element på webbsidan.
Stäng WebDriver
Stäng webbläsaren och avsluta sessionen:
await driver.quit();
Här är ett detaljerat exempel på att hitta och skriva in data i ett inmatningsfält på en webbsida:
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();
I det här exemplet hittar vi inmatningselementet genom ID( my-input-id
), använd sedan sendKeys
metoden för att mata in data i inmatningsfältet. Slutligen trycker vi på Enter-tangenten med sendKeys(Key.ENTER)
och stänger webbläsaren med driver.quit()
.