Un'introduzione approfondita al tool Selenium IDE. Cos'è, come funziona e come creare un primo Test Case. Esempi di come migliorare il codice del test case e come creare delle suite.
2. Automatizzare i test con Selenium IDE
Cosa è Selenium IDE
2
By Stefano Trojani – All rights reserved
3. Automatizzare i test con Selenium IDE
Cos’è Selenium IDE
Selenium è software di automazione dei test Web Based Open Source
Selenium è un tool che supporta il rapido sviluppo di test automatici web-based
Selenium funziona ovunque sia supportato il javascritp (quindi es: non dentro il flash)
Selenium può essere agganciato a altri linguaggio come: java, php, ruby, python…
Selenium scrive Test Cases usando differenti linguaggi tra cui l’HTML
3
By Stefano Trojani – All rights reserved
4. Automatizzare i test con Selenium IDE
I vantaggi nell’uso di Selenium IDE
Selenium IDE è gratis
Selenium IDE è facile da installare come plugin di Mozilla Firefox
Selenium IDE può creare Test Case in modo molto facile (semplicemente
«registrando» la navigazione nel browser)
Selenium IDE può essere usato in modo più «puntuale» investigando il codice (es: con
firebug) per identificare dei blocci di codice univoci da richiamare
4
By Stefano Trojani – All rights reserved
5. Automatizzare i test con Selenium IDE
Installare Selenium IDE
1) Selenium può essere installato semplicemente usando il Browser Firefox e
scaricando IDE dalla pagina del sito SeleniumHQ
http://www.seleniumhq.org/download/
2) Selezionare “Install Now”
3) Una volta installato sarà necessario
riavviare il Browser
5
By Stefano Trojani – All rights reserved
6. Automatizzare i test con Selenium IDE
Avviare Selenium IDE
Per avviare Selenium IDE basterà
cliccare “opzioni” di Firefox e
successivamente cliccare sull’icona
corrispondente.
Scorciatoia (Ctrl+Alt+S)
6
By Stefano Trojani – All rights reserved
7. L’interfaccia di Selenim IDE
Comandi di esecuzione
Tasto “registra”
Spazio dedicato ai comandi
Interfaccia di inserimento comandi
Finestra di Log, Reference, etc…
7
By Stefano Trojani – All rights reserved
8. Automatizzare i test con Selenium IDE
I comandi più usati (e semplici)
AZIONE
COMANDO
Aprire una pagina
open
Cliccare un ogetto nella pagina
click o clickAndWait
Inserire dei valori nelle textarea (es: uno username)
type
Selezionare un valore da una dropdown
select
Salvare un variable
store
Verificare un contenuto della pagina
verifyTextPresent
8
By Stefano Trojani – All rights reserved
9. Automatizzare i test con Selenium IDE
Rimbocchiamoci le maniche:
Creiamo un Test Case di prova
9
By Stefano Trojani – All rights reserved
10. Automatizzare i test con Selenium IDE
Creazione di un Test Case di prova
Proviamo adesso a creare un
Test Case usando Selenium IDE
sempicemente “registando” le azioni.
Testeremo la Login ad una webmail su
un importante sito web.
La login su cui vogliamo fare il TC
10
By Stefano Trojani – All rights reserved
11. Automatizzare i test con Selenium IDE
«Registrazione» di un Test Case
1) Avviamo la “registazione”
2) Facciamo le operazioni sul sito
web (loggiamoci)
3) Stoppiamo la registrazione
La login su cui vogliamo fare il TC
By Stefano Trojani – All rights reserved
11
12. Automatizzare i test con Selenium IDE
Esecuzione del Test Case
Basterà pigiare l’icona
per far rieseguire le stesse operazioni a Selenium IDE
Nota: A video il browser inizierà a muoversi facendo le stesse operazioni che
abbiamo registrato.
12
By Stefano Trojani – All rights reserved
13. Automatizzare i test con Selenium IDE
Analizziamo un po’ il codice generato….
Test Case scritto “registrando”
open - http://www.webamil.sito.com
selectWindow - null
type - div[3]/div/div[1]/div[2]/div[2]/form/fieldset/input[1] - USERNAME
Type - div[3]/div/div[1]/div[2]/div[2]/form/fieldset/input[2] - PASSWORD
Select div[3]/div/div[1]/div[2]/div[2]/form/fieldset/div[2]/input - label=Open-Xchange
clickAndWait - name=login
Pause - 1000
Codice “sporco” es: xpath
13
By Stefano Trojani – All rights reserved
14. Automatizzare i test con Selenium IDE
Tre tipi di “pulizia” nel codice
xpath
type - div[3]/div/div[1]/div[2]/div[2]/form/fieldset/input[1] – USERNAME
Facile da usare (ci sono anche plugin)
Pericoloso da manutenere (basta cambiare un tag nell’intera pagina ed il test smette di funzionare)
css
type - //input[@class=‘subject’] – USERNAME
abbastanza sicuro e stabile
Laborioso a identificare (meglio usare Firebug)
id
type – id=writer_field_to- USERNAME
Sicuro, univoco, pulito
Raramente il codice delle pagine è così pulito da avere un ID per ogni oggetto
By Stefano Trojani – All rights reserved
14
15. Automatizzare i test con Selenium IDE
Ispezioniamo il codice per migliorarlo
Analizziamo un po’ il
codice della pagina con
Firebug
https://addons.mozilla.org/enUS/firefox/addon/firebug/
E cerchiamo di
identificare gli
elementi nel codice per
renderlo più “pulito”…
15
By Stefano Trojani – All rights reserved
16. Automatizzare i test con Selenium IDE
Guardiamo i “miglioramenti” del test case
Test Case corretto manualmente (utilizzando firebug)
open - http://www.webamil.sito.com
selectWindow - null
type - name=user_name - USERNAME
Type - name=user_pass - PASSWORD
Select - name=webmail - label=Open-Xchange
clickAndWait - name=login
Pause - 1000
Codice “pulito” ed univoco
16
By Stefano Trojani – All rights reserved
17. Automatizzare i test con Selenium IDE
Creazione di Suite
E’ possibile inoltre creare delle
Suite:
un insieme di test case di Selenium
che possono essere eseguiti tutti
insieme
(a cascata) semplicemente
pigiando il bottone
su Selenim
IDE
Una suite di test formata da tanti test case
By Stefano Trojani – All rights reserved
17
18. Automatizzare i test con Selenium IDE
Allora… ho trovato il paradiso!
No, ci dei limiti…
18
By Stefano Trojani – All rights reserved
19. Automatizzare i test con Selenium IDE
I limiti di Selenium IDE
Selenium IDE funziona solo come plugin sul Browser Firefox (non è quindi possibile
trstare altri browser)
Selenium IDE supporta solo script scritti nel suo linguaggio proprietario (Selense)
Selenium IDE incontra forti problemi nella gestione di contenuti complessi o dinamici
(es: iframes, istanze javascript, ajax, codice html «sporco»…)
19
By Stefano Trojani – All rights reserved
20. Automatizzare i test con Selenium IDE
Rassumendo
Pregi
Selenium IDE permette di testare in modo semplice (con differenti livelli di
complessità che dipendono dalla conoscenza del prodotto) interfacce HTML.
Possono essere gestiti molti test case raccolti in Suite ed eseguiti tutti insieme.
Svantaggi
Selenium IDE funziona solo come plugin sul Browser Firefox (non è quindi possibile
trstare altri browser) ed incontra forti problemi nella gestione di contenuti complessi
o dinamici
20
By Stefano Trojani – All rights reserved
21. Automatizzare i test con Selenium…
It’s UP to YOU!
By Stefano Trojani – All rights reserved
21
22. Automatizzare i test con
Selenium IDE
Grazie!
22
By Stefano Trojani – All rights reserved