Allons plus loin avec Selenium

Post on 25-Jun-2015

643 views 2 download

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.

Transcript of Allons plus loin avec Selenium

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

Les solutions

7

WatirWeb Application Testing in Ruby

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