formation selenium
DESCRIPTION
Formation SeleniumTRANSCRIPT
PowerPoint Presentation
Formation
www.objis.com - Formation SELENIUMSELENIUM
SommaireIntroduction SELENIUM 3
Fondamentaux Selenium IDE 4
Fondamentaux Selenium RC 33
Fondamentaux Selenium GRID 43
Liens utiles & Annexe49
www.objis.com - Formation SELENIUM
Introduction SeleniumTest crans web : besoin de gagner du temps
!
Comment automatiser ?
Tests fonctionnels + non rgression
Test multi-navigateurs ! interroprabilit
Enregistrer + Rejouer + Maj scripts + suite de test
Chane IC : Svn + Maven/Ant + Archiva + Hudson
Outils : IDE + Serveur + Grid
www.objis.com - Formation SELENIUM
Fondamentaux Selenium IDE1) Installation & lancement Selenium IDE 5
2) Enregistrer un scnario 7
3) Rejouer un scnario 10
4) Vrifier prsence d'un lment 12
5) Ajouter un commentaire 15
6) Travailler avec plusieurs fentres 16
7) Travailler avec Ajax 17
8) Stocker une information dans variable 18
9) Debuguer un scnario 19
10) Sauvegarder une suite de test 20
11) Localiser un lment (id, name, xpath...) 22
12) Patterns d'lement avec 'glob' 29
13) Travailler avec Javascript 30
14) crer une extension 31
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N1 :Installation &
lancementSelenium IDE = plugin firefox = fichier .xpi
Tlchargement (ex : version
1.0.10)http://seleniumhq.org/download/
A partir de firefox :fichier/ouvrir/--> selenium-ide-1.0.10.xpi
Redmarrer Firefox
Menu Firefox outils / Selenium IDE
www.objis.com - Formation SELENIUM
Savoir-faire Selenium N1 :Installation & lancement Selenium IDE
www.objis.com - Formation SELENIUM
1438592
6710
Savoir-faire Selenium IDE N2 :enregistrer une squencePrciser le point de dpart 'Base URL'
Commande selenium 'open'
Commandes suivantes en relatif de Base URL
Appuyer bouton rouge pour lancer enregistrementINFO bouton appuy
par dfaut au lancement
Appuyer nouveau lorsque scnario termin
Recommandations:Toujours dfinir point de dpart
Tester 'une chose la fois'
Ne pas rendre les tests inter dpendants
www.objis.com - Formation SELENIUM25
Savoir-faire Selenium IDE N2 :enregistrer une squence
www.objis.com - Formation SELENIUM
Le test peut commencer :
__1) Cliquez sur le bouton radio
__2) Slectionnez une option avec combo box
__3) Cliquez sur le lien Accueil
Savoir-faire Selenium IDE N2 :enregistrer une squence
www.objis.com - Formation SELENIUM
L'enregistrement du test est termin
Savoir-faire Selenium IDE N3 :rejouer un test Rejouer un test
www.objis.com - Formation SELENIUM
Rejouer une suite de test
pause
Commande
suivante
Vitesse
Savoir-faire Selenium IDE N3 :rejouer un test selenium
www.objis.com - Formation SELENIUM
Le test s'est bien pass : les fonctionalits attendus sont valides
clicker sur bouton radio
slection dans une liste combo
Appui sur lien menant page d'accueil
Savoir-faire Selenium IDE N4 :Vrifier prsence lmentCliquer droit
sur l'lment (texte, Bouton,...)
Choisir 'AssertXXX' ou 'VerifyXXXX'Assert : si ment manquant, le test s'arrte !
Verify : si lment manquant , le test continue
www.objis.com - Formation SELENIUM
menu contextuel
ajout Firefox
par Selenium
Savoir-faire Selenium IDE N4 :Vrifier prsence lment
www.objis.com - Formation SELENIUM
Validation titre
de la page
Savoir-faire Selenium IDE N4 :Vrifier prsence lment(voir commandes disponible)
www.objis.com - Formation SELENIUM
1432Menu assertXXX
Menu storeXXX
Menu waitForXXX
Menu veriFyXXX
Savoir-faire Selenium IDE N5 :Ajouter un commentaire
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N6 :Travailler avec plusieurs fentres
1254
3
1) waitPopUp : commande gnre par Selenium lors de l'ouverture d'une popup (window.open)
2) selectWindow: commande gnre par Selenium lorsque l'utilisateur a
mis focus sur popup
3) nom logique de la fentre cre partir de la fentre principale
4) Timeout par dfaut. Possibilit de modifier en ajoutant
manuellement commande SetTimeOut en dbut de script
5) selectWindow null : technique pour redonner focus fentre
principale (aprs window.close ('popupwindow'))
Savoir-faire Selenium IDE N7 :Travailler avec AjaxSelenium n'attend pas le retour des donnes !Un test peu sortir russi alors donnes pas arrives !
Il faut lui dire d'attendre explicitement retour donnesCommande 'waitForTextPresent'
Commande 'waitForElementPresent'
Timeout par dfaut : 30s (30.000 ms)
www.objis.com - Formation SELENIUM
12
Savoir-faire Selenium IDE N8 :Stocker une info. dans variableMenu contextuel : storeTextPresent 'monInfo'
javascript{storedVars['maVariable'];}
www.objis.com - Formation SELENIUM
Avant
Aprs
Commande
ajoute
manuellement
Savoir-faire Selenium IDE N9 :DbugguerPiste 1 :
Piste 2 : Slectionner une commande
Appuyer sur X pour excution immdiate
Piste 3 :Commande 'echo' selenium
quivalent javascript 'Console.log'
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N10 :Suite de testsOuvrir plusieurs
tests (anciens ou nouveaux)
Jouer l'ensemble des tests ouverts
Faire enregistrer sous (masuite.html)
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N11 :Localiser les lmentsBonne
pratique HTML : 'id' et 'name'
Cependant, suivre cette bonne pratique est dur :Ex : HTML gnr
dynamiquement
Elment de solution : LocalisateursLocaliser par id
Localiser par name
Localiser par lien
Localiser par xpath
Localiser par css
www.objis.com - Formation SELENIUM
Bonne pratique :Localiser lment avec FirebugPour dcouvrir id, name, css de l'lment Cliquer sur icone firebug
Mettre curseur souris sur l'lment
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N11 :Localiser lments avec id , nameLocaliser lment dans selenium avec son 'id' Entrer l'ID dans 'Cible'
Appuyer bouton 'Rechercher'
Selenium entoure l'lment bordure verte
Localiser lment dans selenium avec son 'name'Name=verifybutton dans Cible + 'rechercher'
Possibilit de filtre avec value
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N11 :Localiser lments avec link, DOMLocaliser lment dans selenium avec son 'id' link=ContenuDuLien dans 'Cible'
Appuyer bouton 'Rechercher'
Selenium entoure l'lment bordure verte
Localiser lment dans selenium avec DOMdom=document.getElementById('but1')
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N11 :Localiser lments avec XPathXpath
permet de faire des requtes DOM comme si le DOM tait un document
XML
xpath=//input premier bouton rencontr
xpath=//input[2] 2me bouton rencontr
xpath=/html/body/div [2] /div [3] /input
www.objis.com - Formation SELENIUM
12
Savoir-faire Selenium IDE N11 :Localiser lments avec
XPathxpath=//input (Relatif car //)
xpath=//input[2]
xpath=/html/body/div [2] /div [3] /input (absolu : /)
xpath=//div[@class='mainbody']
xpath=//div[starts-with(@id,'time_')]
xpath=//div[contains(@id,'time_')]
xpath=//div[contains(text(),'cet element change')]
//input[@value='Button with ID']/following-sibling::input[value='Sibblin Button']
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N11 :Localiser lments avec Slecteurs CSSXpath flexible...mais pas simple
Selenium compatible avec CSS 1.0, 2.0 et 3.0
css=votreSelecteur
www.objis.com - Formation SELENIUM
12
Savoir-faire Selenium IDE N11 :Localiser lments avec Slecteurs
CSSRcup classe + naviguer dessus ou dessous
css=div.centerdiv ( class='centerdiv')
css=input#but1 + br + input
css=input[value='chocolate'] ( attribut )
css=div#divinthecenter ( id='divinthecenter')
Patterns matching ^= quivalent xpath starts-with
$= quivalent xpath ends-with
*= quivalent xpath contains
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N12 :Patterns de
caractresexact:'salut'
glob:*out*
glob:?ut
glob:[abcdo]ut
regexp:\\w{3} \\d{2} \\w{3} \\d{4}Ex : vrif si il y a une date sur page et qu'elle est conforme pattern
www.objis.com - Formation SELENIUM
123
Savoir-faire Selenium IDE N13 :Utiliser javascript
javascript{Date()}
javascript{d = new Date() ; d.getHours() }
Stocker rsultat javascript dans variable
Manipuler le navigateur :this.browserbot.getUserWindow().concatStrings("Selenium "," Objis")
this.browserbot.getUserWindow().getElementById(selecttype).options.lengthWaitForCondition, verifyEval...
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N13 :Crer une extension
Crer extension = crer fonction avec pattern
:Selenium.prototype.doNomFonction = function() {.....
}
Enregistrer fonction dans fichier user-extension.js
Informer Firefox de la prsence de ce fichier
Redmarrer Firefox
www.objis.com - Formation SELENIUM
Savoir-faire Selenium IDE N13 :Crer une extension
www.objis.com - Formation SELENIUM
Fondamentaux Selenium Remote Control1) Comprendre Selenium
Remote Control
2) Installation & lancement Selenium RC
3) Lancer test Selenium IDE avec Selenium RC
www.objis.com - Formation SELENIUM
Limites Selenium IDE1) Ne fonctionne qu'avec Firefox !Comment tester avec d'autres navigateurs ?
Internet Explorer, Chrome , Opera, Safari ?
Rponse : Selenium Remote Control Vous crivez scripts dans langage de votre choix
Selenium RC gnre scripts IE, FF, Chrome...
Crer un proxy entre l'application tester et scriptsPermet l'utilisation de plusieurs langages
C#, Java, Python, Ruby...
Rend le script de test plus robuste
Avantage : SetUp / teardown
www.objis.com - Formation SELENIUM
Patrick LightBody
Comprendre Selenium RC
www.objis.com - Formation SELENIUM
Savoir-faire Selenium RC N1 :Installation &
lancementSelenium RC = composant Java = fichier .jar
Tlchargement (ex : version
1.0.10)http://seleniumhq.org/download/
java -jar selenium-server-standalone-2.0b3.jar Ecoute par dfaut sur port 4444
www.objis.com - Formation SELENIUM
Savoir-faire Selenium RC N1 :gnrer rsultat tests firefoxjava -jar selenium-server-standalone-2.0b3.jar -htmlsuite *firefox http://localhost/objis/selenium/TP2/ C:\chemin\vers\masuitedetest.html C:\chemin\vers\masuitedetest-resultat-ff.html
www.objis.com - Formation SELENIUM1432
Fichier gnr
par Selenium RC
Savoir-faire Selenium RC N1 :gnrer rsultat tests firefox
www.objis.com - Formation SELENIUM
Savoir-faire Selenium RC N1 :gnrer rsultat tests
firefox-htmlsuite *iexplorer
Autre navigateurs
*iexplore*iexploreproxy*firefox*firefox2*firefox3*firefoxproxy*chrome*googlechrome*konqueror*safari*opera*custom
Exporter test Selenium :Java, c#, ...
Exporter test Selenium en Java
Lancer test Selenium en Java
Lib : selenium client driver
Fondamentaux Selenium Grid1) Comprendre Selenium Grid
2) Crer un Hub Selenium Grid
3) Mettre en oeuvre Selenium Grid RC
www.objis.com - Formation SELENIUM
Valeur ajoute Selenium GridVous avez besoin de connaitreOu est install Selenium RC
Prciser quel navigateur Simuler
Avec Selenium Grid, vous lancez plusieurs instances de Selenium
RC et vous avez un point central pour envoyer vos commandes.
Scripts Ant :ant sanity-check
ant launch-hub
ant Dport=5555 launch-remote-control
ant Dport=5556 launch-remote-control
ant run-demo-in-parallel
www.objis.com - Formation SELENIUM
Exemple architecture Grid
www.objis.com - Formation SELENIUM
Exemple architecture Grid
multi-environnement
www.objis.com - Formation SELENIUM
ANNEXE : ce que vous
ne pouvez pas enregistrer...RAPPEL : Selenium dvelopp en
JavascriptEssaie de synthtiser actions en vnements JS
SilverLight
Flex / Flash
HTML5
Uploads
Selenium 2Fusion Selenium / WebDriver (produit Google)
WebDriver : mme positionnement que Selenium mais accde au navig.
via fonctions natives OS
WebDriver n'a pas la limitation 'javascript' de selenium
Liens utilesDocumentation Selenium
:http://seleniumhq.org/docs/index.html
Refrences commandes Selenium IDE
:http://release.seleniumhq.org/selenium-core/1.0.1/reference.html
Guide utilisateur Selenium IDEhttp://seleniumhq.org/docs/02_selenium_ide.html#chapter02-reference
ANNEXE : solutions de cloudTestingExternaliser lancement sur
plusieurs machines (Os, navigateurs) lancement scripts
http://www.cloudtesting.com/Les tests doivent tre raliss avec
Selenium IDE puis upload vers le serveur du cloud. Il est possible
de programmer l'avance l'excution des tests. Un rapport d'excution
donne ensuite la possibilit d'analyser les rsultats et de
visualiser par exemple les temps de chargement d'une page. Le cot
11 centimes d'euros par test pour 500 tests en mode
Pay-As-You-Test, 3 centimes pour 1000 tests en mode abonnement
mensuel
http://www.pushtotest.com/
http://www.soasta.com/
Lien utile : http://www.apidev.fr/blog/2009/12/01/cloud-testing-5-solutions-pour-tester-un-site-internet/
www.objis.com - Formation SPRING
www.objis.com - Formation SPRING
www.objis.com - Formation SPRING