Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Einführung in Selenium | Browser-Automatisierung mit Selenium
Einführung in die QA-Automatisierungstests

book
Einführung in Selenium

Bisher haben wir Unit-Tests geschrieben, um die Funktionalität von Codeeinheiten zu testen. Für das Testen umfassenderer Funktionen wie das Login- und Registrierungssystem können wir jedoch keine Unit-Tests mehr verwenden, da es sich nicht mehr um eine einzelne Einheit handelt, sondern um eine Kombination mehrerer Einheiten und Komponenten des Programms, die zusammenarbeiten, um eine Funktion zu bilden.

Eine Möglichkeit, Funktionen wie das Login-System zu testen, besteht darin, die Website manuell zu verwenden und die Ergebnisse zu überprüfen; das würde jedoch als manuelles Testen betrachtet werden. Es gibt Tools, die uns helfen, die Browser zu automatisieren und verschiedene Operationen wie das Besuchen der Website, das Eingeben von Daten und das Interagieren mit Elementen durchzuführen. Diese Tools können zusammen mit einem Test-Framework wie Jest oder Mocha verwendet werden, um solche Tests durchzuführen.

Das folgende Video stellt eines dieser Tools vor und bietet ein Tutorial, wie man es in unsere Node-Anwendung integriert.

Code

Beachten Sie, dass es nicht wichtig ist, den in diesem Kapitel verwendeten Code zu analysieren und zu verstehen. Die meisten Funktionen und Methoden in diesem Code werden in den kommenden Kapiteln behandelt.

js
const { Builder, By, Key, until } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const path = require('path');

// Helper function to wait for a specified number of milliseconds
const sleep = (milliseconds) => {
return new Promise(resolve => setTimeout(resolve, milliseconds));
};

(async () => {
let chromeDriverPath = path.resolve('path/to/webdriver.exe');

let service = new chrome.ServiceBuilder(chromeDriverPath);

let options = new chrome.Options();
options.addArguments('--disable-search-engine-choice-screen');
options.addArguments('--lang=en-GB');

let driver = await new Builder()
.forBrowser('chrome')
.setChromeService(service)
.setChromeOptions(options)
.build();

try {
await driver.get('https://www.google.com');

let btn_xpath = '/html/body/div[2]/div[2]/div[3]/span/div/div/div/div[3]/div[1]/button[2]'
await driver.wait(until.elementLocated(By.xpath(btn_xpath)), 5000);
let button = await driver.findElement(By.xpath(btn_xpath));
await button.click();

let searchBox = await driver.findElement(By.name('q'));
await searchBox.sendKeys('cats', Key.RETURN);

await driver.wait(until.elementLocated(By.linkText('Images')), 5000);

let imagesLink = await driver.findElement(By.linkText('Images'));
await imagesLink.click();

await sleep(10000);
} finally {
await driver.quit();
}
})();

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 1

Fragen Sie AI

expand
ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt