View
643
Download
2
Category
Preview:
DESCRIPTION
Vous avez dit Selenium ? L'outil qui permet d'automatiser les tests fonctionnels ? Multi-langage ? Multi-plateforme ? Et vraiment intéressant pour garantir la qualité de votre projet tout au long de sa réalisation ?Oui, il s'agit bien de l'outil multi-tâches que l'on gagne à connaître dans un monde Agile où la qualité de votre application ne peut pas être négligée.Mais jusqu'à quel niveau avez-vous utilisé l'outil ? Avez-vous industrialisé durablement et efficacement vos tests avec et ce, à moindre coût ? Par cette présentation, découvrez ou plutôt re-découvrez Selenium qui, avec toutes ses facettes, pourra vous amener beaucoup plus loin que vous ne le pensiez.
Citation preview
Allons plus loin avec Selenium
1
#agilefrance
Merci à nos sponsors :
goldweb & mail
Présentation
๏ Pierre-Yves JAIR
๏ Coach et Formateur technico Agile
๏ Développeur ... un peu quand même
๏ J’aime qu’un plan se déroule sans accroc
3
@pierreyves29pierre-yves.jair@soat.fr
Rappel
4
Tester une IHM ?
๏ Cahier de recette
๏ Coûts dédiés
๏ Coûts grandissant
๏ Tests régressions
๏ Tests nouveautés
๏ Lassant
5
Tester une IHM ?
๏Durant le sprint ?
๏Validation nominale ?
๏Validation exhaustive ?
6
3 Utilisations
๏Facile et Rapide
๏Robuste et Souple
๏Facile, Rapide, Robuste et Souple
8
Rappel ou pas ?
9
http://seleniumhq.org/
Selenium IDE Selenium RCRemote Control
Selenium Grid
API
Selenium WebDriver
Facile et RapideSelenium IDE
10
Selenium IDE
11
Selenium IDE
12
Selenium IDE
13
Robuste et SoupleAPI Selenium
14
API
15
selenium.open("/"); verifyTrue(selenium.isTextPresent("Agilité, Java EE, .NET et plus si affinités")); selenium.click("//ul[@id='navigation']/li[2]/a/span"); selenium.waitForPageToLoad("30000"); for (int second = 0;; second++) { if (second >= 60) fail("timeout"); try { if ("Créé en 2000, So@t s’impose progressivement dans le paysage de l’ingénierie et du conseil en informatique.".equals(selenium.getText("//div[@id='post-2']/div/p[2]"))) break; } catch (Exception e) {} Thread.sleep(1000); }
selenium.click("//ul[@id='navigation']/li[3]/ul/li/a/span"); selenium.waitForPageToLoad("30000"); selenium.click("css=a.fadeThis.sf-with-ul; span.title"); selenium.waitForPageToLoad("30000");
APIExport depuis Selenium IDE
16
API & IDE
๏ Isolation des parties
๏Absence de communication
๏Avantages et Inconvénients
๏Utilisation
17
Utilisation
18
f1 Interface utilisateur
Services
f2 f3
TUFTU TU + TUF
Facile, Rapide, Robuste et Souple
19
Vie du besoin
20
Métier / Client
MOA
MOE
Recette
Métier
TEAM
Fluidifier les relations
๏Pouvons-nous éviter des aller-retours inutiles ?
๏Créer une dynamique commune de test ?
21
Challenges
๏ Sécuriser au plus tôt les développements
๏Détecter au plus tôt la régression
๏Mise en place de tests adaptés
๏Création de tests rapides et simples
๏Tests robustes et génériques
22
Organisation
23
Validation automatique
Développement terminé
Mise en place d’un scénario
HTML
Partage des ressources
HTML JAVA / C# / ...
Selenium
Custom
Remarques
๏Avantages
๏ Inconvénients
๏Approche ATDD
24
Approche ATDD
25
Given I have selected adress areaWhen I select Country where i liveAnd select the zip codeThen define the differents street
Acceptance Test Driven Development
Approche ATDD
26
Approche ATDD
27
Remarque
๏ ... résistance au changement
๏Faire travailler les gens ensemble
๏Former les équipes
๏Une nouvelle philosophie de travail
28
Un petit bonus
Couverture de code
29
Questions
30
31
Merci
Recommended