Come si usa Selenium IDE con script e comandi (Afferma, Verifica)

Useremo il Mercury Il sito Web di Tours è la nostra applicazione Web in fase di test. È un sistema di prenotazione di voli online che contiene tutti gli elementi di cui abbiamo bisogno per questo tutorial. Il suo URL è https://demo.guru99.com/test/newtours/e questo sarà il nostro URL di base.

Creiamo ora il nostro primo script di test in Selenium IDE utilizzando il metodo più comune: registrando. Successivamente, eseguiremo il nostro script utilizzando la funzione di riproduzione.

Crea uno script registrando

Fase 1

  • Lancio Firefox e Selenium SDI.
  • Digita il valore per il nostro URL di base: https://demo.guru99.com/test/newtours/.
  • Toggle attiva il pulsante Registra (se non è ancora attivato per impostazione predefinita).

Crea uno script registrando

Fase 2

In Firefox, navigare verso https://demo.guru99.com/test/newtours/. Firefox dovrebbe portarti a una pagina simile a quella mostrata di seguito.

Crea uno script registrando

Fase 3

  • Fai clic con il pulsante destro del mouse su qualsiasi spazio vuoto all'interno della pagina, come nel file Mercury Logo del tour nell'angolo in alto a sinistra. Questo farà apparire il file Selenium Menu contestuale dell'IDE. Nota: non fare clic su oggetti o immagini con collegamenti ipertestuali
  • Seleziona l'opzione "Mostra comandi disponibili".
  • Quindi, seleziona "assertTitle esatto: Benvenuto: Mercury Tour." Questo è un comando che assicura che il titolo della pagina sia corretto.

Crea uno script registrando

Crea uno script registrando

Fase 4

  • Nella casella di testo “Nome utente” di Mercury Tours, digita un nome utente non valido, "invalidUNN".
  • Nella casella di testo "Password", digita una password non valida, "invalidPWD".

Crea uno script registrando

Crea uno script registrando
Fase 5

  • Fare clic sul pulsante "Accedi". Firefox dovrebbe portarti a questa pagina.

Crea uno script registrando

Fase 6

TogglSpegnere il pulsante di registrazione per interrompere la registrazione. Il tuo script ora dovrebbe assomigliare a quello mostrato di seguito.

Crea uno script registrando

Fase 7

Ora che abbiamo finito con il nostro script di test, lo salveremo in un caso di test. Nel menu File, seleziona “Salva caso di test”. In alternativa, puoi semplicemente premere Ctrl+S.

Crea uno script registrando

Fase 8

  • Scegli la posizione desiderata, quindi dai un nome al Test Case come "Accesso_non valido".
  • Fare clic sul pulsante "Salva".

Crea uno script registrando

Fase 9

Si noti che il file è stato salvato come HTML.

Crea uno script registrando

Passo 10) Torna alla Selenium IDE e fare clic sul pulsante Riproduzione per eseguire l'intero script. Selenium L'IDE dovrebbe essere in grado di replicare tutto in modo impeccabile.

Crea uno script registrando

Introduzione alla Selenium Comandi – Selenese

  • I comandi selenesi possono avere fino ad un massimo di due parametri: target e valore.
  • I parametri non sono sempre richiesti. Dipende da quanti ne avrà bisogno il comando.

Tipi di comandi

Azione Si tratta di comandi che interagiscono direttamente con gli elementi della pagina.

Esempio: il comando “click” è un'azione perché interagisci direttamente con l'elemento su cui stai cliccando.

Il comando "type" è anche un'azione perché stai inserendo valori in una casella di testo e la casella di testo te li mostra a sua volta. C'è un'interazione bidirezionale tra te e la casella di testo.

Accessori Sono comandi che consentono di memorizzare valori in una variabile.

Esempio: il comando “storeTitle” è una funzione di accesso perché si limita a “leggere” il titolo della pagina e lo salva in una variabile. Non interagisce con nessun elemento della pagina.

