formation selenium

Download Formation Selenium

If you can't read please download the document

Upload: nabilovic01

Post on 12-Feb-2016

31 views

Category:

Documents


1 download

DESCRIPTION

Formation Selenium

TRANSCRIPT

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