Ce este Clasa de acțiune în Selenium și aplicațiile sale?

Publicat: 2021-05-19

Clasa de acțiune în Selenium este o funcție încorporată oferită de selenium pentru gestionarea evenimentelor de la tastatură și mouse. Poate gestiona mai multe operațiuni și evenimente, cum ar fi tasta de control, glisare și plasare și multe altele. Operațiunile clasei de acțiune sunt implementate folosind caracteristica API de interacțiune avansată cu utilizatorul a Selenium Webdriver.

Cuprins

Evenimente utilizate în mod obișnuit pentru tastatură și mouse

Evenimentele speciale de la tastatură și mouse sunt gestionate folosind API-ul Advanced User Interactions. Acest API conține clasa Action și Actions care sunt necesare la executarea acestor evenimente. Mai jos sunt prezentate evenimentele de tastatură și mouse utilizate în mod obișnuit, furnizate în clasa Acțiune.

Metodă Descriere
Apasă si menține() Pentru a face clic fără a elibera în locația curentă a mouse-ului.
context-clic() Efectuează un clic-contextual (acțiunea mouse-ului cu clic dreapta) în locația curentă a mouse-ului
dublu click() Efectuează o acțiune de dublu clic în locația curentă a mouse-ului
trageți și plasați (sursă, țintă) Efectuează operația de apăsare și menținere la locația elementului sursă, apoi se deplasează la locația elementului țintă și eliberează mouse-ul.

Parametri:

element-sursă pentru a emula evenimente buton-down.

Element-țintă pentru a muta și elibera mouse-ul

dragAnd DropBy (sursă, x-offset, y-offset) Efectuează clic și menține apăsat la locația elementului sursă, se deplasează cu un decalaj specificat și apoi eliberează mouse-ul.

Parametri:

element-sursă pentru a emula evenimente buton-down.

xOffset- pentru a specifica deplasarea orizontală.

yOffset- pentru a specifica deplasarea verticală.

keyDown(cheie_modificatoare) Efectuează evenimentul de apăsare a tastei modificatoare. Nu eliberează tasta modificatoare cu interacțiunile ulterioare presupunând că este apăsată.

Parametri:

modificator_key pentru a reprezenta oricare dintre tastele modificatoare, cum ar fi Keys.SHIFT, Keys.ALT sau Keys.CONTROL.

tasta sus(modifier_key) Efectuează o eliberare a tastei.

Parametri:

modificator_key pentru a reprezenta oricare dintre tastele modificatoare, cum ar fi Keys.SHIFT, Keys.ALT sau Keys.CONTROL.

moveByOffset(decalaj x, decalaj y) Mută ​​mouse-ul din poziția curentă cu decalajul specificat.

Parametri:

x-offset pentru a specifica decalajul orizontal. O valoare negativă înseamnă că mouse-ul se mișcă spre stânga.

y-offset pentru a specifica decalajul vertical. O valoare negativă înseamnă că mouse-ul se mișcă în jos.

moveToElement(laElement) Mută ​​mouse-ul de la mijlocul la mijlocul elementului.

Parametri:

element pentru a reprezenta elementul la care să se deplaseze.

eliberare() Eliberează butonul stâng al mouse-ului apăsat în locația curentă a mouse-ului.
sendKeys(onElement, charsequence) Trimite o serie de apăsări de taste către element.

Parametri:

Element pentru a reprezenta elementul care va primi apăsările de taste, de obicei un câmp de text.

Char sequence - orice valoare de șir pentru a reprezenta secvența de apăsări de taste care este trimisă.

Exemple de aplicare a clasei de acțiune seleniu

1. Import Action și clasa Action .

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

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

2. Instanciați un nou obiect Actions

Actions builder = Acțiuni noi (driver);

3. Instanciați o acțiune utilizând obiectul Acțiune din pasul anterior

Acțiune mouseOverHome = constructor

.moveToElement(link_Home)

.construi();

Aici, folosim metoda moveToElement() pentru a trece cu mouse-ul peste linkul Home. build() este întotdeauna metoda finală pentru a se asigura că toate acțiunile sunt compilate într-un singur pas.

4. Utilizați metoda perform în timp ce executați obiectul Action pe care l-am declarat în pasul anterior.

Sintaxă:

mouseOverHome.perform();

Exemplul 2:

Să luăm un alt exemplu în care clasa Action este folosită pentru a implementa caracteristica de completare automată a casetei de text.

Pentru a face acest lucru manual, apăsăm tasta shift, introducem textul care trebuie introdus cu majuscule și apoi eliberăm tasta shift. Tastele Put, Shift + alfabet sunt apăsate împreună.

Pentru a imita aceeași operațiune prin scriptul de automatizare, este utilizată metoda Actions Class.

1. Import-Pachet

Clasa Action și Actions există în pachetul org.openqa.selenium.interactions al API-ului Web Driver. Pentru a le folosi trebuie să importați pachete:

org.openqa.selenium.interactions.Action;

org.openqa.selenium.interactions.Actions;

2. Instanciați clasa Action

Ar fi de ajutor dacă ați crea un obiect al clasei Actions pentru a-i invoca metodele. Deci, instanțiem clasa Actions și folosim obiectul WebDriver pentru a iniția clasa. Sintaxa este:

Actions actions = actiuni noi (obiect webdriver);

3. Generați o secvență de acțiuni

În acest exemplu, secvența de pași pentru a efectua mai multe acțiuni este:

  • Apăsați tasta Shift
  • Trimiteți textul dorit
  • Eliberați tasta Shift

Pentru a efectua aceste acțiuni, clasa Action are metode precum:

  • metoda keyDown pentru a apăsa tasta Shift.
  • metoda sendKeys pentru a trimite textul dorit.
  • Metoda keyUp eliberează tasta Shift.
  • KeyDown acționează ca o apăsare a tastei modificatoare pentru a se concentra asupra unui element, în timp ce metoda keyUp eliberează o tastă modificatoare apăsată.

O tastă modificatoare schimbă acțiunea altei taste atunci când ambele taste sunt apăsate simultan. De exemplu, Shift, Alt și Ctrl.

Este generată o secvență de acțiuni, dar aceste acțiuni sunt efectuate pe un webElement. Pașii pentru aceasta sunt:

WebElement element = driver.findElement;

actions.keyDown(element, Taste, Shift);

action.sendKeys(„TexttoBeConvertAndSendInUpperCase);

actions.keyUp(Taste.Shift);

Lucrul important de observat aici este că, dacă se întâmplă să treci cu mouse-ul în jurul oricărei metode de clasă Action, va fi returnat un obiect de clasă Actions.

4. Construiți secvența de acțiuni

Puteți construi secvența de acțiuni prin metoda build() a clasei Actions. Această metodă generează întregul set de acțiuni care sunt gata să fie efectuate. Sintaxa este:

Action action = actions.build();

Metoda build() returnează un obiect de tip Action care reprezintă o acțiune compusă construită dintr-o secvență de acțiuni multiple invocate de apelurile de metodă.

5. Efectuați secvențe de acțiuni

Ultimul pas în executarea clasei Action este executarea secvenței de acțiuni prin metoda perform() a interfeței Action. Sintaxa este:

action.perform();

Pașii de mai sus trebuie să fie executați pentru a folosi toate metodele clasei Actions și pentru a efectua diferite acțiuni ale utilizatorului folosind tastatura și mouse-ul.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Ce urmează?

Dacă sunteți interesat să aflați mai multe despre dezvoltarea de software Full-Stack, consultați programul Executive PG de la upGrad și IIIT-B Dezvoltare de software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Ce este clasa de acțiune în Selenium?

O clasă de acțiuni este o clasă care descrie o acțiune sau o serie de acțiuni pe care le puteți efectua pe un element web. Identificăm elementele asupra cărora dorim să efectuăm acțiuni de către localizatori. Clasele de acțiune sunt definite prin combinația de două caractere dintre un modificator public la nivel de clasă static și un sufix de acțiune (adică Action, KeyAction, PageAction etc.). Modificatorul static public ne permite să expunem clasa ca o clasă care poate fi instanțiată. Sufixul Acțiune indică tipul de acțiune efectuată. Clasa de sufix de acțiune este, de asemenea, parametrizată. Parametrul este numele elementului acțiunii. De exemplu, dacă dorim să efectuăm o acțiune pe un câmp text, am folosi parametrul textfield.

Care sunt utilizările seleniului?

Selenium este un instrument portabil de testare a software-ului foarte puternic (instrument de testare a software-ului seleniu), care este folosit pentru a înregistra și reda acțiunile utilizatorului pe o pagină web. Este folosit pentru a testa cerințele funcționale și nefuncționale ale unei aplicații web pe orice browser web. Este implementat în Java și are un API foarte simplu. Suportă testarea aplicațiilor web în toate browserele web majore precum Firefox, Chrome, Internet Explorer, Safari etc.

Cum să înveți Selenium în Java?

Selenium este un instrument care vă permite să scrieți teste automate într-o serie de limbaje de programare. Testele sunt scrise folosind driverul web. Îl puteți folosi pentru a testa aplicația dvs. web pe baza următoarelor limbaje de programare: Java, C#, Python și PHP. De fapt, mulți dezvoltatori consideră că nu este atât de necesar să învețe Selenium Java API. Selenium WebDriver este alegerea potrivită pentru a găsi elemente pe pagină și a efectua acțiuni cu acestea. Este posibil să implementați teste în multe limbaje de programare, dar dacă aveți nevoie să scrieți teste în Java, atunci Selenium WebDriver este cea mai bună alegere. O altă metodă de a învăța Selenium în Java este utilizarea Selenium IDE, cunoscut și sub numele de Selenium RC. Suportul de browser pentru acest instrument nu este atât de bun pe cât știm, doar Firefox și Chrome sunt acceptate. Dar, IDE-ul vă poate ajuta să proiectați și să executați rapid cazuri de testare Selenium, să înregistrați și să redați cazuri de testare, să generați automat cazuri de testare etc.