Selenium Webtreiber Java Programmbeispiel

โšก Intelligente Zusammenfassung

Selenium WebTreiber Java Das Programmbeispiel fรผhrt Sie durch Ihr erstes vollstรคndiges Automatisierungsskript. Lessons behandelt die Einrichtung der Testumgebung, das Auffinden von Elementen, das Senden von Eingaben, die Navigation, die Validierung, Wartezeiten, die Ausnahmebehandlung und bewรคhrte Verfahren fรผr zuverlรคssige WebDriver-Tests.

  • โš™๏ธ Umgebungseinrichtung: Installieren Java, Eclipse oder IntelliJ konfigurieren Selenium Bibliotheken und wรคhlen Sie die richtige Treiberdatei fรผr Ihre Browserversion aus.
  • ๐Ÿงญ Element-Locators: Verwenden Sie ID, Name, Klasse, XPath, CSS-Selektor und Linktext, um Elemente browser- und versionsรผbergreifend stabil zu identifizieren.
  • ๏ธ Aktionen und Eingaben: WebDriver unterstรผtzt Klick-, SendKeys-, Submit-, Select-Dropdown- und Tastaturereignisse fรผr eine umfassende Benutzerinteraktion.
  • โณ Intelligente Wartezeiten: Ersetzen Sie Thread.sleep durch implizite, explizite und flรผssige Wartezeiten, die durch ExpectedConditions gesteuert werden, um unzuverlรคssige Tests zu eliminieren.
  • ๐Ÿšจ Ausnahmebehandlung: Um die Stabilitรคt von Automatisierungssuiten zu gewรคhrleisten, sollten NoSuchElementException, TimeoutException und StaleElementReferenceException abgefangen werden.
  • ๐Ÿค– KI-Testgenerierung: KI-Assistenten generieren vorgefertigte WebDriver-Skripte, schlagen Selektoren vor und reparieren Selektoren automatisch, wenn sich das DOM รคndert.

Selenium WebTreiber Java Programm

Selenium Java Beispiel

Verwendung der Java Um die Klasse โ€žmyclassโ€œ zu verwenden, die wir im vorherigen Tutorial erstellt haben, versuchen wir, ein WebDriver-Skript zu erstellen, das Folgendes bewirkt:

Schritt 1: holen Mercury Homepage von Tours
Schritt 2: รœberprรผfen Sie den Titel
Schritt 3: Drucken Sie das Ergebnis des Vergleichs aus
Schritt 4: SchlieรŸen Sie es, bevor Sie das gesamte Programm beenden.

Selenium WebDriver-Beispiel Code

Nachfolgend finden Sie den tatsรคchlichen WebDriver-Code fรผr die im obigen Szenario dargestellte Logik

package newproject;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
//comment the above line and uncomment below line to use Chrome
//import org.openqa.selenium.chrome.ChromeDriver;
public class PG1 {


    public static void main(String[] args) {
        // declaration and instantiation of objects/variables
    	System.setProperty("webdriver.gecko.">driver","C:\\geckodriver.exe");
		WebDriver driver = new FirefoxDriver();
		//comment the above 2 lines and uncomment below 2 lines to use Chrome
		//System.setProperty("webdriver.chrome.">driver","G:\\chromedriver.exe");
		//WebDriver driver = new ChromeDriver();
    	
        String baseUrl = "https://demo.guru99.com/test/newtours/";
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = "";

        // launch Fire fox and direct it to the Base URL
        driver.get(baseUrl);

        // get the actual value of the title
        actualTitle = driver.getTitle();

        /*
         * compare the actual title of the page with the expected one and print
         * the result as "Passed" or "Failed"
         */
        if (actualTitle.contentEquals(expectedTitle)){
            System.out.println("Test Passed!");
        } else {
            System.out.println("Test Failed");
        }
       
        //close Fire fox
        driver.close();
    }

}

Hinweis: Beginnt Firefox 35, Sie mรผssen den von Mozilla erstellten Gecko-Treiber verwenden, um den Web-Treiber zu verwenden. Selenium 3.0, Gecko und Firefox haben Kompatibilitรคtsprobleme und die korrekte Einstellung kann eine schwierige Aufgabe sein. Wenn der Code nicht funktioniert, fรผhren Sie ein Downgrade auf Firefox Version 47 oder niedriger. Alternativ kรถnnen Sie Ihre Skripte auch in Chrome ausfรผhren. Selenium funktioniert sofort fรผr Chrome. Sie mรผssen nur 3 Zeilen Code รคndern, damit Ihr Skript mit Chrome funktioniert oder Firefox

Den Code erklรคren

Pakete importieren

Um zu beginnen, mรผssen Sie die folgenden zwei Pakete importieren:

  1. org.openqa.selenium.*โ€“ enthรคlt die WebDriver-Klasse, die zum Instanziieren eines neuen Browsers benรถtigt wird, der mit einem bestimmten Treiber geladen ist
  2. org.openqa.selenium.firefox.FirefoxLED Treiber โ€“ enthรคlt die FirefoxTreiberklasse, die zum Instanziieren von a benรถtigt wird Firefox-spezifischer Treiber auf den von der WebDriver-Klasse instanziierten Browser

Wenn Ihr Test kompliziertere Aktionen erfordert, wie z. B. den Zugriff auf eine andere Klasse, das Erstellen von Browser-Screenshots oder das Bearbeiten externer Dateien, mรผssen Sie auf jeden Fall mehr Pakete importieren.

Instanziieren von Objekten und Variablen

Normalerweise wird ein Treiberobjekt auf diese Weise instanziiert.

WebDriver driver = new FirefoxDriver();

A FirefoxTreiberklasse ohne Parameter bedeutet, dass die Standardeinstellung ist Firefox Profil wird gestartet von unserem Java Programm. Die Standardeinstellung Firefox Das Profil รคhnelt dem Starten Firefox im abgesicherten Modus (es werden keine Erweiterungen geladen).

Der Einfachheit halber haben wir die Basis gespeichert. URL und der erwartete Titel als Variablen.

Starten einer Browsersitzung

WebDrivers get () Die Methode wird verwendet, um eine neue Browsersitzung zu starten und diese an die URL den Sie als Parameter angeben.

driver.get(baseUrl);

Holen Sie sich den tatsรคchlichen Seitentitel

Die WebDriver-Klasse verfรผgt รผber die getTitle () Methode, die immer verwendet wird, um den Seitentitel der aktuell geladenen Seite abzurufen.

actualTitle = driver.getTitle();

Vergleichen Sie die erwarteten und tatsรคchlichen Werte

Dieser Teil des Codes verwendet einfach eine grundlegende Java if-else-Struktur, um den tatsรคchlichen Titel mit dem erwarteten zu vergleichen.

if (actualTitle.contentEquals(expectedTitle)){
            System.out.println("Test Passed!");
        } else {
            System.out.println("Test Failed");
        }

Beenden einer Browsersitzung

Die vollstรคndigeschlieรŸen()Die Methode wird zum SchlieรŸen des Browserfensters verwendet.

driver.close();

Beendigung des gesamten Programms

Wenn Sie diesen Befehl verwenden, ohne vorher alle Browserfenster zu schlieรŸen, wird Ihr gesamter Java Das Programm wird beendet, wรคhrend das Browserfenster geรถffnet bleibt.

System.exit(0);

Ausfรผhren des Tests

Es gibt zwei Mรถglichkeiten, Code auszufรผhren Eclipse IDE.

