Klasse für kritische Aktionen in Selen - Absoluter 2021-Leitfaden

Wir werden die ausführliche Verwendung der Actions-Klasse in Selen für verschiedene Webvorgänge diskutieren und lernen. Die Aktionsklasse in Selen wird häufig verwendet, um verschiedene Weboperationen wie Maus- und Tastaturbewegungen auszuführen, bei denen es sich um erweiterte Webbrowser-Aktionen handelt.

Mausaktionen

Tastaturaktionen

Aktionsklasse in Selen

Was ist die Aktionsklasse in Selen: 

Aktionsklasse in Selen
Aktionsklasse in Selen

Actions Class ist eine Klasse aus Selenium Bundle Api aus dem Paket org.openqa.selenium.interactions. Kritische und fortgeschrittene Webinteraktionen mit Benutzern über die Browser-Automatisierung. Bietet Benutzern ein Handle zum Ausführen verschiedener Maus- und Tastaturaktionen mit verschiedenen oben genannten Methoden.  

Aktionsklasse in Selen
Aktionsklasse in Selen

Wir werden hier alle Webinteraktionen über die Aktionsklasse in Selen diskutieren. Zunächst lernen wir die Mausinteraktionen und gehen zur Klasse KeyBoard-Interaktionen mit Aktionen in Selen über.

Mausinteraktionen - Aktionsklasse in Selen

Ziehen Sie Selen per Drag & Drop ein

Drag & Drop in Selen kann mit der Actions-Klasse in Selen auf drei verschiedene Arten durchgeführt werden: 

Drag & Drop in Selen mit Aktionsklasse in Selen über die Erstellungsmethode: 

