Trascina e lascia cadere con selenio

Trascina e lascia cadere con selenio
Selenio offre varie funzionalità agli utenti e uno di questi è trascinare. In questo articolo, cercheremo di comprendere la funzionalità di trascinamento del driver web Selenium, capiremo anche come usarlo e dove farlo. Se sei nuovo a questo concetto, questo articolo contiene tutte le informazioni che devi iniziare.

Qual è il metodo DragandRop in selenio?

Il selenio viene utilizzato per valutare le applicazioni Web su una varietà di sistemi operativi e browser. Numerosi linguaggi di codifica possono essere utilizzati per creare script di test del selenio. Questi includono Java, Python, C#e altri. Il processo di spostamento di un file da una cartella a un'altra in qualsiasi tipo di browser Web (Firefox, Google Chrome, Windows Explorer, Opera, ecc.) con l'aiuto del metodo di trascinamento viene effettuato con un mouse. Quando un utente trascina (muove) un elemento Web da un punto e successivamente lo fa cadere in un altro punto specifico, questo processo viene chiamato metodo Drag and Drop.

Alcune applicazioni Web possono automatizzare la pratica degli oggetti Web di trascinamento. Ad esempio, spostarli da un'estremità a un'altra estremità lasciandoli cadere su un punto o un elemento specifico tramite il driver web di selenio. Il driver web Selenio può essere utilizzato per controllare le operazioni di trascinamento di tali articoli.

Attraverso questa funzionalità del driver Web Selenium, gli sviluppatori Web possono facilmente trasferire dati o qualsiasi tipo di documento tramite il metodo di trascinamento. Otteneremo anche una comprensione dell'intero processo attraverso la codifica e alcune delle illustrazioni dell'immagine

Ecco un semplice diagramma per capire il metodo di trascinamento.

Metodi di trascinamento di vari elementi in selenio:

Esistono diversi metodi di trascinamento di più elementi in selenio. Qui ne discuteremo alcuni.

  • Nel primo scenario del caso, We DragandRop (fonte, Target).costruire().eseguire();
  • Nello scenario del secondo caso, agiamo a clickandhold (da). Costruire().eseguire(); atto.
  • Nel terzo scenario del caso, agiamo a DragandDropby (fonte, Xoffset, Yoffset).eseguire();

Usando alcuni di questi scenari, possiamo trascinare più elementi in selenio.

La differenza tra DragandRop () e DragandDropby ()

L'unica differenza tra DragandRop () e DragandDropby () è che nella funzione DragandDropby (), il cursore viene spostato nel WebElement di destinazione da un offset. Considerando che, nel metodo DragandDrop (), il puntatore viene spostato direttamente nel webelement.

La differenza tra la costruzione della classe di trascinamento e drop e azione

Selenio fornisce azione.Classe DrandDroprop per spostare gli elementi da un'estremità all'altra.

L'azione rende la classe, d'altra parte, utilizza le coordinate dell'elemento per spostare un elemento da un'estremità all'altra.

Qual è la sintassi per il metodo di trascinamento in selenio?

Useremo la seguente sintassi per il metodo di trascinamento:

Azioni.DragandDrop (Sourcelocator, DestinationLocator)

Quindi, qui, vedremo come passare questi due parametri attraverso il metodo di trascinamento.

  1. Sourcelocater, l'elemento è il primo parametro che trascineremo
  2. L'elemento "DestinationLocator", è il secondo parametro su cui deve essere abbandonato il primo elemento.

La sintassi che useremo è riportata di seguito:

Azioni.DragandDropby (Sourcelocator, X-Axis Pixel di DestinationLocator, pixel dell'asse Y di DestinationLocator)

Esempio 1:

Qui, ti mostreremo un sistema di ordinazione della pizza in cui parleremo della strategia di trascinamento. Puoi prima vedere la figura seguente e quindi passare al codice.

Proviamo a capire il metodo di trascinamento di Selenium dalla figura sopra.

L'elemento di fattura viene trascinato e l'elemento di fattura viene lasciato cadere sul lato specifico dal metodo di trascinamento.

Di seguito abbiamo fornito lo snippet di codice completo a cui puoi fare riferimento per una chiara comprensione.

Org di importazione.Openqa.selenio.Di;
Org di importazione.Openqa.selenio.Webdriver;
Org di importazione.Openqa.selenio.WebElement;
Org di importazione.Openqa.selenio.cromo.Cromedriver;
Org di importazione.Openqa.selenio.interazioni.Azioni;
Org di importazione.Testng.Annotazioni.Test;
Classe pubblica DragandDrop
WebDriver Driver;
@Test
public void dragndRop ()

Sistema.setProperty ("WebDriver.cromo.Driver "," e: // selenio // selenium_jars // chromedriver.exe");
dDriver = new ChromeDriver ();
ddriver.get ("http: // demo.WebBoxzone.com/test/drag_drop.html ");
WebElement da = dDriver.FindElement (di.xPath ("//*nid = lbill1/a");
WebElement to = dDriver.FindElement (di.xpath ("//*nid = 'orderl/li"));
Azioni Act1 = Nuove azioni (dDriver);
atto 1.DragandDrop (da, a).costruire().eseguire();

Nella sezione seguente, abbiamo fornito una spiegazione corretta del codice sopra in modo da poterlo capire meglio.

Abbiamo eseguito il codice sopra nel browser Chrome e quindi trascinato l'elemento di fattura. E rilascialo nell'area di posizionamento del contatore in contanti e dell'ordine attraverso il metodo di trascinamento. Facciamo capire la riga di codice per riga.

Nella prima sezione, abbiamo caricato le librerie richieste. Successivamente, viene creata una lezione di trascinamento. Quindi, abbiamo avviato il browser e abbiamo aperto la pagina web.

Vedere il seguente pezzo di codice. Qui, abbiamo iniziato catturando il primo elemento che dobbiamo trascinare nella variabile "da."Come puoi vedere, prendiamo di mira l'elemento.

WebElement
Da = ddriver.FindElement (di.XPath (“//*[@id = 'Bill']/A”);

Questa sezione del codice trascinerà la fattura ID nella sezione di pagamento.

Successivamente, prendiamo di mira il 2 ° elemento che dovrebbe far cadere il primo elemento nella variabile chiamata "TO". Il codice è riportato qui. Ciò rilascia la "fattura" dell'ID all'elemento "ordine" nella sezione di pagamento.

WebElement to = dDriver.FindElement (di.xpath (“//*[@id = 'ordine']/li”);

Il codice "Azioni Builder = New Actions (Driver);" creerà un oggetto della classe Azioni per creare azioni composite. L'ultima riga del codice di esempio eseguirà la funzione di trascinamento.

Esempio n. 2:

In questo programma di esempio, useremo il jqueryui.sito Web per spiegare il metodo di trascinamento.

Sopra è l'interfaccia che stiamo usando. Trascineremo la scatola chiamata "Drag Me on My Target" nella scatola chiamata "Drop qui."La codifica del webdriver di Selenio verrà utilizzata per farlo.

Ora, facci capire come eseguire il seguente codice:

WebDriverManager.ChromeDriver ().impostare();
ChromeDriver dDriver = new ChromedRiver ();
ddriver.get ("https: // jqueryui.com/droppable/");
ddriver.maneggio().finestra().massimizzare ();
WebElement frame1 = driver.FindElement (di.xPoth ("//*[@id = rContentr]/iFrame")); autista.passa a().frame (frame1);
WebElement drag_me = ddriver.FindElement (di.id ("draggable"));
WebElement Drop_me = dDriver.FindElement (di.id ("droppable"));
Azioni azioni1 = nuove azioni (dDriver);
Azione1.DragandDrop (drag_me, drop_me).eseguire();

Ora, in questo metodo di trascinamento, i due argomenti vengono trasmessi: uno è un trascinamento del webelement e l'altro è un dropelement drop.

La seguente riga del codice prenderà di mira l'ID elemento chiamato "Draggable" per trascinarlo da lì.

WebElement drag_me = ddriver.FindElement (di.id ("draggable"));

In questa riga di codice seguente, prendiamo di mira l'elemento ID denominato "Droppable" per eliminare il primo elemento su questo.

WebElement Drop_me = dDriver.FindElement (di.id ("droppable"));

Quando eseguiamo queste righe di codice, la prima immagine chiamata "Drag Me on My Target" si sposta nella casella "Drop qui".

Quindi, dopo aver scritto la riga di codice sopra, abbiamo questa immagine.

Conclusione

Questo articolo riguardava il metodo di trascinamento di selenio. In primo luogo, dobbiamo menzionare qual è esattamente il metodo di trascinamento. Successivamente, ti abbiamo aiutato a capire il metodo di trascinamento di due esempi appropriati. Quindi, in questi esempi (menzionati sopra), abbiamo usato i metodi di azione del driver Web e dimostriamo la capacità di trascinamento dell'applicazione Web Selenium. Per trascinare e rilasciare l'elemento, abbiamo usato la funzione di trascinamento della classe Azioni. Questi parametri sono Sourcelocator e DestinationLocator. Comprendiamo la procedura di drag-and-drop utilizzando i pixel dell'asse Sourcelocator, dell'asse X e dell'asse Y del DestinationLocator.