Tutorials  /  JavaScript

Selenium WebDriver

Ccentron Redaktion · Februar 2024 ·4 Min. Lesezeit ·JavaScript, Tutorial

Wir benötigen Browser, um Webanwendungen zu testen. Selenium automatisiert Browser und hilft uns bei der Automatisierung von Tests von Webanwendungen in verschiedenen Browsern. Die Selenium-API hat viele Klassen und Schnittstellen bereitgestellt, um mit verschiedenen Arten von Browsern und HTML-Elementen zu arbeiten.

Was ist die Selenium WebDriver-Schnittstelle?

Selenium WebDriver ist eine Schnittstelle, die eine Reihe von Methoden definiert. Die Implementierung wird jedoch durch die browserspezifischen Klassen bereitgestellt. Einige der Implementierungsklassen sind AndroidDriver, ChromeDriver, FirefoxDriver, InternetExplorerDriver, IPhoneDriver, SafariDriver usw. Die Hauptfunktionalität von WebDriver besteht darin, den Browser zu steuern. Es hilft uns sogar, die HTML-Seitenelemente auszuwählen und Operationen wie Klicken, Ausfüllen von Formularfeldern usw. an ihnen durchzuführen.

Wenn wir Ihre Testfälle in einem Firefox-Browser ausführen möchten, müssen wir die FirefoxDriver-Klasse verwenden. Ähnlich, wenn wir die Testfälle im Chrome-Browser ausführen möchten, müssen wir die ChromeDriver-Klasse verwenden.

VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Selenium WebDriver-Methoden

SearchContext ist die oberste Schnittstelle in der Selenium-API, die zwei Methoden hat - findElement() und findElements(). Die Selenium WebDriver-Schnittstelle hat viele abstrakte Methoden wie get(String url), quit(), close(), getWindowHandle(), getWindowHandles(), getTitle() usw. WebDriver hat verschachtelte Schnittstellen wie Window, Navigation, Timeouts usw. Diese verschachtelten Schnittstellen werden verwendet, um Operationen wie back(), forward() usw. durchzuführen.

  • get(String url): Diese Methode startet einen neuen Browser und öffnet die angegebene URL in der Browserinstanz.
  • getWindowHandle(): Sie wird verwendet, um ein einzelnes Fenster, d.h. das Hauptfenster, zu handhaben. Der Rückgabetyp ist String. Sie gibt den Browserfenster-Handle des fokussierten Browsers zurück.
  • getWindowHandles(): Sie wird verwendet, um mehrere Fenster zu handhaben. Der Rückgabetyp ist Set. Sie gibt alle Handles von allen durch Selenium WebDriver geöffneten Browsern zurück.
  • close(): Dieser Befehl wird verwendet, um das aktuell fokussierte Browserfenster zu schließen.
  • quit(): Diese Methode schließt alle aktuell geöffneten Browserfenster und beendet die WebDriver-Sitzung.
  • getTitle(): Diese Methode wird verwendet, um den Titel der Webseite, auf der der Benutzer gerade arbeitet, abzurufen.

Liste der Klassen, die WebDriver implementieren

Die wichtigsten Implementierungsklassen der WebDriver-Schnittstelle sind ChromeDriver, EdgeDriver, FirefoxDriver, InternetExplorerDriver usw. Jede Treiberklasse entspricht einem Browser. Wir erstellen einfach das Objekt der Treiberklassen und arbeiten mit ihnen.

  • ChromeDriver: Er hilft Ihnen, Selenium-Skripte im Chrome-Browser auszuführen.
  • FirefoxDriver: Er hilft Ihnen, Selenium-Skripte im Firefox-Browser auszuführen.
  • InternetExplorerDriver: Er hilft Ihnen, Selenium-Skripte im InternetExplorer-Browser auszuführen.

Liste der Befehle auf WebElement

Selenium WebElement repräsentiert ein HTML-Element. Wir können eine Instanz von WebElement mit der Methode findElement() erhalten und dann spezifische Aktionen wie Klicken, Absenden usw. ausführen. Einige der häufig verwendeten WebElement-Methoden sind:

Befehl Beschreibung Syntax
findElement() Diese Methode findet das erste Element innerhalb der aktuellen Webseite unter Verwendung des gegebenen Lokalisators. WebElement element = driverObject.findElement(By.locator(“Wert”));
sendKeys() Diese Methode gibt einen Wert in ein Bearbeitungsfeld oder Textfeld ein. driver.findElement(By.elementLocator(“Wert”)).sendkeys(“Wert”);
clear() Es löscht den Wert aus einem Bearbeitungsfeld oder Textfeld. driverObject.findElement(By.locatorname(“Wert”)).clear();
click() Es klickt ein Element (Button, Link, Checkbox) usw. driverObject.findElement(By.ElementLocator(“LocatorWert”)).click();

Selenium WebDriver Beispiel - Webseite Titel ausgeben

Lassen Sie uns ein einfaches Beispiel ansehen, wie Selenium WebDriver verwendet wird, um den Firefox-Browser aufzurufen und den Titel einer Webseite auszudrucken.

Go
package com.journaldev.selenium.firefox;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class GeckoDriverExample {

    public static void main(String[] args) {
        //specify the location of GeckoDriver for Firefox browser automation
        System.setProperty("webdriver.gecko.driver", "geckodriver");
        WebDriver driver = new FirefoxDriver();
        driver.get("https://journaldev.com");
        String PageTitle = driver.getTitle();
        System.out.println("Page Title is:" + PageTitle);
        driver.close();
    }
}

Output:

Code
1551941763563	mozrunner::runner	INFO	Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/1t/sx2jbcl534z88byy78_36ykr0000gn/T/rust_mozprofile.t6ZyMHsrf2bh"
1551941764296	addons.webextension.screenshots@mozilla.org	WARN	Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid host permission: resource://pdf.js/
1551941764297	addons.webextension.screenshots@mozilla.org	WARN	Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid host permission: about:reader*
Can't find symbol 'GetGraphicsResetStatus'.
1551941765794	Marionette	INFO	Listening on port 61417
1551941765818	Marionette	WARN	TLS certificate errors will be ignored for this session
Mar 07, 2019 12:26:05 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Page Title is:JournalDev - Java, Java EE, Android, Python, Web Development Tutorials
1551941814652	Marionette	INFO	Stopped listening on port 61417
Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren