Che cos'è la classe d'azione in selenio e le sue applicazioni?

Pubblicato: 2021-05-19

Action Class in Selenium è una funzionalità integrata offerta da selenium per la gestione degli eventi di tastiera e mouse. Può gestire più operazioni ed eventi come tasto di controllo, trascinamento della selezione e molti altri. Le operazioni della classe Action sono implementate utilizzando la funzionalità API di interazione utente avanzata del Selenium Webdriver.

Sommario

Eventi di tastiera e mouse comunemente usati

Gli eventi speciali della tastiera e del mouse vengono gestiti utilizzando l'API Advanced User Interactions. Questa API contiene la classe Action e Actions necessarie durante l'esecuzione di questi eventi. Di seguito sono riportati gli eventi di tastiera e mouse comunemente usati forniti nella classe Action.

Metodo Descrizione
Fai clic e tieni premuto() Per fare clic senza rilasciare nella posizione corrente del mouse.
clic contestuale() Esegue un clic contestuale (azione di clic con il pulsante destro del mouse) nella posizione corrente del mouse
doppio click() Esegue un'azione di doppio clic nella posizione corrente del mouse
trascina e rilascia (origine, destinazione) Esegue un'operazione di clic e tieni premuto nella posizione dell'elemento di origine, quindi si sposta nella posizione dell'elemento di destinazione e rilascia il mouse.

Parametri:

elemento sorgente per emulare eventi di tipo button-down.

Elemento-bersaglio per muovere e rilasciare il mouse

dragAnd DropBy(sorgente, offset x, offset y) Esegue clic e tieni premuto nella posizione dell'elemento sorgente, si sposta di un offset specificato e quindi rilascia il mouse.

Parametri:

elemento sorgente per emulare eventi di tipo button-down.

xOffset- per specificare l'offset di spostamento orizzontale.

yOffset- per specificare l'offset di spostamento verticale.

keyDown(modifier_key) Esegue l'evento di pressione del tasto modificatore. Non rilascia il tasto modificatore con le interazioni successive supponendo che sia premuto.

Parametri:

tasto_modificatore per rappresentare uno qualsiasi dei tasti modificatori, ad esempio Keys.SHIFT, Keys.ALT o Keys.CONTROL.

tasto Su(modifier_key) Esegue un rilascio chiave.

Parametri:

tasto_modificatore per rappresentare uno qualsiasi dei tasti modificatori, ad esempio Keys.SHIFT, Keys.ALT o Keys.CONTROL.

moveByOffset(offset x, offset y) Sposta il mouse dalla posizione corrente dell'offset specificato.

Parametri:

x-offset per specificare l'offset orizzontale. Un valore negativo significa che il mouse si sta spostando a sinistra.

y-offset per specificare l'offset verticale. Un valore negativo significa che il mouse si sta spostando verso il basso.

moveToElement(toElement) Sposta il mouse dal centro al centro dell'elemento.

Parametri:

elemento per rappresentare l'elemento in cui spostarsi.

pubblicazione() Rilascia il pulsante sinistro del mouse premuto nella posizione corrente del mouse.
sendKeys(onElement, charsequence) Invia una serie di sequenze di tasti all'elemento.

Parametri:

Elemento per rappresentare l'elemento che riceverà le sequenze di tasti, solitamente un campo di testo.

Sequenza di caratteri: qualsiasi valore di stringa per rappresentare la sequenza di sequenze di tasti inviata.

Esempi di applicazione della classe di azione del selenio

1. Importa azione e la classe Azione .

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

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

2. Istanziare un nuovo oggetto Actions

Generatore di azioni = new Actions(driver);

3. Istanziare un'azione utilizzando l'oggetto Action nel passaggio precedente

Azione mouseOverHome = costruttore

.moveToElement(link_Home)

.costruire();

Qui, stiamo usando il metodo moveToElement() per eseguire un passaggio del mouse sul collegamento Home. build() è sempre il metodo finale per garantire che tutte le azioni siano compilate in un unico passaggio.

4. Utilizzare il metodo perform durante l'esecuzione dell'oggetto Action dichiarato nel passaggio precedente.

Sintassi:

mouseOverHome.perform();

Esempio 2:

Prendiamo un altro esempio in cui la classe Action viene utilizzata per implementare la funzione di completamento automatico della casella di testo.

Per farlo manualmente, premiamo il tasto Maiusc, digitiamo il testo che deve essere inserito in maiuscolo e poi rilasciamo il tasto Maiusc. I tasti Put, Maiusc + alfabeto vengono premuti insieme.

Per simulare la stessa operazione tramite lo script di automazione, viene utilizzato il metodo Actions Class.

1. Pacchetto di importazione

Le classi Action e Actions esistono nel pacchetto org.openqa.selenium.interactions dell'API Web Driver. Per utilizzarli devi importare i pacchetti:

org.openqa.selenium.interactions.Action;

org.openqa.selenium.interactions.Actions;

2. Istanziare la classe Action

Sarebbe utile se si creasse un oggetto della classe Actions per richiamarne i metodi. Quindi, istanziamo la classe Actions e utilizziamo l'oggetto WebDriver per avviare la classe. La sintassi è:

Azioni azioni = nuove Azioni (oggetto webdriver);

3. Genera una sequenza di azioni

In questo esempio, la sequenza di passaggi per eseguire più azioni è:

  • Premi il tasto Maiusc
  • Invia il testo desiderato
  • Rilascia il tasto Maiusc

Per eseguire queste azioni, la classe Action dispone di metodi come:

  • keyDown per premere il tasto Maiusc.
  • sendKeys per inviare il testo desiderato.
  • Il metodo keyUp rilascia il tasto Maiusc.
  • Il keyDown agisce come un tasto modificatore premuto per concentrarsi su un elemento mentre il metodo keyUp rilascia un tasto modificatore premuto.

Un tasto modificatore cambia l'azione di un altro tasto quando entrambi i tasti vengono premuti contemporaneamente. Ad esempio, Maiusc, Alt e Ctrl.

Viene generata una sequenza di azioni, ma queste azioni vengono eseguite su un webElement. I passaggi per questo sono:

Elemento WebElement = driver.findElement;

actions.keyDown(elemento, Tasti, Maiusc);

action.sendKeys("TexttoBeConvertAndSendInUpperCase);

actions.keyUp(Keys.Shift);

La cosa importante da osservare qui è che se ti capita di passare con il mouse su qualsiasi metodo della classe Action, verrà restituito un oggetto della classe Actions.

4. Costruisci la sequenza delle azioni

È possibile creare la sequenza di azioni tramite il metodo build() della classe Actions. Questo metodo genera l'intero set di azioni pronte per essere eseguite. La sintassi è:

Azione azione = actions.build();

Il metodo build() restituisce un oggetto di tipo Action che rappresenta un'azione composita creata da una sequenza di più azioni invocate dalle chiamate al metodo.

5. Eseguire sequenze di azioni

L'ultimo passaggio nell'esecuzione della classe Action è l'esecuzione della sequenza di azioni tramite il metodo perform() dell'interfaccia Action. La sintassi è:

action.perform();

I passaggi sopra indicati devono essere eseguiti per sfruttare tutti i metodi della classe Actions ed eseguire diverse azioni dell'utente utilizzando la tastiera e il mouse.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Cosa succede dopo?

Se sei interessato a saperne di più sullo sviluppo di software full-stack, dai un'occhiata al programma Executive PG di upGrad & IIIT-B Sviluppo software full-stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Cos'è la classe d'azione in Selenium?

Una classe di azioni è una classe che descrive un'azione, o una serie di azioni, che puoi eseguire su un elemento web. Identifichiamo gli elementi su cui vogliamo eseguire azioni da parte dei localizzatori. Le classi Action sono definite dalla combinazione di due caratteri di un modificatore di livello di classe statico pubblico e un suffisso Action (ad esempio Action, KeyAction, PageAction, ecc.). Il modificatore public static ci consente di esporre la classe come una classe che può essere istanziata. Il suffisso Action indica il tipo di azione eseguita. Anche la classe del suffisso Action è parametrizzata. Il parametro è il nome dell'elemento dell'azione. Ad esempio, se vogliamo eseguire un'azione su un campo di testo, utilizzeremo il campo di testo del parametro.

Quali sono gli usi del selenio?

Selenium è uno strumento di test del software portatile molto potente (strumento di test del software del selenio), che viene utilizzato per registrare e riprodurre le azioni dell'utente su una pagina web. Viene utilizzato per testare i requisiti funzionali e non funzionali di un'applicazione Web su qualsiasi browser Web. È implementato in Java e ha un'API molto semplice. Supporta il test di applicazioni web in tutti i principali browser web come Firefox, Chrome, Internet Explorer, Safari ecc.

Come imparare il selenio in Java?

Selenium è uno strumento che consente di scrivere test automatizzati in numerosi linguaggi di programmazione. I test vengono scritti utilizzando il driver web. Puoi usarlo per testare la tua applicazione web basata sui seguenti linguaggi di programmazione: Java, C#, Python e PHP. In realtà, molti sviluppatori ritengono che non sia così necessario imparare l'API Selenium Java. Selenium WebDriver è la scelta giusta per trovare elementi nella pagina ed eseguire azioni con essi. È possibile implementare test in molti linguaggi di programmazione, ma se hai bisogno di scrivere test in Java, Selenium WebDriver è la scelta migliore. Un altro metodo per imparare il selenio in Java è usare Selenium IDE, noto anche come Selenium RC. Il supporto dei browser per questo strumento non è così buono come sappiamo, sono supportati solo Firefox e Chrome. Tuttavia, l'IDE può aiutarti a progettare ed eseguire rapidamente test case Selenium, registrare e riprodurre test case, generare automaticamente test case, ecc.