Selenium WebDriver med Node.js er et kraftfuldt værktøj til automatisering af test af webapplikationer. Ved at bruge Selenium WebDriver med Node.js kan du styre browsere, interagere med elementer på websider og skrive automatiserede testscripts med lethed. Med understøttelse af populære browsere som Chrome, Firefox og Safari, Selenium WebDriver giver dig mulighed for at teste webapplikationer på tværs af flere platforme.
Denne artikel giver en detaljeret guide til brug Selenium WebDriver med Node.js, der dækker installation, konfiguration og praktiske eksempler for at hjælpe dig i gang med effektiv automatiseret webapplikationstest.
Vejledning til brug Selenium WebDriver med Node.js
Installation Selenium WebDriver
og afhængigheder
Åbn din terminal
eller kommandoprompt og naviger til din projektmappe.
Kør følgende kommando for at installere Selenium WebDriver
og de nødvendige afhængigheder:
npm install selenium-webdriver chromedriver
Denne kommando installeres Selenium WebDriver
for Node.js og Chrome-driveren(chromedriver) til styring af Chrome-browseren.
Importer og initialiser WebDriver
Importer det nødvendige module
const { Builder, By, Key, until } = require('selenium-webdriver');
Initialiser WebDriver-objektet for den ønskede browser(f.eks. Chrome):
const driver = new Builder().forBrowser('chrome').build();
Brug WebDriver til at interagere med browseren
Åbn en URL
await driver.get('https://www.example.com');
Find og interager med elementer:
// 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 bruge metoder som findElement
, sendKeys
, click
, wait
, osv. til at interagere med elementer på websiden.
Luk WebDriver
Luk browseren og afslut sessionen:
await driver.quit();
Her er et detaljeret eksempel på at finde og indtaste data i et inputfelt på en webside:
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 dette eksempel finder vi input-elementet ved ID( my-input-id
), og brug derefter sendKeys
metoden til at indtaste data i inputfeltet. Til sidst trykker vi på Enter-tasten ved hjælp af sendKeys(Key.ENTER)
og lukker browseren med driver.quit()
.