Useremo il sito web di Mercury Tours come nostra applicazione web in prova. È un sistema di prenotazione di voli online che contiene tutti gli elementi di cui abbiamo bisogno per questo tutorial. Il suo URL è http://demo.guru99.com/test/newtours/ e questo sarà il nostro URL di base.
Crea uno script registrando
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.
Passo 1
- Avvia Firefox e Selenium IDE.
- Digita il valore per il nostro URL di base: http://demo.guru99.com/test/newtours/.
- Attiva il pulsante Registra (se non è ancora attivato per impostazione predefinita).
Passo 2
In Firefox, vai a http://demo.guru99.com/test/newtours/. Firefox dovrebbe portarti a una pagina simile a quella mostrata di seguito. |
|
Passaggio 3
|
|
Passaggio 4
|
|
Passaggio 5
|
|
Passaggio 6
Disattiva il pulsante di registrazione per interrompere la registrazione. Il tuo script dovrebbe ora assomigliare a quello mostrato di seguito. |
|
Passaggio 7
Ora che abbiamo finito con il nostro script di test, lo salveremo in un test case. Nel menu File, seleziona "Salva test case". In alternativa, puoi semplicemente premere Ctrl + S. |
|
Passaggio 8
|
|
Passaggio 9.
Notare che il file è stato salvato come HTML. |
Passaggio 10.
Torna a Selenium IDE e fai clic sul pulsante Riproduzione per eseguire l'intero script. Selenium IDE dovrebbe essere in grado di replicare tutto in modo impeccabile.
Introduzione ai comandi del selenio - Selenese
- I comandi selenesi possono avere fino ad un massimo di due parametri: target e value.
- I parametri non sono sempre richiesti. Dipende da quanti saranno necessari al comando.
3 tipi di comandi
Azioni |
Questi sono comandi che interagiscono direttamente con gli elementi della pagina. Esempio: il comando "clic" è un'azione perché interagisci direttamente con l'elemento su cui stai facendo clic. Anche il comando "tipo" è un'azione perché stai inserendo valori in una casella di testo e la casella di testo te li mostra in cambio. C'è un'interazione bidirezionale tra te e la casella di testo. |
Accessors |
Sono comandi che consentono di memorizzare valori in una variabile. Esempio: il comando "storeTitle" è una funzione di accesso perché "legge" solo 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 e verificare
Comandi comuni
Comando | Numero di parametri | Descrizione |
---|---|---|
Aperto | 0-2 |
Apre una pagina utilizzando un URL. |
click / clickAndWait | 1 |
Clic su un elemento specificato. |
tipo / tipoKeys | 2 |
Digita una sequenza di caratteri. |
VerifyTitle / assertTitle | 1 |
Confronta il titolo della pagina effettivo con un valore previsto. |
verifyTextPresent | 1 |
Controlla se un determinato testo viene trovato all'interno della pagina. |
verificaElementPresent | 1 |
Verifica la presenza di un determinato elemento. |
VerificareTable | 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 manualmente uno script con Firebug
Ora, ricreamo lo stesso test case manualmente, digitando i comandi. Questa volta dovremo usare Firebug.
Passo 1
|
Passaggio 2: fare clic sulla riga vuota più in alto nell'Editor. |
Digita "apri" nella casella di testo del comando e premi Invio. |
Passaggio 3
|
Passaggio 4
|
Passaggio 5
|
Fare clic sulla casella di testo Nome utente. Nota che Firebug ti mostra automaticamente il codice HTML per quell'elemento. |
Passaggio 6
Si noti che la casella di testo Nome utente non ha un ID, ma ha un attributo NOME. Pertanto, utilizzeremo il suo NOME come localizzatore. Copia il valore NAME e incollalo nel campo Target in Selenium IDE. Sempre nella casella di testo Target, il prefisso "userName" con "name =" indica che Selenium IDE deve scegliere come target un elemento il cui attributo NAME è "userName". Digita "invalidUN" nella casella di testo Valore di Selenium IDE. Lo script di test dovrebbe ora assomigliare all'immagine qui sotto. Abbiamo finito con il terzo comando. Nota: invece di invalidUN, puoi inserire qualsiasi altra stringa di testo. Ma Selenium IDE distingue tra maiuscole e minuscole e digiti valori / attributi esattamente come nell'applicazione. |
Passaggio 7
|
Passaggio 8
|
Passaggio 9: salvare lo scenario di test nello stesso modo in cui abbiamo fatto nella sezione precedente.
Utilizzando il pulsante Trova
Il pulsante Trova in Selenium IDE viene utilizzato per verificare se ciò che abbiamo inserito nella casella di testo Target è effettivamente l'elemento dell'interfaccia utente corretto.
Usiamo il test case Invalid_login che abbiamo creato nelle sezioni precedenti. Fare clic su qualsiasi comando con una voce Target, ad esempio il terzo comando.
Fare clic sul pulsante Trova. Notare che la casella di testo Nome utente all'interno della pagina Mercury Tours viene evidenziata per un secondo.
Ciò indica che Selenium IDE è stato in grado di rilevare e accedere correttamente all'elemento atteso. Se il pulsante Trova ha evidenziato un elemento diverso o nessun elemento, allora deve esserci qualcosa di sbagliato nel tuo script.
Esegui comando
Ciò consente di eseguire qualsiasi singolo comando senza eseguire l'intero test case . Basta fare clic sulla riga che si desidera eseguire e quindi fare clic su "Azioni> Esegui questo comando" dalla barra dei menu o semplicemente premere "X" sulla tastiera.
Passaggio 1. Assicurati che il tuo browser sia sulla home page di Mercury Tours. Fare clic sul comando che si desidera eseguire. In questo esempio, fare clic sulla riga "type | userName | invalidUN".
Passaggio 2. Premere "X" sulla tastiera.
Passaggio 3. Osserva che la casella di testo del nome utente viene popolata con il testo "invalidUN"
L'esecuzione dei comandi in questo modo dipende fortemente dalla pagina che Firefox sta attualmente visualizzando . Ciò significa che se provi l'esempio sopra con la home page di Google visualizzata al posto di Mercury Tours, il tuo passaggio fallirà perché non è presente una casella di testo con un attributo "userName" nella home page di Google.
Punto di partenza
Un punto di inizio è un indicatore che dice a Selenium IDE su quali linee inizierà l'esecuzione . Il suo tasto di scelta rapida è "S".
Nell'esempio sopra, la riproduzione inizierà sulla terza riga (digita | password | invalidPW). Puoi avere un solo punto di inizio in un singolo script di test.
Il punto di inizio è simile a Esegui comando in quanto dipendono dalla pagina attualmente visualizzata. Il punto di inizio fallirà se ti trovi sulla pagina sbagliata.
Punti di interruzione
I punti di interruzione sono indicatori che indicano a Selenium IDE dove mettere automaticamente in pausa il test. Il tasto di scelta rapida è "B".
L'evidenziazione gialla indica che il passaggio corrente è in sospeso. Ciò dimostra che Selenium IDE ha sospeso l'esecuzione in quel passaggio. Puoi avere più punti di interruzione in un caso di test.
Passo
Ti consente di eseguire i comandi successivi uno alla volta dopo aver sospeso lo scenario di test. Usiamo lo scenario nella sezione precedente "Punti di interruzione".
Prima di fare clic su "Passaggio". Il test case si ferma alla riga "clickAndWait | login". |
|
Dopo aver fatto clic su "Step". La riga "clickAndWait | login" viene eseguita e si ferma al comando successivo (verifyTitle | Sign-on: Mercury Tours). 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 ispezionare il risultato dopo ogni passaggio. |
Aspetti importanti da notare quando si utilizzano altri formati nella vista sorgente
Selenium IDE funziona bene solo con HTML - altri formati sono ancora in modalità sperimentale . NON è consigliabile 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 sarà possibile eseguire la riproduzione né tornare alla visualizzazione tabella a meno che non si ripristini l'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.
- Sebbene tu possa salvare il tuo test case mentre sei in visualizzazione sorgente, Selenium IDE non sarà in grado di aprirlo.
Il modo consigliato per convertire i test selenesi è utilizzare l'opzione "Esporta test case come ..." nel menu File e non tramite la vista sorgente.
Sommario
- 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.
- Visualizza come tabella mostra uno script di test in forma tabulare mentre Visualizza come sorgente lo mostra in formato HTML.
- La modifica della visualizzazione del codice sorgente in un formato non HTML è ancora sperimentale.
- Non utilizzare la visualizzazione origine 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
- Accessors - "legge" una proprietà di un elemento e la memorizza in una variabile
- Asserzioni: confronta un valore effettivo con uno previsto
- Le asserzioni hanno tre tipi:
- Asserisci: in caso di errore, 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; altrimenti fallirà
- I comandi più comuni sono:
- Aperto
- click / clickAndWait
- tipo / tipoKeys
- VerifyTitle / assertTitle
- verifyTextPresent
- verificaElementPresent
- VerificareTable
- waitForPageToLoad
- waitForElementPresent