Asserzioni Sono comandi che verificano se una determinata condizione è soddisfatta.

3 tipi di asserzioni

  • Affermare. Quando un comando "assert" fallisce, il test viene interrotto immediatamente.
  • Verifica. Quando un comando di "verifica" fallisce, Selenium L'IDE registra questo errore e continua con l'esecuzione del test.
  • Aspettare. Prima di procedere al comando successivo, i comandi “waitFor” attenderanno che una determinata condizione diventi vera.
    • Se la condizione diventa vera entro il periodo di attesa, il passaggio viene superato.
    • Se la condizione non diventa vera, il passaggio fallisce. L'errore viene registrato e l'esecuzione del test procede al comando successivo.
    • Per impostazione predefinita, il valore di timeout è impostato su 30 secondi. Puoi modificarlo nel file Selenium Finestra di dialogo Opzioni IDE nella scheda Generale.

Asserzione e verifica in Selenium

Asserzione e verifica in Selenium

Asserzione e verifica in Selenium

Comandi comuni

Comando Numero di parametri Descrizione
aprire 0 - 2 Apre una pagina utilizzando un URL.
fare clic/fare clic su e attendere 1 Fa clic su un elemento specificato.
tipo/tipoChiavi 2 Digita una sequenza di caratteri.
verificaTitolo/asserisciTitolo 1 Confronta il titolo effettivo della pagina con un valore previsto.
verificareTextPresent 1 Controlla se un determinato testo si trova all'interno della pagina.
verificareElementPresent 1 Verifica la presenza di un determinato elemento.
verificaTable 2 Confronta il contenuto di una tabella con i valori previsti.
waitForPageToLoad 1 Sospende l'esecuzione finché la pagina non viene caricata completamente.
waitForElementPresent 1 Sospende l'esecuzione finché l'elemento specificato non diventa presente.

Crea uno script manualmente con Firebug

Ora ricreeremo manualmente lo stesso caso di test, digitando i comandi. Questa volta dovremo usare Firebug.

Fase 1

Crea uno script manualmente con Firebug

Passo 2: Fare clic sulla riga vuota più in alto nell'editor.

Crea uno script manualmente con Firebug

Digitare "apri" nella casella di testo Comando e premere Invio.

Crea uno script manualmente con Firebug

Fase 3

  • Navigare Firefox al nostro URL di base e attiva Firebug
  • Nel Selenium Nel riquadro Editor IDE, selezionare la seconda riga (la riga sotto il comando "apri") e creare il secondo comando digitando "assertTitle" nella casella Comando.
  • Sentiti libero di utilizzare la funzione di completamento automatico.

Crea uno script manualmente con Firebug

Fase 4

  • In Firebug, espandi il file tag per visualizzare il file etichetta.
  • Fare clic sul valore di tag (che è "Benvenuto: Mercury Tours") e incollarlo sul file Target campo nell'editor.

Crea uno script manualmente con Firebug

Fase 5

  • Per creare il terzo comando, fare clic sulla terza riga vuota nell'Editor e digitare "digita" nella casella di testo Comando.
  • In Firebug, fai clic sul pulsante "Ispeziona".

Crea uno script manualmente con Firebug

Fai clic sulla casella di testo Nome utente. Nota che Firebug ti mostra automaticamente il codice HTML per quell'elemento.

Crea uno script manualmente con Firebug

Fase 6 Si noti che la casella di testo Nome utente non ha un ID, ma ha un attributo NAME. Pertanto, utilizzeremo il suo NAME come localizzatore. Copia il valore NAME e incollalo su Target campo in Selenium SDI.

Crea uno script manualmente con Firebug

Ancora nella Target casella di testo, anteporre “userName” con “name=”, indicando che Selenium L'IDE dovrebbe avere come target un elemento il cui attributo NAME è "userName".

Crea uno script manualmente con Firebug

Digitare “invalidUN” nella casella di testo Valore di Selenium IDE. Lo script di test ora dovrebbe assomigliare all'immagine seguente. Abbiamo finito con il terzo comando. Nota: invece di invalidUN è possibile inserire qualsiasi altra stringa di testo. Ma Selenium L'IDE distingue tra maiuscole e minuscole e digiti valori/attributi esattamente come nell'applicazione.

Crea uno script manualmente con Firebug

Fase 7

  • Per creare il quarto comando, digitare "tipo" nella casella di testo Comando.
  • Di nuovo, usa il pulsante "Ispeziona" di Firebug per localizzare la casella di testo "Password".

Crea uno script manualmente con Firebug

  • Incolla l'attributo NAME ("password") nel file Target campo e prefisso con "nome="
  • Digitare "invalidPW" nel campo Valore in Selenium IDE. Lo script di test ora dovrebbe assomigliare all'immagine seguente.

Crea uno script manualmente con Firebug

Fase 8

  • Per il quinto comando, digita "clickAndWait" nella casella di testo Comando in Selenium SDI.
  • Utilizzare il pulsante "Ispeziona" di Firebug per ottenere il localizzatore del pulsante "Accedi".

Crea uno script manualmente con Firebug

  • Incolla il valore dell'attributo NAME (“login”) nel file Target casella di testo e aggiungi il prefisso "name=".
  • Lo script di test ora dovrebbe assomigliare all'immagine seguente.

Crea uno script manualmente con Firebug

Passo 9: Salvare il caso di test nello stesso modo in cui abbiamo fatto nella sezione precedente.

Utilizzando il pulsante Trova

Il pulsante Trova in Selenium L'IDE serve per verificare se quello che avevamo messo nel file Target la casella di testo è effettivamente l'elemento dell'interfaccia utente corretto.

Usiamo il caso di test Invalid_login che abbiamo creato nelle sezioni precedenti. Fare clic su qualsiasi comando con a Target voce, ad esempio, il terzo comando.

Utilizzando il pulsante Trova

Fare clic sul pulsante Trova. Notare che la casella di testo Nome utente all'interno del Mercury La pagina dei tour viene evidenziata per un secondo.

Utilizzando il pulsante Trova

Questo indica che Selenium L'IDE è stato in grado di rilevare e accedere correttamente all'elemento previsto. Se il pulsante Trova evidenzia un elemento diverso o nessun elemento, allora deve esserci qualcosa di sbagliato nello script.

Esegui comando

Ciò consente di eseguire qualsiasi singolo comando senza eseguire l'intero test case. Basta fare clic sulla riga che desideri eseguire e quindi fare clic su "Azioni > Esegui questo comando" dalla barra dei menu o semplicemente premere "X" sulla tastiera.

Passo 1) Assicurati che il tuo browser sia attivo Mercury Home page dei tour. Fare clic sul comando che si desidera eseguire. In questo esempio, fare clic su “tipo | nomeutente | riga UN non valida".

Esegui comando

Passo 2) Premi "X" sulla tastiera.

Passo 3) Si noti che la casella di testo per il nome utente viene popolata con il testo "invalidUN"

Esegui comando

L'esecuzione dei comandi in questo modo dipende fortemente dalla pagina che Firefox è attualmente visualizzatoCiò significa che se provi l'esempio sopra con la home page di Google visualizzata invece di Mercury Tours, il passaggio non andrà a buon fine perché nella home page di Google non è presente alcuna casella di testo con l'attributo "userName".

Punto di partenza

Un punto di partenza è un indicatore che dice Selenium IDE da cui inizierà l'esecuzione. Il suo tasto di scelta rapida è "S".

Punto di partenza

Nell'esempio sopra, la riproduzione inizierà dalla terza riga (digitare | password | invalidPW). È possibile avere un solo punto iniziale in un singolo script di test.

Il punto iniziale è simile a Esegui comando in quanto dipende dalla pagina attualmente visualizzata. Il punto di partenza fallirà se ti trovi nella pagina sbagliata.

I punti di interruzione

I punti di interruzione sono indicatori che raccontano Selenium IDE dove mettere automaticamente in pausa il test. Il tasto di scelta rapida è "B".

I punti di interruzione

L'evidenziazione gialla significa che il passaggio corrente è in sospeso. Questo lo dimostra Selenium L'IDE ha sospeso l'esecuzione di quel passaggio. È possibile avere più punti di interruzione in un caso di test.

step

Ti consente di eseguire i comandi successivi uno alla volta dopo aver messo in pausa il test case. Usiamo lo scenario nella sezione precedente "Punti di interruzione".

step

Prima di fare clic su "Passaggio".

Il test case si ferma alla riga “clickAndWait | login".

step Dopo aver fatto clic su "Passaggio".

Il file “clickAndWait | login" viene eseguita e si ferma al comando successivo (verifyTitle | Sign-on: Mercury Tour).

Si noti che la riga successiva viene messa in pausa anche se non è presente alcun punto di interruzione. Questo è lo scopo principale della funzione Step: esegue i comandi successivi uno alla volta per darti più tempo per verificare il risultato dopo ogni passaggio.

Cose importanti da notare quando si utilizzano altri formati nella visualizzazione sorgente

Cose importanti da notare quando si utilizzano altri formati nella visualizzazione sorgente

Selenium L'IDE funziona bene solo con HTML: gli altri formati sono ancora in modalità sperimentale. È NON consigliabile per creare o modificare test utilizzando altri formati in Source View perché c'è ancora molto lavoro necessario per renderlo stabile. Di seguito sono riportati i bug noti a partire dalla versione 1.9.1.

  • Non potrai eseguire la riproduzione né tornare alla Visualizzazione tabella a meno che non ritorni all'HTML.
  • L'unico modo per aggiungere comandi in modo sicuro al codice sorgente è registrarli.
  • Quando modifichi manualmente il codice sorgente, tutto andrà perso quando passi a un altro formato.
  • Anche se puoi salvare il test case nella Visualizzazione sorgente, Selenium L'IDE non sarà in grado di aprirlo.

Il modo consigliato per convertire i test Selenese è utilizzare l'opzione "Esporta test case come..." nel menu File e non tramite la Visualizzazione sorgente.

Sintesi

  • Gli script di test possono essere creati registrando o digitando manualmente i comandi e i parametri.
  • Quando si creano script manualmente, Firebug viene utilizzato per ottenere il localizzatore.
  • Il pulsante Trova viene utilizzato per verificare che il comando sia in grado di accedere all'elemento corretto.
  • La Visualizzazione tabella visualizza uno script di test in formato tabellare mentre la Visualizzazione origine lo visualizza in formato HTML.
  • La modifica della visualizzazione sorgente in un formato non HTML è ancora sperimentale.
  • Non utilizzare la visualizzazione sorgente per creare test in altri formati. Utilizza invece le funzionalità di esportazione.
  • I parametri non sono sempre richiesti. Dipende dal comando.
  • Esistono tre tipi di comandi:
    • Azioni: interagisce direttamente con gli elementi della pagina
    • Accessori: "legge" la proprietà di un elemento e la memorizza in una variabile
    • Asserzioni: confronta un valore effettivo con uno previsto
  • Le asserzioni sono di tre tipi:
    • Asserzione: in caso di fallimento, i passaggi successivi non vengono più eseguiti
    • Verifica: in caso di errore, i passaggi successivi vengono comunque eseguiti.
    • WaitFor – passa se la condizione specificata diventa vera entro il periodo di timeout; in caso contrario, fallirà
  • I comandi più comuni sono:
    • aprire
    • fare clic/fare clic su e attendere
    • tipo/tipoChiavi
    • verificaTitolo/asserisciTitolo
    • verificareTextPresent
    • verificareElementPresent
    • verificaTable
    • waitForPageToLoad
    • waitForElementPresent

Riassumi questo post con: