Czym jest klasa Action w Selenium i jej aplikacjach?

Opublikowany: 2021-05-19

Action Class w Selenium to wbudowana funkcja oferowana przez selen do zarządzania zdarzeniami klawiatury i myszy. Może zarządzać wieloma operacjami i zdarzeniami, takimi jak klawisz kontrolny, przeciąganie i upuszczanie i wiele innych. Operacje klasy Action są implementowane przy użyciu zaawansowanej funkcji API interakcji z użytkownikiem Selenium Webdriver.

Spis treści

Powszechnie używane zdarzenia klawiatury i myszy

Specjalne zdarzenia klawiatury i myszy są obsługiwane za pomocą interfejsu API Advanced User Interactions. Ten interfejs API zawiera klasę Action i Actions, które są wymagane podczas wykonywania tych zdarzeń. Poniżej podano najczęściej używane zdarzenia klawiatury i myszy, które są dostępne w klasie Action.

metoda Opis
Kliknij i przytrzymaj() Kliknięcie bez zwalniania w bieżącej lokalizacji myszy.
kliknij kontekst() Wykonuje kliknięcie kontekstowe (kliknij prawym przyciskiem myszy) w bieżącej lokalizacji myszy
podwójne kliknięcie() Wykonuje akcję dwukrotnego kliknięcia w bieżącej lokalizacji myszy
przeciągnij i upuść (źródło, cel) Wykonuje operację „kliknij i przytrzymaj” w lokalizacji elementu źródłowego, a następnie przechodzi do lokalizacji elementu docelowego i zwalnia mysz.

Parametry:

element-źródłowy do emulacji zdarzeń przyciśnięcia przycisku.

Element docelowy do poruszania się i zwalniania myszy

dragAnd DropBy(źródło, przesunięcie x, przesunięcie y) Wykonuje kliknięcie i przytrzymanie w lokalizacji elementu źródłowego, przesuwa się o określone przesunięcie, a następnie zwalnia mysz.

Parametry:

element-źródłowy do emulacji zdarzeń przyciśnięcia przycisku.

xOffset-, aby określić przesunięcie przesunięcia w poziomie.

yOffset- aby określić przesunięcie ruchu w pionie.

klawisz w dół(klawisz_modyfikatora) Wykonuje zdarzenie naciśnięcia klawisza modyfikującego. Nie zwalnia klawisza modyfikującego przy kolejnych interakcjach, zakładając, że jest on wciśnięty.

Parametry:

modifier_key do reprezentowania dowolnych klawiszy modyfikujących, takich jak Keys.SHIFT, Keys.ALT lub Keys.CONTROL.

klawisz w górę (klawisz_modyfikatora) Wykonuje zwolnienie klawisza.

Parametry:

modifier_key do reprezentowania dowolnych klawiszy modyfikujących, takich jak Keys.SHIFT, Keys.ALT lub Keys.CONTROL.

moveByOffset(przesunięcie x, przesunięcie y) Przesuwa mysz z bieżącej pozycji o określone przesunięcie.

Parametry:

x-offset, aby określić odsunięcie poziome. Wartość ujemna oznacza, że ​​mysz porusza się w lewo.

odsunięcie y, aby określić odsunięcie w pionie. Wartość ujemna oznacza, że ​​mysz porusza się w dół.

moveToElement(toElement) Przesuwa mysz ze środka na środek elementu.

Parametry:

element do reprezentowania elementu, do którego ma zostać przeniesiony.

uwolnienie() Zwalnia wciśnięty lewy przycisk myszy w bieżącej lokalizacji myszy.
sendKeys(onElement, charsequence) Wysyła serię naciśnięć klawiszy do elementu.

Parametry:

Element reprezentujący element, który otrzyma naciśnięcia klawiszy, zwykle pole tekstowe.

Sekwencja znaków — dowolna wartość ciągu reprezentująca sekwencję naciśnięć klawiszy, która jest wysyłana.

Przykłady zastosowania klasy działania selenu

1. Importuj Action i klasę Action .

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

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

2. Utwórz nowy obiekt Actions

Konstruktor akcji = nowe akcje (sterownik);

3. Utwórz wystąpienie akcji za pomocą obiektu akcji w poprzednim kroku

Akcja mouseOverHome = budowniczy

.moveToElement(link_Home)

.zbudować();

Tutaj używamy metody moveToElement() do wykonania najechania myszą na link Home. Metoda build() jest zawsze ostatnią metodą zapewniającą, że wszystkie akcje zostaną skompilowane w jednym kroku.

4. Użyj metody perform podczas wykonywania obiektu Action, który zadeklarowaliśmy w poprzednim kroku.

Składnia:

mouseOverHome.perform();

Przykład 2:

Weźmy inny przykład, w którym klasa Action jest używana do implementacji funkcji autouzupełniania pola tekstowego.

Aby to zrobić ręcznie, naciskamy klawisz Shift, wpisujemy tekst, który należy wprowadzić wielkimi literami, a następnie puszczamy klawisz Shift. Włóż, Shift + klawisze alfabetu są wciśnięte razem.

Aby naśladować tę samą operację za pomocą skryptu automatyzacji, wykorzystywana jest metoda Actions Class.

1. Pakiet importowy

Klasa Action i Actions istnieje w pakiecie org.openqa.selenium.interactions interfejsu API sterownika sieci Web. Aby z nich skorzystać, musisz zaimportować pakiety:

org.openqa.selenium.interactions.Akcja;

org.openqa.selenium.interactions.Akcje;

2. Utwórz instancję klasy Action

Pomogłoby, gdybyś utworzył obiekt klasy Actions do wywoływania jego metod. Dlatego tworzymy instancję klasy Actions i używamy obiektu WebDriver do zainicjowania klasy. Składnia to:

Akcje akcji = nowe Akcje (obiekt webdriver);

3. Wygeneruj sekwencję działań

W tym przykładzie sekwencja kroków do wykonania wielu działań to:

  • Naciśnij klawisz Shift
  • Wyślij żądany tekst
  • Zwolnij klawisz Shift

Aby wykonać te akcje, klasa Action posiada metody takie jak:

  • keyDown, aby nacisnąć klawisz Shift.
  • metoda sendKeys, aby wysłać żądany tekst.
  • Metoda keyUp zwalnia klawisz Shift.
  • KeyDown działa jak naciśnięcie klawisza modyfikującego, aby skoncentrować się na elemencie, podczas gdy metoda keyUp zwalnia naciśnięty klawisz modyfikujący.

Klawisz modyfikujący zmienia działanie innego klawisza, gdy oba klawisze są wciśnięte jednocześnie. Np. Shift, Alt i Ctrl.

Generowana jest sekwencja akcji, ale te akcje są wykonywane na elemencie webElement. Kroki w tym celu to:

Element WebElement = driver.findElement;

akcje.keyDown(element, klawisze, Shift);

action.sendKeys(„TekstDo KonwertowaniaIWyślijWwielkich);

akcje.keyUp(Klawisze.Shift);

Ważną rzeczą, którą należy tutaj zauważyć, jest to, że jeśli zdarzy się, że najedziesz kursorem na dowolną metodę klasy Action, zostanie zwrócony obiekt klasy Actions.

4. Zbuduj sekwencję działań

Sekwencję akcji można zbudować za pomocą metody build() klasy Actions. Ta metoda generuje cały zestaw akcji, które są gotowe do wykonania. Składnia to:

Akcja akcja = akcje.buduj();

Metoda build() zwraca obiekt typu Action, który reprezentuje akcję złożoną zbudowaną z sekwencji wielu akcji wywoływanych przez wywołania metod.

5. Wykonaj sekwencje akcji

Ostatnim krokiem w wykonaniu klasy Action jest wykonanie sekwencji akcji za pomocą metody perform() interfejsu Action. Składnia to:

akcja.wykonaj();

Powyższe kroki należy wykonać, aby wykorzystać wszystkie metody klasy Actions i wykonać różne akcje użytkownika za pomocą klawiatury i myszy.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Co następne?

Jeśli chcesz dowiedzieć się więcej o tworzeniu oprogramowania typu Full-Stack, sprawdź program Executive PG Program UpGrad i IIIT-B, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Czym jest klasa akcji w Selenium?

Klasa akcji to klasa opisująca akcję lub serię akcji, które można wykonać na elemencie WWW. Identyfikujemy elementy, na których chcemy wykonywać działania przez lokalizatory. Klasy akcji są definiowane przez dwuznakową kombinację publicznego modyfikatora poziomu klasy statycznej i przyrostka Action (tj. Action, KeyAction, PageAction itp.). Modyfikator public static umożliwia nam ujawnienie klasy jako klasy, którą można utworzyć. Przyrostek Akcja oznacza rodzaj wykonywanej akcji. Klasa sufiksu Action jest również sparametryzowana. Parametrem jest nazwa elementu akcji. Na przykład, jeśli chcemy wykonać akcję na polu tekstowym, użyjemy parametru textfield.

Jakie są zastosowania selenu?

Selenium to bardzo potężne przenośne narzędzie do testowania oprogramowania (narzędzie do testowania oprogramowania selen), które służy do rejestrowania i odtwarzania działań użytkownika na stronie internetowej. Służy do testowania wymagań funkcjonalnych i niefunkcjonalnych aplikacji internetowej w dowolnej przeglądarce internetowej. Jest zaimplementowany w Javie i ma bardzo proste API. Obsługuje testowanie aplikacji internetowych we wszystkich głównych przeglądarkach internetowych, takich jak Firefox, Chrome, Internet Explorer, Safari itp.

Jak nauczyć się selenu w Javie?

Selenium to narzędzie, które pozwala pisać testy automatyczne w wielu językach programowania. Testy są pisane przy użyciu sterownika sieciowego. Możesz go użyć do przetestowania swojej aplikacji internetowej w oparciu o następujące języki programowania: Java, C#, Python i PHP. W rzeczywistości wielu programistów uważa, że ​​nie jest konieczne poznawanie Selenium Java API. Selenium WebDriver to właściwy wybór do wyszukiwania elementów na stronie i wykonywania z nimi działań. Możliwe jest zaimplementowanie testów w wielu językach programowania, ale jeśli potrzebujesz pisać testy w Javie, to Selenium WebDriver jest najlepszym wyborem. Inną metodą nauki Selenium w Javie jest użycie Selenium IDE, znanego również jako Selenium RC. Wsparcie przeglądarek dla tego narzędzia nie jest tak dobre, jak wiemy, obsługiwane są tylko Firefox i Chrome. Ale IDE może pomóc w szybkim projektowaniu i wykonywaniu przypadków testowych Selenium, nagrywaniu i odtwarzaniu przypadków testowych, automatycznym generowaniu przypadków testowych itp.