Wir benötigen zwei Webelements, um Drag & Drop in Selen ausführen zu können, z. B. Source WebElement (das gezogen werden soll) und Destination WebElement (wobei das Source WebElement gelöscht werden soll, dh das Destination WebElement). Die folgende Methode ist eine angepasste Methode ( (die Sie zum Erstellen Ihrer Framework-WebUtils verwenden können), die das Drag & Drop in Selen ausführen, und diese Methode verwendet zwei Argumente: das Quell-WebElement und das Ziel-WebElement, wie bereits erwähnt: 

public void dragAndDrop (Nach Quelle, Nach Ziel) { try { WebElement sourceElement = driver.findElement (source); WebElement destinationElement = driver.findElement(destination); Aktionsgenerator = neue Aktionen (Treiber); Aktion dragAndDrop = builder.clickAndHold(sourceElement).moveToElement(destinationElement) .release(destinationElement).build(); dragAndDrop.perform(); BASE_LOGGER.info("Drag-and-Drop-Aktion erfolgreich durchgeführt"); } catch (Ausnahme e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Fehler aufgetreten, dh: " + exceptionData + " beim Ausführen von DragAndDrop "); } }

Klicken Sie hier, um das gesamte Konzept zum Ziehen und Ablegen kennenzulernen und alle Ansätze zum Ausführen von Drag & Drop in Selen kennenzulernen.

ClickAndHold in Selen 

ClickAndHold ist eine weitere wichtige Methode aus der Actions-Klasse (aus dem Paket org.openqa.selenium.interactions) in Selenium to
Führen Sie zuerst einen Linksklick über ein beliebiges webElement aus und halten Sie es gedrückt, ohne die Maus loszulassen.

Diese Methode wird hauptsächlich beim Ausführen von Drag & Drop-Szenarien verwendet. Im Folgenden finden Sie das Beispielcodebild: 

Aktionsklasse in Selen
Klicken und halten Sie die Aktion-Klasse in Selen

MoveToElement in Selen

MoveToElement ist eine Methode aus der Actions-Klasse in Selenium, um die Bewegung zu einem anderen WebElement (Destination Webelement) auszuführen, die diese Methode als ein entsprechendes Argument verwendet.

Diese Methode wird hauptsächlich beim Ausführen von Drag & Drop-Szenarien verwendet. Im Folgenden finden Sie das Beispielcodebild: 

MoveToElement
Zum Element wechseln - Aktionsklasse in Selen

Doppelklicken Sie in Selen

Um den Doppelklickvorgang per Maus zu replizieren, müssen Sie in Selenium einen Doppelklick über die Actions-Klasse ausführen. Dies können Sie wie folgt tun: 

public void doubleClick(By locator) {try { WebElement element = driver.findElement(locator); Aktionen Aktionen = neue Aktionen (Treiber); Aktionen.doubleClick(element).perform(); BASE_LOGGER.info("Doppelklick auf das Element durchgeführt: " + Locator); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Element ist nicht an das Seitendokument angehängt" + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage()); } catch (Exception e) { BASE_LOGGER.error("Element " + Locator + " war nicht anklickbar " + e.getCause().getMessage()); } }

Das obige Code-Snippet ist eine Methode, die grundsätzlich ein Argument als Locator verwendet, dh das WebElement, auf das der Doppelklick ausgeführt werden muss. 

Kontextklick oder Selenium Rechtsklick

Um die Kontextklick- oder Rechtsklickoperation per Maus zu replizieren, müssen Sie die Kontextklickmethode über die Actions-Klasse in Selen ausführen. Dies können Sie wie folgt tun: 

public void rightClick(By locator) { try {WebElement element = driver.findElement(locator); Aktionen Aktionen = neue Aktionen (Treiber); Aktionen.contextClick(element).perform(); BASE_LOGGER.info("Der Kontext wurde ausgeführt. Klicken Sie auf das Element: " + Locator); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Element ist nicht an das Seitendokument angehängt" + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage()); } catch (Exception e) { BASE_LOGGER.error("Element " + Locator + " war nicht anklickbar " + e.getCause().getMessage()); } }

Das obige Code-Snippet ist eine Methode, die grundsätzlich ein Argument als Locator verwendet, dh das WebElement, auf das der Doppelklick ausgeführt werden muss. 

Pause in Selen 

Wann immer wir eine Zeitverzögerung zwischen verschiedenen Aktionen einführen möchten, können wir die Pausenmethode zwischen den Aktionen verwenden. Wenn wir beispielsweise einige Sekunden Verzögerung zwischen Drag & Drop-Operation wünschen, können wir die Pause aufrufen ( ) Methode der Aktionsklasse in Selen im folgenden Ansatz: 

public void pauseBetweenActions(By source,By destination, int timeUnit) { try { WebElement sourceElement = driver.findElement(source); WebElement destinationElement = driver.findElement(destination); Aktionsgenerator = neue Aktionen (Treiber); builder.clickAndHold(sourceElement).moveToElement(destinationElement).pause(timeUnit).release(destinationElement).build().perform(); BASE_LOGGER.info("Drag-and-Drop-Aktion erfolgreich durchgeführt"); } catch (Ausnahme e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Fehler aufgetreten, dh: " + exceptionData + " beim Ausführen von DragAndDrop "); } }

Bei der obigen Methode werden drei Argumente verwendet: Ein Quell-WebElement, ein anderes Argument ist das Zielelement und das letzte ist für timeUnit, dh die Zeitverzögerung, die wir mit pause () in Selenium einführen möchten.

Maus schwebt in Selen

Maus-Hover in Selenium-Operation kann mithilfe der Actions-Klasse in Selenium erreicht werden. Sobald wir uns auf ein WebElement konzentrieren und von dort aus den Mauszeiger durch diese Mouse-Hover-Operation auf ein anderes Element bewegen möchten, und auf dieses WebElement, wo Wir möchten, dass unser Mauszeiger als Ziel-WebElement bezeichnet wird. 

Unten ist das Code-Snippet für dasselbe: 

public void mouseHover (Von targetedLocator) { try { WebElement targetedElement = driver.findElement (targetedLocator); Aktionsgenerator = neue Aktionen (Treiber); builder.moveToElement(targetedElement).build().perform(); BASE_LOGGER.info("Maus-Hover in Selenium-Aktion erfolgreich durchgeführt"); } catch (Ausnahme e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Fehler aufgetreten, dh: " + exceptionData + " beim Maus-Hover in Selenium "); } }

Um alles zu lernen Selenium Webdriver Befehl, auf den Sie hier verweisen können .

Tastaturaktionen - Aktionsklasse in Selen

Was sind Tastaturaktionen und wo sind sie erforderlich?

Tastaturaktionen bedeutet, dass die Operationen direkt von einer Tastatur aus ausgeführt werden, z. B. wenn wir versuchen, Contrl + A zusammen oder Control + C zusammen auszuführen oder während der Interaktion mit WebElements die Tasten Key Up oder Keydown über die Tastatur auszuführen.

Mit Hilfe der Actions-Klasse in Selen können wir mehrere Tastaturinteraktionen durchführen

sendKeys in Selen :

Wir können die sendKeys-Operation mit Hilfe der Actions-Klasse in Selen auf folgende Weise ausführen:

public void sendKeysWithActionClass(By locator) {try { WebElement element = driver.findElement(locator); Aktionen Aktionen = neue Aktionen (Treiber); actions.sendKeys("Tastaturdateneingabe"); // Tastaturaktionen ausführen, die Control und c zusammen ausdrücken actions.sendKeys(Keys.CONTROL); Aktionen.sendKeys("c"); Aktionen.build().perform(); } catch (Ausnahme e) { String exceptionData = e.getCause().getMessage(); } }

KeyUp in Selen :

In ähnlicher Weise können wir KeyUp-Operationen mit der Actions-Klasse in Selen auf folgende Weise ausführen:

    public void keyUpWithActionClass(By locator) {try { WebElement element = driver.findElement(locator); Aktionen Aktionen = neue Aktionen (Treiber); actions.sendKeys("Tastaturdateneingabe"); // Tastaturaktionen ausführen, die Control und c zusammen mit keyUp ausdrücken actions.keyUp(Keys.CONTROL); Aktionen.sendKeys("c"); Aktionen.build().perform(); } catch (Ausnahme e) { String exceptionData = e.getCause().getMessage(); } }

KeyDown in Selen

Wir können die keyDown-Operation mit Hilfe der Actions-Klasse in Selenium im folgenden Ansatz ausführen:

public void keyDownWithActionClass(By locator) {try { WebElement element = driver.findElement(locator); Aktionen Aktionen = neue Aktionen (Treiber); actions.sendKeys("Tastaturdateneingabe"); // Tastaturaktionen ausführen, die Control und V zusammen mit keyDown ausdrücken. actions.keyDown(Keys.CONTROL); Aktionen.sendKeys("v"); Aktionen.build().perform(); } catch (Ausnahme e) { String exceptionData = e.getCause().getMessage(); } }

Zusammenfassung: Damit sind wir hier mit der Actions-Klasse fertig in Selenium ,Im kommenden Tutorial JavascriptExecutor in Selen auf modulare und dennoch umfassende Weise . Lernen Erschöpfend das Selenium-Kommando Sie können sich hier auch darauf vorbereiten Fragen zu kritischen Selenium-Interviews, auf die Sie hier verweisen können.

Hinterlasse einen Kommentar