Was ist die Aktionsklasse in Selen und seine Anwendungen?

Veröffentlicht: 2021-05-19

Die Aktionsklasse in Selenium ist eine integrierte Funktion, die von Selenium zum Verwalten von Tastatur- und Mausereignissen angeboten wird. Es kann mehrere Vorgänge und Ereignisse wie Steuerungstaste, Drag & Drop und vieles mehr verwalten. Die Operationen der Aktionsklasse werden mithilfe der erweiterten Benutzerinteraktions-API-Funktion des Selenium Webdriver implementiert.

Inhaltsverzeichnis

Häufig verwendete Tastatur- und Mausereignisse

Spezielle Tastatur- und Mausereignisse werden mithilfe der Advanced User Interactions API behandelt. Diese API enthält die Action- und die Actions-Klasse, die beim Ausführen dieser Ereignisse erforderlich sind. Unten sind die häufig verwendeten Tastatur- und Mausereignisse aufgeführt, die in der Action-Klasse bereitgestellt werden.

Methode Beschreibung
Klicken und Halten() Zum Klicken ohne Loslassen an der aktuellen Mausposition.
Kontext-Klick() Führt einen Kontextklick (Rechtsklick-Mausaktion) an der aktuellen Mausposition aus
Doppelklick() Führt eine Doppelklickaktion an der aktuellen Mausposition aus
Drag and Drop (Quelle, Ziel) Führt einen Klick-und-Halten-Vorgang an der Position des Quellelements aus, bewegt sich dann zur Position des Zielelements und lässt die Maus los.

Parameter:

source-Element zum Emulieren von Button-Down-Ereignissen.

Zielelement zum Bewegen und Loslassen der Maus

dragAnd DropBy(Quelle, x-Offset, y-Offset) Führt Klicken und Halten an der Position des Quellelements aus, bewegt sich um einen angegebenen Versatz und lässt dann die Maus los.

Parameter:

source-Element zum Emulieren von Button-Down-Ereignissen.

xOffset- um den horizontalen Verschiebungsoffset anzugeben.

yOffset- um den vertikalen Verschiebungsoffset anzugeben.

keyDown(modifier_key) Führt das Modifikator-Tastendruck-Ereignis aus. Gibt die Zusatztaste bei nachfolgenden Interaktionen nicht frei, sofern sie gedrückt wird.

Parameter:

modifier_key zur Darstellung einer der Modifikatortasten wie Keys.SHIFT, Keys.ALT oder Keys.CONTROL.

Taste nach oben (modifier_key) Führt eine Tastenfreigabe durch.

Parameter:

modifier_key zur Darstellung einer der Modifikatortasten wie Keys.SHIFT, Keys.ALT oder Keys.CONTROL.

moveByOffset(x-Offset, y-Offset) Bewegt die Maus von der aktuellen Position um den angegebenen Offset.

Parameter:

x-Offset, um den horizontalen Offset anzugeben. Ein negativer Wert bedeutet, dass sich die Maus nach links bewegt.

y-Offset, um den vertikalen Offset anzugeben. Ein negativer Wert bedeutet, dass sich die Maus nach unten bewegt.

moveToElement(toElement) Bewegt die Maus von Mitte zu Mitte des Elements.

Parameter:

element, um das Element darzustellen, zu dem verschoben werden soll.

Freisetzung() Löst die gedrückte linke Maustaste an der aktuellen Mausposition.
sendKeys(onElement, charsequence) Sendet eine Reihe von Tastenanschlägen an das Element.

Parameter:

Element zur Darstellung des Elements, das die Tastenanschläge erhält, normalerweise ein Textfeld.

Zeichensequenz – ein beliebiger Zeichenfolgenwert zur Darstellung der gesendeten Tastenanschläge.

Anwendungsbeispiele der Selen-Aktionsklasse

1. Importieren Sie Action und die Action-Klasse .

import org.open a.selenium.interactions.Action;

import org.open a.selenium.interactions.Actions;

2. Instanziieren Sie ein neues Actions-Objekt

Aktionsgenerator = neue Aktionen (Treiber);

3. Instanziieren Sie eine Aktion mithilfe des Aktionsobjekts im vorherigen Schritt

Aktion mouseOverHome = Builder

.moveToElement(link_Home)

.bauen();

Hier verwenden wir die Methode moveToElement(), um eine Maus über den Home-Link zu bewegen. Die build() ist immer die letzte Methode, um sicherzustellen, dass alle Aktionen in einem einzigen Schritt kompiliert werden.

4. Verwenden Sie die perform-Methode, während Sie das Action-Objekt ausführen, das wir im vorherigen Schritt deklariert haben.

Syntax:

mouseOverHome.perform();

Beispiel 2:

Nehmen wir ein weiteres Beispiel, in dem die Action-Klasse verwendet wird, um die Autocomplete-Funktion des Textfelds zu implementieren.

Um dies manuell zu tun, drücken wir die Umschalttaste, tippen den Text, der eingegeben werden muss, in Großbuchstaben ein und lassen dann die Umschalttaste los. Put, Shift + Buchstabentasten werden zusammen gedrückt.

Um die gleiche Operation durch ein Automatisierungsskript nachzuahmen, wird die Actions-Klassenmethode verwendet.

1. Import-Paket

Action und Actions-Klasse sind im Paket org.openqa.selenium.interactions der Web Driver API vorhanden. Um diese zu verwenden, müssen Sie Pakete importieren:

org.openqa.selenium.interactions.Action;

org.openqa.selenium.interactions.Actions;

2. Instanziieren Sie die Action-Klasse

Es wäre hilfreich, wenn Sie ein Objekt der Actions-Klasse erstellen würden, um seine Methoden aufzurufen. Also instanziieren wir die Actions-Klasse und verwenden das WebDriver-Objekt, um die Klasse zu initiieren. Die Syntax lautet:

Aktionen Aktionen = neue Aktionen (Webdriver-Objekt);

3. Generieren Sie eine Aktionsfolge

In diesem Beispiel ist die Abfolge der Schritte zum Ausführen mehrerer Aktionen:

  • Drücken Sie die Umschalttaste
  • Senden Sie den gewünschten Text
  • Lassen Sie die Umschalttaste los

Um diese Aktionen auszuführen, verfügt die Action-Klasse über Methoden wie die folgenden:

  • keyDown-Methode, um die Umschalttaste zu drücken.
  • sendKeys-Methode, um den gewünschten Text zu senden.
  • Die Methode keyUp gibt die Umschalttaste frei.
  • Das keyDown fungiert als Modifizierertastendruck, um sich auf ein Element zu konzentrieren, während die keyUp-Methode eine gedrückte Modifizierertaste freigibt.

Eine Zusatztaste ändert die Aktion einer anderen Taste, wenn beide Tasten gleichzeitig gedrückt werden. ZB Shift, Alt und Strg.

Eine Abfolge von Aktionen wird generiert, aber diese Aktionen werden auf einem webElement ausgeführt. Die Schritte dazu sind:

WebElement-Element = driver.findElement;

actions.keyDown (Element, Tasten, Umschalt);

action.sendKeys(“TexttoBeConvertAndSendInUpperCase);

Aktionen.keyUp (Tasten.Umschalt);

Es ist wichtig, hier zu beachten, dass ein Actions-Klassenobjekt zurückgegeben wird, wenn Sie den Mauszeiger über eine Action-Klassenmethode bewegen.

4. Erstellen Sie die Aktionssequenz

Sie können die Aktionssequenz mit der Methode build() der Klasse Actions erstellen. Diese Methode generiert den gesamten Satz von Aktionen, die ausgeführt werden können. Die Syntax lautet:

Aktion action = actions.build();

Die Methode build() gibt ein Objekt des Typs Action zurück, das eine zusammengesetzte Aktion darstellt, die aus einer Folge mehrerer Aktionen besteht, die durch Methodenaufrufe aufgerufen werden.

5. Führen Sie Aktionssequenzen aus

Der letzte Schritt beim Ausführen der Action-Klasse ist das Ausführen der Aktionssequenz durch die perform()-Methode der Action-Schnittstelle. Die Syntax lautet:

action.perform();

Die oben angegebenen Schritte müssen ausgeführt werden, um alle Methoden der Actions-Klasse zu nutzen und verschiedene Benutzeraktionen mit Tastatur und Maus auszuführen.

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Was als nächstes?

Wenn Sie mehr über die Full-Stack-Softwareentwicklung erfahren möchten, sehen Sie sich das Executive PG-Programm Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte und mehr bietet Aufgaben, IIIT-B-Alumni-Status, praktische praktische Schlusssteinprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Was ist Aktionsklasse in Selen?

Eine Aktionsklasse ist eine Klasse, die eine Aktion oder eine Reihe von Aktionen beschreibt, die Sie für ein Webelement ausführen können. Wir identifizieren die Elemente, für die wir Aktionen ausführen möchten, durch Locators. Aktionsklassen werden durch die Zwei-Zeichen-Kombination eines öffentlichen statischen Klassenstufenmodifikators und eines Aktionssuffixes (dh Action, KeyAction, PageAction usw.) definiert. Der öffentliche statische Modifikator ermöglicht es uns, die Klasse als Klasse bereitzustellen, die instanziiert werden kann. Das Aktionssuffix bezeichnet die Art der ausgeführten Aktion. Die Action-Suffix-Klasse wird ebenfalls parametrisiert. Der Parameter ist der Elementname der Aktion. Wenn wir beispielsweise eine Aktion für ein Textfeld ausführen möchten, würden wir den Parameter textfield verwenden.

Was sind die Verwendungen von Selen?

Selenium ist ein sehr leistungsfähiges tragbares Softwaretesttool (Selenium Software Testing Tool), das zum Aufzeichnen und Wiedergeben der Benutzeraktionen auf einer Webseite verwendet wird. Es wird verwendet, um die funktionalen und nicht funktionalen Anforderungen einer Webanwendung auf einem beliebigen Webbrowser zu testen. Es ist in Java implementiert und hat eine sehr einfache API. Es unterstützt das Testen von Webanwendungen in allen gängigen Webbrowsern wie Firefox, Chrome, Internet Explorer, Safari usw.

Wie lerne ich Selen in Java?

Selenium ist ein Tool, mit dem Sie automatisierte Tests in einer Reihe von Programmiersprachen schreiben können. Tests werden mit Webtreiber geschrieben. Sie können damit Ihre Webanwendung auf Basis der folgenden Programmiersprachen testen: Java, C#, Python und PHP. Tatsächlich sind viele Entwickler der Meinung, dass es nicht so notwendig ist, die Selenium Java API zu lernen. Selenium WebDriver ist die richtige Wahl, um Elemente auf der Seite zu finden und Aktionen mit ihnen auszuführen. Es ist möglich, Tests in vielen Programmiersprachen zu implementieren, aber wenn Sie Tests in Java schreiben müssen, ist Selenium WebDriver die beste Wahl. Eine andere Methode, um Selenium in Java zu lernen, ist die Verwendung von Selenium IDE, auch bekannt als Selenium RC. Die Browserunterstützung für dieses Tool ist nicht so gut, wie wir wissen, nur Firefox und Chrome werden unterstützt. Die IDE kann Ihnen jedoch dabei helfen, Selenium-Testfälle schnell zu entwerfen und auszuführen, Testfälle aufzuzeichnen und wiederzugeben, Testfälle automatisch zu generieren usw.