Sendkeys in selenio

Sendkeys in selenio
Questo articolo si concentra sul metodo SendKeys () in selenio. Viene utilizzato per inviare i dati al browser e interagire con il campo di input del sito Web per eseguire un test di automazione. In questo articolo viene implementato un esempio di modulo di accesso automatizzato che riceve i dati tramite il metodo SendKeys (). Per fare ciò, eseguiamo diversi passaggi molto importanti e necessari in Java JDK ed Eclipse utilizzando il codice Framework Selenium per l'esecuzione del programma. Prima di scrivere la sceneggiatura, tendiamo a installare Java JDK ed Eclipse, aggiungiamo le librerie dei vasi di selenio e i barattoli di prova e configuriamo le dipendenze insieme ai driver del browser.

SendKeys in Selenium Webdriver

Quando lavoriamo con il controllo del test di automazione tramite vasi di selenio, non siamo solo in grado di recuperare i dati dagli elementi Web, ma anche in grado di inviare i dati agli elementi Web. SendKeys () è il metodo in selenio per inviare i dati come int, char e simboli nel campo di input. I presenti elementi sulla pagina Web utilizzati per identificare gli elementi per ricevere i dati sono chiamati localizzatori come ID elemento, nome, nome della classe, ecc. I webdriver di selenio vengono utilizzati per interagire tra le librerie di selenio e i browser.

Ci sono due semplici passaggi nel metodo SendKeys () per inviare i dati nel browser:

  1. Il primo passo è l'uso dei localizzatori per identificare i campi di input particolari come casella di ricerca, indirizzo e -mail, nome utente, password, ecc.
  2. Il secondo passo è il metodo SendKeys ().

Come passare il metodo Sendkeys in forma

In questo tutorial, utilizziamo il modulo di accesso al sito Web "Swaglabs". Utilizzare il metodo SendKeys () per trasmettere il valore nei campi di input "Nome utente" e "password" e fare clic automaticamente nel pulsante di accesso.

Discutiamo il processo passo-passo per eseguire il codice per il modulo di accesso.

Passaggio 1: sito web da utilizzare

Considera, per illustrazione, una pagina dell'account utente di accesso situata su https: // www.saucememo.com/.

Un modulo di accesso con i campi "nome utente" e "password" è mostrato nella figura precedente.

Ora, il webdriver deve riconoscerli per completare automaticamente i dati in entrambi i campi. Come precedentemente discusso, i localizzatori possono essere utilizzati anche per questo. Una volta individuate le parti necessarie, tutto ciò che rimane da fare è utilizzare il metodo SendKeys () per fornire esplicitamente i valori necessari.

Passaggio 2: configurare WebDiverManager

WebDriverManager funziona come un'API in selenio. Ciò consente di automatizzare la gestione della compatibilità delle varie versioni di Selenium WebDrivers come Chromedriver, Getkodriver e Firefox. Risparmia il tempo non scaricando e aggiungendo le biblioteche dell'ultima versione dei webdriver.

È necessario utilizzare il seguente script per configurare WebDriverManager:

WebDriverManager.ChromeDriver ().impostare();

Passaggio 3: crea una classe di vuoto pubblico

In questo passaggio, iniziamo a scrivere il codice effettivo. Creiamo la classe vuota e passiamo il metodo SendKeys ().

Il seguente script viene utilizzato per creare il nome della classe Sendkey:

Classe pubblica SendKey

Passaggio 4: imposta il webdriver

WebDrivers consente all'interazione tra selenio e browser di eseguire il test di automazione Web aiutando a inviare e ricevere i dati.

In questo passaggio, confidiamo il driver del browser Chrome attraverso il seguente script:

WebDriverManager.ChromeDriver ().impostare();
Driver ChromeDriver = new ChromeDriver ();

Passaggio 5: usa Get () per aprire la pagina Web

In questo passaggio, utilizziamo il metodo Get () per aprire il sito URL dato nel browser Chrome.

Usa il seguente metodo di script per farlo:

autista.get ("https: // www.saucememo.com/");

Si può vedere nella seguente figura che Chrome è controllato dal software di test automatizzato.

Passaggio 6: ottenere i campi di input

Per ottenere i campi, abbiamo bisogno dei locali come nome, classe e ID. In questo esempio, viene utilizzato l'ID localizzatore, il che significa trovare il campo di input per ID.

Nella figura seguente, il campo di input del nome utente ha ID = nome utente .

Nella figura seguente, il campo di input password ha ID = password .

Il metodo FindElement e per classe vengono utilizzati per facilitare automaticamente gli ID sul sito Web.

Il seguente script viene utilizzato per ottenere i campi di input:

autista.FindElement (di.Id ("User-Name")).SendKeys ("Standard_User");
autista.FindElement (di.id ("password")).SendKeys ("Secret_Sauce");

In questo modo, è possibile specificare gli elementi per ottenere i campi di input.

Passaggio 7: ottieni il pulsante di accesso xpath

Per ottenere il campo del pulsante di accesso, abbiamo bisogno di un localizzatore XPath.

Ottieni l'XPATH del pulsante seguendo i passaggi:

> Sito> Ispezione> Fare clic con il tasto destro sul codice pulsante> Seleziona Copia> Seleziona XPath completo

In questo passaggio, il metodo FindElement e per classe vengono utilizzati per facilitare la ricerca automatica di XPath sul sito.

> FindElement (da.Xpath)
> Xpath:/html/body/div/div/div [2]/div [1]/div [1]/div/form/input

Il seguente script viene utilizzato per ottenere l'XPATH del login:

autista.FindElement (di.xpath ("/html/body/div/div/div [2]/div [1]/div [1]/div/forma/forma/input")).clic();

Passaggio 8: chiudere il browser

Nel passaggio finale, quando l'account utente viene effettuato l'accesso dal valore automatico del valore SendKeys, chiudere il browser utilizzando il .Funzione Close ().

Ecco come puoi usare il metodo Close ():

autista.vicino();

Fare riferimento al seguente codice completo e consultare l'output:

pacchetto UI;
Org di importazione.Openqa.selenio.Di;
Org di importazione.Openqa.selenio.cromo.Cromedriver;
importare io.github.bonigarcia.Wdm.WebDriverManager;
Classe pubblica SendKey
public static void main (string [] args)
WebDriverManager.ChromeDriver ().impostare();
Driver ChromeDriver = new ChromeDriver ();
autista.get ("https: // www.saucememo.com/");
autista.FindElement (di.Id ("User-Name")).SendKeys ("Standard_User");
autista.FindElement (di.id ("password")).SendKeys ("Secret_Sauce");
autista.FindElement (di.xpath ("/html/body/div/div/div [2]/div [1]/div [1]/div/forma/forma/input")).clic();
autista.vicino();

Nell'esempio del codice precedente, utilizziamo l'ID localizzatore per trovare il "nome utente" e "password" utilizzando il by.Classe di localizzazione.

Dopo aver eseguito il codice, i campi di input vengono identificati automaticamente dai localizzatori e quindi riempie automaticamente i valori in tali campi passando i valori chiave tramite SendKeys ().

Dopo aver ricevuto i valori nei campi di input, fare clic sul pulsante di accesso recuperando XPath del pulsante di accesso. Infine, accedi alla forma correttamente. Il browser viene chiuso automaticamente dopo l'accesso dell'account utente.

Ora, capisci come passare il metodo SendKeys in forma. Parliamo di una diversa illustrazione in cui dimostriamo come utilizzare il metodo SendKeys () nel webdriver Selenium per caricare un file.

Come caricare un file utilizzando il metodo SendKeys ()

La tecnica più semplice per caricare un file utilizzando il webdriver Selenium è il metodo SendKeys. Per questo sono necessari tre semplici passaggi:

Passaggio 1: selezionare un pulsante File

Nel primo passaggio, dobbiamo selezionare il pulsante "Scegli file". Questo seleziona il file che si desidera caricare. Il comando che seleziona un file è indicato nel seguente:

WebElement uploadMyFile = driver.FindElement (di.id ("ChooseMyFile"));

Qui, puoi vedere che abbiamo preso l'ID come "ChooseMyFile" e questo è per il webelement.

Passaggio 2: seleziona il tuo file

Ora, scegli il file dal tuo computer che desideri caricare. Dai la posizione del file sul nostro sistema. Il codice per scegliere il file da caricare viene fornito qui:

uploadmyelement.SendKeys ("C: \\ myfile1.TXT");

Passaggio 3: carica il tuo file

Per caricare correttamente il file, è necessario fare clic sul pulsante Carica. È necessario eseguire il codice nella riga successiva per raggiungere questo obiettivo.

mydriver.FindElement (di.id ("uploadmyfile")).clic();
Forniamo il seguente codice completo per il tuo riferimento:
PACCHE PACCHETSCASE;
Importa Java.io.Ioexception;
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.Testng.Annotazioni.Test;
Classe pubblica uploadMyFile
@Test
public void myFileUploadTest () lancia ioException
Sistema.setProperty ("WebDriver.cromo.driver "," c: \\ work \\ driver.exe");
WebDriver myDriver = new ChromeDriver ();
mydriver.get ("https: // mysite.com ");
WebElement uploadMyFile = driver.FindElement (di.id ("ChooseMyFile"));
uploadmyfile.SendKeys ("C: \\ myfile1.TXT");
mydriver.FindElement (di.id ("uploadmyfile")).clic();

Nel codice precedente, puoi vedere che i moduli richiesti vengono carichi per primi. Quindi, abbiamo creato una classe in cui abbiamo avviato l'oggetto driver. Questo lancia il browser. Successivamente, selezioniamo il pulsante "Scegli file" e specifichiamo il percorso del file che vogliamo caricare. Infine, il file viene caricato correttamente quando facciamo clic sul pulsante.

Conclusione

Questa guida agli articoli illustra l'uso del metodo SendKeys () utilizzando il framework Selenium per passare un nome utente e una password al modulo di accesso tramite uno strumento di controllo automatico. Usando la lingua Java, scriviamo il codice per impostare il driver del browser, avviare il driver del browser e passare le chiavi attraverso il localizzatore come ID, XPath e accedere all'account. Alla fine, abbiamo dimostrato i risultati sul browser che mostrano che SendKeys () passano i valori del campo di input tramite ID. Fai clic su automaticamente il pulsante di accesso. Infine, chiudi il browser. Abbiamo anche spiegato come è possibile caricare un file specifico utilizzando il metodo SendKeys (). Questo articolo contiene tutte le informazioni richieste per aiutarti a iniziare.