  1. On EclipseKlicken Sie in der Menรผleiste auf Ausfรผhren > Ausfรผhren.
  2. Presse Ctrl + F11 um den gesamten Code auszufรผhren.

Ausfรผhren des Tests

Wenn Sie alles richtig gemacht haben, Eclipse wรผrde โ€žTest bestanden!โ€œ ausgeben.

Ausfรผhren des Tests

Auffinden von GUI-Elementen

Das Auffinden von Elementen in WebDriver erfolgt mithilfe der โ€žfindElement(By.Locator())" Methode. Der โ€žLocatorโ€œ-Teil des Codes ist derselbe wie alle zuvor besprochenen Locators Selenium IDE Kapitel dieser Tutorials. Tatsรคchlich wird empfohlen, GUI-Elemente mithilfe der IDE zu finden und den Code nach erfolgreicher Identifizierung in WebDriver zu exportieren.

Hier ist ein Selenium Beispielcode, der ein Element anhand seiner ID findet. Facebook wird als Basis verwendet. URL.

package newproject;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class PG2 {
    public static void main(String[] args) {
    	System.setProperty("webdriver.gecko.">driver","C:\\geckodriver.exe");
    	WebDriver driver = new FirefoxDriver();
        String baseUrl = "http://www.facebook.com";
        String tagName = "";
        
        driver.get(baseUrl);
        tagName = driver.findElement(By.id("email")).getTagName();
        System.out.println(tagName);
        driver.close();
        System.exit(0);
}
}

Wir nutzten die getTagName() Methode zu extracDer Tag-Name des Elements mit der ID โ€žemailโ€œ wird ermittelt. Bei der Ausfรผhrung sollte dieser Code den Tag-Namen โ€žinputโ€œ korrekt erkennen und ausgeben. Eclipses Konsolenfenster.

Auffinden von GUI-Elementen

Zusammenfassung zum Auffinden von Elementen

Variation Beschreibung Musteranfrage
Nach.Klassenname findet Elemente basierend auf dem Wert des โ€žclassโ€œ-Attributs findElement(By.className(โ€œsomeClassNameโ€))
Von.cssSelector findet Elemente basierend auf der zugrunde liegenden CSS-Auswahl-Engine des Treibers findElement(By.cssSelector("Eingabe#E-Mail"))
Nach.id Lokalisiert Elemente anhand des Werts ihres โ€židโ€œ-Attributs findElement(By.id(โ€œsomeIdโ€))
 
Von.linkText findet ein Linkelement anhand des genauen angezeigten Textes findElement(By.linkText(โ€œREGISTRATIONโ€))
 
Namentlich Lokalisiert Elemente anhand des Werts des Attributs โ€žnameโ€œ. findElement(By.name(โ€œsomeNameโ€))
 
Von.partialLinkText findet Elemente, die den angegebenen Linktext enthalten findElement(By.partialLinkText(โ€œREGโ€))
 
Von.tagName Lokalisiert Elemente anhand ihres Tag-Namens findElement(By.tagName(โ€œdivโ€))
 
Von.xpath findet Elemente รผber XPath findElement(By.xpath(โ€œ//html/body/div/table/tbody/tr/td[2]/table/
tbody/tr[4]/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td[3]/ form/table/tbody/tr[5]โ€))

Hinweis zur Verwendung von findElement(By.cssSelector())

By.cssSelector() unterstรผtzt die Funktion โ€ženthรคltโ€œ nicht. Bedenke die Selenium IDE-Code unten โ€“

Hinweis zur Verwendung von findElement(By.cssSelector())

In Selenium IDE oben, der gesamte Test wurde bestanden. Allerdings in der Selenium Im folgenden WebDriver-Skript hat derselbe Test einen Fehler generiert, da WebDriver das Schlรผsselwort โ€žcontainsโ€œ nicht unterstรผtzt, wenn es in der Methode By.cssSelector() verwendet wird.

Hinweis zur Verwendung von findElement(By.cssSelector())

Gemeinsame Befehle

Instanziieren von Webelementen

Anstatt jedes Mal, wenn Sie auf ein bestimmtes Element zugreifen, die lange Syntax โ€ždriver.findElement(By.locator())โ€œ zu verwenden, kรถnnen wir dafรผr ein WebElement-Objekt instanziieren. Die WebElement-Klasse ist im Paket โ€žorg.openqa.selenium.*โ€œ enthalten.

Instanziieren von Webelementen

Klicken Sie auf ein Element

Klicken ist vielleicht die hรคufigste Art der Interaktion mit Webelementen. Der click() Die Methode wird verwendet, um das Klicken auf ein beliebiges Element zu simulieren. Die folgende Selenium Java Beispiel zeigt, wie click() wurde verwendet, um auf Mercury Schaltflรคche โ€žAnmeldenโ€œ von Tours.

Klicken Sie auf ein Element

Bei der Verwendung der Methode click() mรผssen folgende Dinge beachtet werden:

  • Es werden keine Parameter/Argumente benรถtigt.
  • Die Methode wartet ggf. automatisch auf das Laden einer neuen Seite.
  • Das anzuklickende Element muss sichtbar sein (Hรถhe und Breite dรผrfen ungleich Null sein).

Holen Sie sich Befehle

Get-Befehle rufen verschiedene wichtige Informationen รผber die Seite/das Element ab. Hier sind einige wichtige โ€žGetโ€œ-Befehle, mit denen Sie vertraut sein mรผssen.

Befehle Anwendungsbereich
get ()

Verwendungsbeispiel:

  • Es รถffnet automatisch ein neues Browserfenster und ruft die Seite ab, die Sie in den Klammern angeben.
  • Es ist das Gegenstรผck zu Selenium Der โ€žopenโ€œ-Befehl der IDE.
  • Der Parameter muss a sein Schnur Objekt.
getTitle ()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter
  • Ruft den Titel der aktuellen Seite ab
  • Fรผhrende und nachfolgende Leerzeichen werden gekรผrzt
  • Gibt eine Nullzeichenfolge zurรผck, wenn die Seite keinen Titel hat
getPageSource()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter
  • Gibt den Quellcode der Seite als String-Wert zurรผck
getAktuelleUrl()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter
  • Ruft die Zeichenkette ab, die den aktuellen Wert reprรคsentiert. URL dass der Browser auf
getText ()

Verwendungsbeispiel:

  • Ruft den inneren Text des von Ihnen angegebenen Elements ab

Navigieren Sie durch Befehle

Mit diesen Befehlen kรถnnen Sie verschiedene Webseiten aktualisieren, aufrufen und zwischen ihnen wechseln.

navigieren().to()

Verwendungsbeispiel:

  • Es รถffnet automatisch ein neues Browserfenster und ruft die Seite ab, die Sie in den Klammern angeben.
  • Es macht genau das Gleiche wie das get() Methode.
navigieren().refresh()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter.
  • Es aktualisiert die aktuelle Seite.
navigieren().back()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter
  • Bringt Sie im Browserverlauf um eine Seite zurรผck.
navigieren().forward()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter
  • Bringt Sie im Browserverlauf eine Seite weiter.

SchlieรŸen und Beenden des Browsers Windows

schlieรŸen()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter
  • Es schlieรŸt nur das Browserfenster, das WebDriver derzeit steuert.
Verlassen()

Verwendungsbeispiel:

  • Benรถtigt keine Parameter
  • Es schlieรŸt alle Fenster, die WebDriver geรถffnet hat.

SchlieรŸen und Beenden des Browsers Windows

Um den Unterschied zwischen deutlich zu veranschaulichen close() und quit()Versuchen Sie, den folgenden Code auszufรผhren. Es verwendet eine Webseite, die beim Laden der Seite automatisch ein Fenster รถffnet und nach dem Beenden ein weiteres รถffnet.

SchlieรŸen und Beenden des Browsers Windows

Beachten Sie, dass nur das รผbergeordnete Browserfenster geschlossen wurde und nicht die beiden Popup-Fenster.

SchlieรŸen und Beenden des Browsers Windows

Wenn Sie jedoch quit() verwenden, werden alle Fenster geschlossen โ€“ nicht nur das รผbergeordnete Fenster. Versuchen Sie, den folgenden Code auszufรผhren, und Sie werden feststellen, dass die beiden Popups oben ebenfalls automatisch geschlossen werden.

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

public class PG3 {
    public static void main(String[] args) {
    	System.setProperty("webdriver.gecko.">driver","C:\\geckodriver.exe");
    	WebDriver driver = new FirefoxDriver();
        driver.get("http://www.popuptest.com/popuptest2.html");
        driver.quit();  // using QUIT all windows will close
    }
}

Zwischen Frames wechseln

Um auf GUI-Elemente in einem Frame zuzugreifen, sollten wir WebDriver zunรคchst anweisen, sich zuerst auf den Frame oder das Popup-Fenster zu konzentrieren, bevor wir auf Elemente darin zugreifen kรถnnen. Nehmen wir zum Beispiel die Webseite https://demo.guru99.com/selenium/deprecated.html

Zwischen Frames wechseln

Diese Seite verfรผgt รผber 3 Frames, deren โ€žNameโ€œ-Attribute oben angegeben sind. Wir mรถchten auf den oben gelb eingekreisten Link โ€žVeraltetโ€œ zugreifen. Dazu mรผssen wir WebDriver zunรคchst anweisen, mithilfe von zum โ€žclassFrameโ€œ-Frame zu wechseln โ€žswitchTo().frame()โ€œ Methode. Wir verwenden das Namensattribut des Frames als Parameter fรผr den Teil โ€žframe()โ€œ.

package newproject;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class PG4 {
	  public static void main(String[] args) {
		  	System.setProperty("webdriver.gecko.">driver","C:\\geckodriver.exe");  
		  	WebDriver driver = new FirefoxDriver();
	        driver.get("https://demo.guru99.com/selenium/deprecated.html");
	        driver.switchTo().frame("classFrame");
	        driver.findElement(By.linkText("Deprecated")).click();
	        driver.close(); 
	    }
}

Nachdem Sie diesen Code ausgefรผhrt haben, werden Sie sehen, dass der Frame โ€žclassFrameโ€œ zur Seite โ€žVeraltet APIโ€œ weitergeleitet wird, was bedeutet, dass unser Code erfolgreich auf den Link โ€žVeraltetโ€œ zugreifen konnte.

Zwischen Pop-up wechseln Windows

WebDriver ermรถglicht die Anzeige von Popup-Fenstern wie Warnungen, anders als in Selenium IDE. Um auf die Elemente innerhalb der Warnung zuzugreifen (z. B. die darin enthaltene Nachricht), mรผssen wir die verwenden "switchTo().alert()" Methode. Im folgenden Code verwenden wir diese Methode, um auf das Warnfeld zuzugreifen und dann seine Nachricht mithilfe der "getText()" Methode, und schlieรŸen Sie dann automatisch das Warnfenster mit dem "switchTo().alert().accept()" Methode.

Gehen Sie zunรคchst zu https://output.jsbin.com/usidix/1 und klicken Sie manuell auf โ€žLos!โ€œ Klicken Sie dort auf die Schaltflรคche und sehen Sie sich den Nachrichtentext an.

Zwischen Pop-up wechseln Windows

Mal sehen Selenium Beispielcode dafรผr:

package mypackage;

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

public class myclass {

    public static void main(String[] args) {
    	System.setProperty("webdriver.gecko.">driver","C:\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        String alertMessage = "";

        driver.get("http://jsbin.com/usidix/1");
        driver.findElement(By.cssSelector("input[value=\"Go!\"]")).click();
        alertMessage = driver.switchTo().alert().getText();
        driver.switchTo().alert().accept();
       
        System.out.println(alertMessage);
        driver.quit();
       
    }
}

Auf dem Eclipse Beachten Sie, dass die gedruckte Warnmeldung wie folgt lautet:

Zwischen Pop-up wechseln Windows

Wartet

Es gibt zwei Arten von Wartezeiten.

  1. Implizites Warten โ€“ wird verwendet, um die Standardwartezeit im gesamten Programm festzulegen
  2. Explizites Warten โ€“ wird verwendet, um die Wartezeit nur fรผr eine bestimmte Instanz festzulegen

Implizites Warten

  • Es ist einfacher zu programmieren als explizite Wartezeiten.
  • Es wird normalerweise im Instanziierungsteil des Codes deklariert.
  • Zum Importieren benรถtigen Sie nur ein zusรคtzliches Paket.

Um mit der Verwendung einer impliziten Wartezeit zu beginnen, mรผssten Sie dieses Paket in Ihren Code importieren.

Implizites Warten

Fรผgen Sie dies dann im Instanziierungsteil Ihres Codes hinzu.

Implizites Warten

Explizites Warten

Explizite Wartevorgรคnge werden mithilfe der Klassen WebDriverWait und ExpectedCondition durchgefรผhrtFรผr die folgenden Selenium Im WebDriver-Beispiel warten wir bis zu 10 Sekunden, bis ein Element mit der ID โ€žBenutzernameโ€œ sichtbar wird, bevor wir mit dem nรคchsten Befehl fortfahren. Hier sind die Schritte.

Schritt 1:

Importieren Sie diese beiden Pakete:

Explizites Warten

Schritt 2:

Deklarieren Sie eine WebDriverWait-Variable. In diesem Beispiel verwenden wir โ€žmyWaitVarโ€œ als Namen der Variablen.

Explizites Warten

Schritt 3:

Verwenden Sie myWaitVar mit ExpectedConditions in den Teilen, in denen Sie explizit warten mรผssen. In diesem Fall verwenden wir explizites Warten auf den โ€žBenutzernamenโ€œ (Mercury Wir fรผllen den (auf der Homepage von Tours)-Eingang aus, bevor wir den Text โ€žTutorialโ€œ darauf eingeben.

Explizites Warten

Erkrankungen

Folgende Methoden werden in bedingten und logischen Anweisungen verwendet.ping Betrieb โ€”

  • aktiviert() wird verwendet, wenn Sie vor der Ausfรผhrung eines Befehls รผberprรผfen mรถchten, ob ein bestimmtes Element aktiviert ist oder nicht.

Bedingungen isEnabled()

  • wird angezeigt () wird verwendet, wenn Sie vor der Ausfรผhrung eines Befehls รผberprรผfen mรถchten, ob ein bestimmtes Element angezeigt wird oder nicht.

Bedingungen isDisplayed()

  • ist ausgewรคhlt() wird verwendet, wenn Sie รผberprรผfen mรถchten, ob eine bestimmte Kontrollkรคstchen, Optionsfeld oder Option in einer Dropdown-Box ist ausgewรคhlt. Bei anderen Elementen funktioniert es nicht.

Bedingungen isSelected()

Verwenden von ExpectedConditions

Die ExpectedConditions-Klasse bietet einen grรถรŸeren Satz von Bedingungen, die Sie in Verbindung mit der Until()-Methode von WebDriverWait verwenden kรถnnen.

Nachfolgend sind einige der gรคngigsten ExpectedConditions-Methoden aufgefรผhrt.

  • alarmIsPresent() โ€“ wartet, bis ein Warnfeld angezeigt wird.

Verwenden von ExpectedConditions alarmIsPresent()

  • elementToBeClickable() โ€“ Wartet, bis ein Element sichtbar und gleichzeitig aktiviert ist. Die Probe Selenium Code Im Folgenden wird gewartet, bis das Element mit der ID โ€žusernameโ€œ sichtbar und aktiviert ist, bevor dieses Element als WebElement-Variable mit dem Namen โ€žtxtUserNameโ€œ zugewiesen wird.

Verwenden von ExpectedConditions

  • frameToBeAvailableAndSwitchToIt() โ€“ Wartet, bis der angegebene Frame bereits verfรผgbar ist, und wechselt dann automatisch zu diesem.

Verwenden von ExpectedConditions elementToBeClickable()

Ausnahmen abfangen

Bei Verwendung von isEnabled(), isDisplayed() und isSelected() geht WebDriver davon aus, dass das Element bereits auf der Seite vorhanden ist. Andernfalls wird eine NoSuchElementException. Um dies zu vermeiden, sollten wir einen Try-Catch-Block verwenden, damit das Programm nicht unterbrochen wird.

WebElement txtbox_username = driver.findElement(By.id("username"));
try{
        if(txtbox_username.isEnabled()){
            txtbox_username.sendKeys("tutorial");
        }
    }

catch(NoSuchElementException nsee){
            System.out.println(nsee.toString());
 }

Wenn Sie explizite Wartezeiten verwenden, sollten Sie den Ausnahmetyp โ€žTimeoutExceptionโ€œ abfangen.

Ausnahmen abfangen

Hรคufig gestellte Fragen

Installieren Sie das JDK und eine IDE wie z. B. Eclipse oder IntelliJ, die Selenium Java Bibliotheken und der passende Browsertreiber. Build-Automatisierungstools wie Maven oder Gradle Abhรคngigkeitsmanagement vereinfachen.

KI behebt automatisch Fehler in Locators, generiert Testfรคlle aus User Stories und identifiziert fehlerhafte Tests. Plattformen wie TestimMabl und Applitools integrieren KI fรผr intelligenteres Erstellen, Ausfรผhren und visuelles Validieren.

Ja. GitHub Copilot, Cursor und JetBrains KI generieren Java Selenium Skripte werden aus einfachen Schritten in Skriptsprache erstellt, einschlieรŸlich Wartezeiten, Zusicherungen und Seitenobjekten. Dadurch wird der Boilerplate-Code fรผr neue Testszenarien erheblich reduziert.

`findElement` gibt das erste รผbereinstimmende WebElement zurรผck oder lรถst eine `NoSuchElementException` aus. `findElements` gibt eine Liste aller Treffer zurรผck und eine leere Liste, falls keine Treffer gefunden werden; die Ausnahme wird niemals ausgelรถst.

Thread.sleep pausiert unabhรคngig vom Seitenstatus fรผr eine feste Dauer, was schnelle Ausfรผhrungen verlangsamt und langsame zum Abbruch bringt. Verwenden Sie WebDriverWait mit ExpectedConditions, um nur so lange wie nรถtig zu warten.

Selenium Unterstรผtzt ChromeDriver, GeckoDriver fรผr FirefoxEdgeDriver, SafariDriver und IEDriverServer. Selenium Manager in Version 4 lรคdt den richtigen Treiber automatisch herunter.

Konfigurieren Sie die Chrome-Optionen oder FirefoxDas Options-Objekt mit setAcceptInsecureCerts(true) weist den Browser an, ungรผltige Zertifikate zu ignorieren, damit die WebDriver-Sitzung fortgesetzt werden kann.

WebDriverManager lรคdt automatisch die passende Browsertreiber-Binรคrdatei fรผr Ihre installierte Browserversion herunter und konfiguriert sie. Dadurch entfรคllt die manuelle Treiberwartung und die Einrichtungszeit fรผr neue Mitwirkende verkรผrzt sich.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: