Articles

Erstes Selenium-Webdriver-Skript: JAVA-Beispielcode Beispiel

Lassen Sie uns mit der Java-Klasse „myclass“, die wir im vorherigen Tutorial erstellt haben, versuchen, ein WebDriver-Skript zu erstellen, das:

  1. die Homepage von Mercury Tours abrufen
  2. den Titel überprüfen
  3. das Ergebnis des Vergleichs ausdrucken
  4. schließen Sie es, bevor Sie das gesamte Programm beenden.

Webtreibercode

Unten finden Sie den tatsächlichen Webtreibercode für die Logik, die im obigen Szenario dargestellt wird

Hinweis: Ab Firefox 35 müssen Sie den von Mozilla erstellten Gecko-Treiber verwenden, um den Web-Treiber verwenden zu können. Selenium 3.0, Gecko und Firefox haben Kompatibilitätsprobleme und ihre korrekte Einstellung kann zu einer schwierigen Aufgabe werden. Wenn der Code nicht funktioniert, führen Sie ein Downgrade auf Firefox Version 47 oder niedriger durch. Alternativ können Sie Ihre Skripte in Chrome ausführen. Selenium funktioniert für Chrome sofort. Sie müssen nur 3 Codezeilen ändern, damit Ihr Skript mit Chrome oder Firefox funktioniert

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 = "http://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(); }}

Den Code erklären

Um zu beginnen, müssen Sie die folgenden zwei Pakete importieren:In:

  1. org.öffnen Sie es.Selen.*- enthält die WebDriver-Klasse, die benötigt wird, um einen neuen Browser zu instanziieren, der mit einem bestimmten Treiber
  2. org geladen ist.öffnen Sie es.Selen.Firefox.FirefoxDriver – enthält die FirefoxDriver-Klasse, die benötigt wird, um einen Firefox-spezifischen Treiber in dem von der WebDriver-Klasse instanziierten Browser zu instanziieren

Wenn Ihr Test kompliziertere Aktionen benötigt, 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.

Objekte und Variablen instanziieren

Normalerweise wird so ein Treiberobjekt instanziiert.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Eine FirefoxDriver-Klasse ohne Parameter bedeutet, dass das Standard-Firefox-Profil von unserem Java-Programm gestartet wird. Das Standard-Firefox-Profil ähnelt dem Starten von Firefox im abgesicherten Modus (es werden keine Erweiterungen geladen).

Der Einfachheit halber haben wir die Basis-URL und den erwarteten Titel als Variablen gespeichert.

Starten einer Browsersitzung

Die get() -Methode von WebDriver wird verwendet, um eine neue Browsersitzung zu starten und leitet sie an die URL weiter, die Sie als Parameter angeben.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Holen Sie sich den tatsächlichen Seitentitel

Die WebDriver-Klasse verfügt über die Methode getTitle(), mit der immer der Seitentitel der aktuell geladenen Seite abgerufen wird.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

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.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

Beenden einer Browsersitzung

Die Methode „close()“ wird verwendet, um das Browserfenster zu schließen.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Beenden des gesamten Programms

Wenn Sie diesen Befehl verwenden, ohne zuerst alle Browserfenster zu schließen, endet Ihr gesamtes Java-Programm, während das Browserfenster geöffnet bleibt.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Ausführen des Tests

Es gibt zwei Möglichkeiten, Code in Eclipse IDE auszuführen.

  1. Klicken Sie in der Menüleiste von Eclipse auf Ausführen > Ausführen.
  2. Drücken Sie Strg+F11, um den gesamten Code auszuführen.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Wenn Sie alles richtig gemacht haben, würde Eclipse „Test bestanden!“

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Lokalisieren von GUI-Elementen

Das Lokalisieren von Elementen in WebDriver erfolgt mithilfe des „findElement(By.locator())“ Methode. Der „Locator“ -Teil des Codes ist derselbe wie jeder der Locators, die zuvor in den Selenium IDE-Kapiteln dieser Tutorials besprochen wurden. In der Tat wird empfohlen, dass Sie GUI-Elemente mithilfe der IDE suchen und den Code nach erfolgreicher Identifizierung in WebDriver exportieren.

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

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 haben die getTagName() -Methode verwendet, um den Tag-Namen des bestimmten Elements zu extrahieren, dessen ID „email“ ist. Wenn dieser Code ausgeführt wird, sollte er in der Lage sein, den Tag-Namen „input“ korrekt zu identifizieren und im Konsolenfenster von Eclipse auszudrucken.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Zusammenfassung zum Auffinden von Elementen

Variation Beschreibung Beispiel
Durch.className findet Elemente basierend auf dem Wert des Attributs „class“ findElement(Von.className(„someClassName“))
Durch.cssSelector findet Elemente basierend auf der zugrunde liegenden CSS-Selektor-Engine des Treibers findElement(Von.cssSelector(„Eingabe#E-Mail“))
By.id lokalisiert Elemente anhand des Werts ihres Attributs „id“ findElement(By.id („someId“))
Durch.linkText findet ein Linkelement anhand des angezeigten Textes findElement(By.linkText(„REGISTRIERUNG“))
By.name lokalisiert Elemente anhand des Werts des Attributs „name“ findElement(By.name(„someName“))
By.partialLinkText locates elements that contain the given link text findElement(By.partialLinkText(„REG“))
By.tagName locates elements by their tag name findElement(By.tagName(„div“))
By.xpath locates elements via XPath findElement(By.xpath(„//html/body/div/Tabelle/tbody/tr/td/Tabelle/ tbody/tr/td/Tabelle/tbody/tr/td/Tabelle/tbody/tr/td/ Formular/Tabelle/tbody/tr“))

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

Durch.cssSelector () unterstützt die Funktion „enthält“ nicht. Betrachten Sie den folgenden Selenium-IDE-Code –

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

In der obigen Selenium-IDE wurde der gesamte Test bestanden. Im folgenden Selenium WebDriver-Skript hat derselbe Test jedoch einen Fehler generiert, da WebDriver das Schlüsselwort „contains“ nicht unterstützt, wenn es in By verwendet wird.cssSelector() -Methode.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

Allgemeine Befehle

Instanziieren von Webelementen

Anstelle des langen „Treibers.findElement(Durch.locator())“ Syntax Jedes Mal, wenn Sie auf ein bestimmtes Element zugreifen, können wir ein WebElement-Objekt dafür instanziieren. Die WebElement-Klasse ist in der „org.öffnen Sie es.Selen.*“ Paket.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

Klicken auf ein Element

Klicken ist vielleicht die häufigste Art der Interaktion mit Webelementen. Die click() -Methode wird verwendet, um das Klicken eines Elements zu simulieren. Das folgende Selenium Java-Beispiel zeigt, wie click () verwendet wurde, um auf die Schaltfläche „Anmelden“ von Mercury Tours zu klicken.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Folgende Dinge müssen bei der Verwendung der click() -Methode beachtet werden.

  • Es werden keine Parameter/Argumente akzeptiert.
  • Die Methode wartet automatisch auf das Laden einer neuen Seite, falls zutreffend.
  • Das anzuklickende Element muss sichtbar sein (Höhe und Breite dürfen nicht gleich Null sein).

Get-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 Verwendung
get() Beispielverwendung:
  • Es öffnet automatisch ein neues Browserfenster und ruft die Seite ab, die Sie in den Klammern angegeben haben.
  • Es ist das Gegenstück zum „open“ -Befehl von Selenium IDE.
  • Der Parameter muss ein String-Objekt sein.
getTitle() Beispielverwendung:
  • Benötigt keine Parameter
  • Ruft den Titel der aktuellen Seite ab
  • Führende und nachfolgende Leerzeichen werden abgeschnitten
  • Gibt eine Nullzeichenfolge zurück, wenn die Seite keinen Titel hat
getPageSource() Beispielverwendung:
  • Benötigt keine Parameter
  • Gibt den Quellcode der Seite als String-Wert zurück
getCurrentUrl() Beispielverwendung:
  • Benötigt keine Parameter
  • Ruft die Zeichenfolge ab, die die aktuelle URL darstellt, die der Browser ansieht
getText() Beispielverwendung:
  • Ruft den inneren Text des Elements ab, das Sie /li>

Navigationsbefehle

Mit diesen Befehlen können Sie verschiedene Webseiten aktualisieren, aufrufen und zwischen ihnen hin- und herschalten.

navigieren().to() Beispielverwendung:
  • Es öffnet sich automatisch ein neues Browserfenster und ruft die Seite ab, die Sie in den Klammern angeben.
  • Es macht genau das gleiche wie die get() -Methode.
navigieren().refresh() Beispielverwendung:
  • Benötigt keine Parameter.
  • Es aktualisiert die aktuelle Seite.
navigieren().back() Beispielverwendung:
  • Benötigt keine Parameter
  • Führt Sie um eine Seite im Browserverlauf zurück.
navigieren().forward() Beispielverwendung:
  • Benötigt keine Parameter
  • Führt Sie um eine Seite im Browserverlauf weiter.

Schließen und Beenden von Browserfenstern

close() Beispielverwendung:
  • Benötigt keine Parameter
  • Es schließt nur das Browserfenster, das WebDriver gerade steuert.
quit() Beispielverwendung:
  • Benötigt keine Parameter
  • Es schließt alle Fenster, die WebDriver geöffnet hat.

Erstes Selenium Webdriver Skript: JAVA Code Beispiel

Um den Unterschied zwischen 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 anderes öffnet.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

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

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

Wenn Sie jedoch quit() verwenden, werden alle Fenster geschlossen – nicht nur das übergeordnete. Versuchen Sie, den folgenden Code auszuführen, und Sie werden feststellen, dass die beiden obigen Popups 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 }}

Umschalten zwischen Frames

Um auf GUI-Elemente in einem Frame zuzugreifen, sollten wir WebDriver zuerst anweisen, sich auf den Frame oder das Popup-Fenster zu konzentrieren, bevor wir darauf zugreifen können Elemente in ihnen. Nehmen wir zum Beispiel die Webseite http://demo.guru99.com/selenium/deprecated.html

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

Diese Seite hat 3 Frames, deren „name“ -Attribute oben angegeben sind. Wir möchten auf den oben gelb eingekreisten Link „Veraltet“ zugreifen. Dazu müssen wir WebDriver zuerst anweisen, mit „switchTo()“ zum Frame „classFrame“ zu wechseln.frame()“-Methode. Wir verwenden das Attribut name 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("http://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, sehen Sie, dass der Frame „classFrame“ zur Seite „Deprecated API“ weitergeleitet wird, was bedeutet, dass unser Code erfolgreich auf den Link „Deprecated“ zugreifen konnte.

Umschalten zwischen Popup-Fenstern

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 den „switchTo() .alert()“ -Methode. Im folgenden Code verwenden wir diese Methode, um auf das Warnungsfeld zuzugreifen und dann seine Nachricht mit der Methode „getText ()“ abzurufen und das Warnungsfeld dann automatisch mit „switchTo ()“ zu schließen.Warnung().accept()“-Methode.

Gehen Sie zuerst zu http://jsbin.com/usidix/1 und klicken Sie manuell auf „Go!“ klicken Sie dort und sehen Sie selbst den Nachrichtentext.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Sehen wir uns den Selenium-Beispielcode an, um dies zu tun –

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")).click(); alertMessage = driver.switchTo().alert().getText(); driver.switchTo().alert().accept(); System.out.println(alertMessage); driver.quit(); }}

Beachten Sie auf der Eclipse-Konsole, dass die gedruckte Warnmeldung lautet:

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Waits

Es gibt zwei Arten von Waits.

  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 codieren als explizites Warten.
  • Es wird normalerweise im Instanziierungsteil des Codes deklariert.
  • Sie benötigen nur ein zusätzliches Paket zum Importieren.

Um eine implizite Wartezeit zu verwenden, müssten Sie dieses Paket in Ihren Code importieren.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Fügen Sie dann im Instanziierungsteil Ihres Codes Folgendes hinzu.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Explizites Warten

Explizites Warten erfolgt mit den Klassen WebDriverWait und ExpectedCondition. Für das folgende Selenium WebDriver-Beispiel warten wir bis zu 10 Sekunden, bis ein Element mit der ID „username“ sichtbar wird, bevor wir mit dem nächsten Befehl fortfahren. Hier sind die Schritte.

Schritt 1

Importieren Sie diese beiden Pakete:

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Schritt 2

Deklarieren Sie eine WebDriverWait-Variable. In diesem Beispiel verwenden wir „myWaitVar“ als Namen der Variablen.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

Schritt 3

Verwenden Sie myWaitVar mit ExpectedConditions in Abschnitten, in denen das explizite Warten erforderlich ist. In diesem Fall verwenden wir explizites Warten auf die Eingabe „Benutzername“ (Mercury Tours HomePage), bevor wir den Text „Tutorial“ darauf eingeben.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

Bedingungen

Folgende Methoden werden in Bedingungs- und Schleifenoperationen verwendet –

  • IsEnabled() wird verwendet, wenn Sie überprüfen möchten, ob ein bestimmtes Element aktiviert ist oder nicht, bevor Sie einen Befehl ausführen.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

  • isDisplayed() wird verwendet, wenn Sie überprüfen möchten, ob ein bestimmtes Element angezeigt wird oder nicht, bevor Sie einen Befehl ausführen.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

  • IsSelected() wird verwendet, wenn Sie überprüfen möchten, ob ein bestimmtes Kontrollkästchen, Optionsfeld oder eine bestimmte Option in einem Dropdown-Feld ausgewählt ist. Es funktioniert nicht auf andere Elemente.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

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.

Im Folgenden finden Sie einige der häufigsten ExpectedConditions-Methoden.

  • alertIsPresent() – wartet, bis ein Warnfeld angezeigt wird.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

  • elementToBeClickable() – Wartet, bis ein Element sichtbar und gleichzeitig aktiviert ist. Der folgende Selenium-Beispielcode wartet, bis das Element zuerst sichtbar und aktiviert wird, bevor dieses Element als WebElement-Variable mit dem Namen „txtUserName“ zugewiesen wird.

Erstes Selenium Webdriver-Skript: JAVA-Codebeispiel

  • frameToBeAvailableAndSwitchToIt() – Wartet, bis der angegebene Frame bereits verfügbar ist, und wechselt dann automatisch zu ihm.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

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 ausgelöst. 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, ist die Art der Ausnahme, die Sie abfangen sollten, die „TimeoutException“.

Erstes Selenium-Webdriver-Skript: JAVA-Codebeispiel

Zusammenfassung

  • Um die WebDriver-API zu verwenden, müssen Sie mindestens diese beiden Pakete importieren.
  • org.öffnen Sie es.Selen.*
  • org.öffnen Sie es.Selen.Firefox.FirefoxDriver
  • Die Methode get() entspricht dem Befehl „open“ von Selenium IDE.
  • Das Auffinden von Elementen in WebDriver erfolgt mit der Methode findElement().
  • Im Folgenden sind die verfügbaren Optionen zum Auffinden von Elementen in WebDriver:
  • Durch.className
  • Durch.cssSelector
  • By.id
  • Durch.linkText
  • By.name
  • Durch.partialLinkText
  • Durch.tagName
  • Durch.xpath
  • Die durch.cssSelector () unterstützt die Funktion „enthält“ nicht.
  • Sie können ein Element mit der WebElement-Klasse instanziieren.
  • Das Klicken auf ein Element erfolgt mit der click() -Methode.
  • WebDriver bietet diese nützlichen get-Befehle:
  • get()
  • getTitle()
  • getPageSource()
  • getCurrentUrl()
  • getText()
  • WebDriver provides these useful navigation commands
  • navigate().forward()
  • navigate().back()
  • navigate().to()
  • navigate().refresh()
  • The close() and quit() methods are used to close browser windows. Close() wird verwendet, um ein einzelnes Fenster zu schließen; während quit() verwendet wird, um alle Fenster zu schließen, die dem übergeordneten Fenster zugeordnet sind, das das WebDriver-Objekt gesteuert hat.
  • Das switchTo().frame() und switchTo().alert() -Methoden werden verwendet, um den Fokus von WebDriver auf einen Frame bzw.
  • Implizite Wartezeiten werden verwendet, um die Wartezeit während des gesamten Programms festzulegen, während explizite Wartezeiten nur für bestimmte Abschnitte verwendet werden.Sie können die Methoden IsEnabled(), isDisplayed(),IsSelected() und eine Kombination aus WebDriverWait und ExpectedConditions verwenden, wenn Sie den Status eines Elements überprüfen. Sie überprüfen jedoch nicht, ob das Element nicht vorhanden ist.
  • Wenn IsEnabled() , isDisplayed()oder IsSelected() aufgerufen wurde, während das Element nicht vorhanden war, löst WebDriver eine NoSuchElementException aus.
  • Wenn die Methoden WebDriverWait und ExpectedConditions aufgerufen wurden, während das Element nicht vorhanden war, löste WebDriver eine TimeoutException aus.

Hinweis:

Treiber.bekommen() : Es wird verwendet, um auf die jeweilige Website zu gehen , Aber es verwaltet nicht den Browserverlauf und Cookies so , Wir können keine Vorwärts- und Rückwärtstaste verwenden , wenn wir darauf klicken , Seite wird nicht angezeigt

Treiber.navigate() : Es wird verwendet, um zu der jeweiligen Website zu gelangen, behält jedoch den Browserverlauf und die Cookies bei, sodass wir die Vorwärts- und Rückwärtstaste verwenden können, um während der Codierung von Testcase zwischen den Seiten zu navigieren