SlideShare une entreprise Scribd logo
1  sur  50
Mieux vivre avec ses tests
d'acceptance
par Khanh Tuong Maudoux
@jetoile
1
Mieux vivre avec ses tests d’acceptance
Au programme…
• Les protagonistes
– Cucumber JVM
– Selenium 2
– FluentLenium
• Mise en œuvre
– Les problèmes
– Les solutions
– Le résultat
2
Mieux vivre avec ses tests d’acceptance
Qui je suis…
• Khanh Tuong Maudoux
• Développeur Java indépendant
• blog : http://blog.jetoile.fr
• @jetoile
• khanh.maudoux@jetoile.fr
3
Mieux vivre avec ses tests d’acceptance
Les protagonistes
4
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
5
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
6
• BDD (Behavior Driven Development)
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
7
• Notions :
– Feature
– Scénario
– Step
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
8
• Step et Fixture
• 5 types :
– Given
– When
– Then
– And
– But
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
9
• Step « simple »
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
10
• Step « paramétrée »
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
11
• Table
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
12
• Scenario Outline
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
13
• Utilisation
– Runner JUnit
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
14
• Utilisation
– Maven
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
15
• Utilisation
– IDE
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Cucumber JVM
16
• Mais…
– Pas d’héritage entre classes de Step
⇒utilisation de l’injection
– Instanciation de toutes les classes de Step
– Step Hell
– Peu de choses
⇒Obligé de réécrire les fixtures
– Pas de partage entre Step
⇒Variable statique ou injection
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Selenium
17
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Selenium
18
• Selenium IDE
• WebDriver
• Selenium Server
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Selenium
19
• Exemple :
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Selenium
20
• Page Object Pattern (1/2) :
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Selenium
21
• Page Object Pattern (2/2) :
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Selenium
22
• Mais…
– Selenium IDE : à oublier!
– Verbeux
⇒Page Object Pattern
– Difficilement maintenable
⇒Obligé de fournir une surcouche
Mieux vivre avec ses tests d’acceptance
Les protagonistes
Selenium
23
• Mais…
– WebDriver Hell
⇒Compatibilité
⇒Options
⇒Bridge (ChromeDriver, …)
– [Selenium Server] Les agents
– Attention à la version (ex : upgrade Firefox)
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
24
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
25
• Surcouche de Selenium
– Fluent API
– Page Object Pattern
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
26
• Page (FluentPage)
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
27
• Test (FluentTest)
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
28
• Test (FluentTest)
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
29
• Fluent API (1/2) :
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
30
• Fluent API (2/2) :
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
31
• Extensible
– FluentAdapter
• initFluent()
• initTest()
• Nouvelles annotations
– @SharedDriver(type=SharedDriver.PER_CLASS)
– @SharedDriver(type=SharedDriver.ONCE)
– @SharedDriver(type=SharedDriver.PER_METHOD)
Mieux vivre avec ses tests d’acceptance
Les protagonistes
FluentLenium
32
• Mais…
– JUnit/TestNG
– Pas multi navigateur
– Pas envisageable pour un « recetteur »
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
33
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Les problèmes
34
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Les problèmes
35
• Selenium
– RAS modulo les WebDriver…
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Les problèmes
36
• FluentLenium
– 1 méthode = 1 test
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Les problèmes
37
• Cucumber JVM
– 1 méthode par step
– Les steps d’un scénario peuvent être dans différentes
classes
– Pas d’héritage mais de l’injection
– Instanciation des classes au démarrage
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Les solutions
38
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Les solutions
39
• Mise en œuvre :
– FluentCucumberTest
– Nouvelles annotations
• @SharedDriver(type = SharedDriver.PER_FEATURE)
• @SharedDriver(type = SharedDriver.PER_SCENARIO)
– Scénario Outline
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Le résultat
40
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Le résultat
41
• Test Simple
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Le résultat
42
• Test Simple
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Le résultat
43
• Test Simple
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Le résultat
44
• Test multi navigateur
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Le résultat
45
• Test multi navigateur
Mieux vivre avec ses tests d’acceptance
Mise en œuvre
Le résultat
46
• Test multi navigateur
Mieux vivre avec ses tests d’acceptance
Conclusion
Cool !
47
Mieux vivre avec ses tests d’acceptance
Conclusion
• Code :
– https://github.com/jetoile/sample-cucumber
• FluentLenium
– http://fluentlenium.org/
– http://fr.slideshare.net/MathildeLemee/fluentlenium
• Cucumber JVM
– https://github.com/cucumber/cucumber-jvm
• Selenium
– http://docs.seleniumhq.org/
48
Mieux vivre avec ses tests d’acceptance
Questions ?
49
Mieux vivre avec ses tests d’acceptance
Merci !
50

Contenu connexe

En vedette

Exemple d'appareillage de la main atteinte de polyarthrite rhumatoïde
Exemple d'appareillage de la main atteinte de polyarthrite rhumatoïdeExemple d'appareillage de la main atteinte de polyarthrite rhumatoïde
Exemple d'appareillage de la main atteinte de polyarthrite rhumatoïdewanttologin
 
Diagnostic maturité (11 septembre 2013)
Diagnostic maturité (11 septembre 2013)Diagnostic maturité (11 septembre 2013)
Diagnostic maturité (11 septembre 2013)cdpgestion
 
Produire des contenus en ligne en bibliothèque
Produire des contenus en ligne en bibliothèqueProduire des contenus en ligne en bibliothèque
Produire des contenus en ligne en bibliothèqueMagalie Le Gall
 
Barre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseBarre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseYannick Pavard
 
SMMW // Cas Marketel - Alimentation Couche-Tard
SMMW // Cas Marketel - Alimentation Couche-TardSMMW // Cas Marketel - Alimentation Couche-Tard
SMMW // Cas Marketel - Alimentation Couche-TardGuillaume Lemay
 
Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...
Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...
Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...PYR
 
Les Barbares Attaquent l'immobilier
Les Barbares Attaquent l'immobilierLes Barbares Attaquent l'immobilier
Les Barbares Attaquent l'immobilierTheFamily
 
Il était une fois la vie d'un Product Owner
Il était une fois la vie d'un Product OwnerIl était une fois la vie d'un Product Owner
Il était une fois la vie d'un Product OwnerRomain Couturier
 
Tour du monde
Tour du mondeTour du monde
Tour du mondeguimera
 
Reperes tests implicites - septembre 2012
Reperes   tests implicites - septembre 2012 Reperes   tests implicites - septembre 2012
Reperes tests implicites - septembre 2012 François Abiven
 
Matinée marketplace HiPay, Mirakl
Matinée marketplace HiPay, MiraklMatinée marketplace HiPay, Mirakl
Matinée marketplace HiPay, MiraklHiPay Group
 
Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4
Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4
Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4WSI France
 
99.9% des Points de Vente ont une mauvaise Identité Virtuelle
99.9% des Points de Vente ont une mauvaise Identité Virtuelle99.9% des Points de Vente ont une mauvaise Identité Virtuelle
99.9% des Points de Vente ont une mauvaise Identité VirtuelleMobilosoft
 
Asean quiz championship_2012
Asean quiz championship_2012Asean quiz championship_2012
Asean quiz championship_2012Movin Miranda
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4jNeo4j
 
Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11Stéphane VINCENT
 

En vedette (20)

Exemple d'appareillage de la main atteinte de polyarthrite rhumatoïde
Exemple d'appareillage de la main atteinte de polyarthrite rhumatoïdeExemple d'appareillage de la main atteinte de polyarthrite rhumatoïde
Exemple d'appareillage de la main atteinte de polyarthrite rhumatoïde
 
Diagnostic maturité (11 septembre 2013)
Diagnostic maturité (11 septembre 2013)Diagnostic maturité (11 septembre 2013)
Diagnostic maturité (11 septembre 2013)
 
Produire des contenus en ligne en bibliothèque
Produire des contenus en ligne en bibliothèqueProduire des contenus en ligne en bibliothèque
Produire des contenus en ligne en bibliothèque
 
Modelisation et maquettage 2015
Modelisation et maquettage 2015Modelisation et maquettage 2015
Modelisation et maquettage 2015
 
Soft tissue tumor
Soft tissue tumorSoft tissue tumor
Soft tissue tumor
 
Paris
ParisParis
Paris
 
Barre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et EclipseBarre pour développeur Firefox et Eclipse
Barre pour développeur Firefox et Eclipse
 
SMMW // Cas Marketel - Alimentation Couche-Tard
SMMW // Cas Marketel - Alimentation Couche-TardSMMW // Cas Marketel - Alimentation Couche-Tard
SMMW // Cas Marketel - Alimentation Couche-Tard
 
Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...
Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...
Statistiques, indicateurs, performance et qualité : prendre la mesure de la b...
 
Les Barbares Attaquent l'immobilier
Les Barbares Attaquent l'immobilierLes Barbares Attaquent l'immobilier
Les Barbares Attaquent l'immobilier
 
Il était une fois la vie d'un Product Owner
Il était une fois la vie d'un Product OwnerIl était une fois la vie d'un Product Owner
Il était une fois la vie d'un Product Owner
 
Tour du monde
Tour du mondeTour du monde
Tour du monde
 
Gestion du temps stratégique
Gestion du temps stratégiqueGestion du temps stratégique
Gestion du temps stratégique
 
Reperes tests implicites - septembre 2012
Reperes   tests implicites - septembre 2012 Reperes   tests implicites - septembre 2012
Reperes tests implicites - septembre 2012
 
Matinée marketplace HiPay, Mirakl
Matinée marketplace HiPay, MiraklMatinée marketplace HiPay, Mirakl
Matinée marketplace HiPay, Mirakl
 
Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4
Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4
Les tendances du Marketing Digital 2014 - Ateliers webmarketing WSI - Saison 4
 
99.9% des Points de Vente ont une mauvaise Identité Virtuelle
99.9% des Points de Vente ont une mauvaise Identité Virtuelle99.9% des Points de Vente ont une mauvaise Identité Virtuelle
99.9% des Points de Vente ont une mauvaise Identité Virtuelle
 
Asean quiz championship_2012
Asean quiz championship_2012Asean quiz championship_2012
Asean quiz championship_2012
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11Atelier 27e Région / Démocratie en réseaux, 28/11/11
Atelier 27e Région / Démocratie en réseaux, 28/11/11
 

Similaire à Comment mieux vivre avec ses tests d'acceptance

Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests PlanDenis Voituron
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testablemartinsson
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
7 Suivre Les Developpements Et Recetter
7 Suivre Les Developpements Et Recetter7 Suivre Les Developpements Et Recetter
7 Suivre Les Developpements Et RecetterStéphane Bordage
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm
 
20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_allCARA_Lyon
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec SeleniumSOAT
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec SeleniumSoatAgile
 
20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développements20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développementsLeClubQualiteLogicielle
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches SeleniumGreenIvory
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en JavascriptBenoit Zohar
 

Similaire à Comment mieux vivre avec ses tests d'acceptance (12)

Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testable
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
7 Suivre Les Developpements Et Recetter
7 Suivre Les Developpements Et Recetter7 Suivre Les Developpements Et Recetter
7 Suivre Les Developpements Et Recetter
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautés
 
20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
 
Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
 
20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développements20070925 04 - Panorama des outils Open Source / Qualité des développements
20070925 04 - Panorama des outils Open Source / Qualité des développements
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches Selenium
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en Javascript
 

Comment mieux vivre avec ses tests d'acceptance

  • 1. Mieux vivre avec ses tests d'acceptance par Khanh Tuong Maudoux @jetoile 1
  • 2. Mieux vivre avec ses tests d’acceptance Au programme… • Les protagonistes – Cucumber JVM – Selenium 2 – FluentLenium • Mise en œuvre – Les problèmes – Les solutions – Le résultat 2
  • 3. Mieux vivre avec ses tests d’acceptance Qui je suis… • Khanh Tuong Maudoux • Développeur Java indépendant • blog : http://blog.jetoile.fr • @jetoile • khanh.maudoux@jetoile.fr 3
  • 4. Mieux vivre avec ses tests d’acceptance Les protagonistes 4
  • 5. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 5
  • 6. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 6 • BDD (Behavior Driven Development)
  • 7. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 7 • Notions : – Feature – Scénario – Step
  • 8. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 8 • Step et Fixture • 5 types : – Given – When – Then – And – But
  • 9. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 9 • Step « simple »
  • 10. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 10 • Step « paramétrée »
  • 11. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 11 • Table
  • 12. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 12 • Scenario Outline
  • 13. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 13 • Utilisation – Runner JUnit
  • 14. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 14 • Utilisation – Maven
  • 15. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 15 • Utilisation – IDE
  • 16. Mieux vivre avec ses tests d’acceptance Les protagonistes Cucumber JVM 16 • Mais… – Pas d’héritage entre classes de Step ⇒utilisation de l’injection – Instanciation de toutes les classes de Step – Step Hell – Peu de choses ⇒Obligé de réécrire les fixtures – Pas de partage entre Step ⇒Variable statique ou injection
  • 17. Mieux vivre avec ses tests d’acceptance Les protagonistes Selenium 17
  • 18. Mieux vivre avec ses tests d’acceptance Les protagonistes Selenium 18 • Selenium IDE • WebDriver • Selenium Server
  • 19. Mieux vivre avec ses tests d’acceptance Les protagonistes Selenium 19 • Exemple :
  • 20. Mieux vivre avec ses tests d’acceptance Les protagonistes Selenium 20 • Page Object Pattern (1/2) :
  • 21. Mieux vivre avec ses tests d’acceptance Les protagonistes Selenium 21 • Page Object Pattern (2/2) :
  • 22. Mieux vivre avec ses tests d’acceptance Les protagonistes Selenium 22 • Mais… – Selenium IDE : à oublier! – Verbeux ⇒Page Object Pattern – Difficilement maintenable ⇒Obligé de fournir une surcouche
  • 23. Mieux vivre avec ses tests d’acceptance Les protagonistes Selenium 23 • Mais… – WebDriver Hell ⇒Compatibilité ⇒Options ⇒Bridge (ChromeDriver, …) – [Selenium Server] Les agents – Attention à la version (ex : upgrade Firefox)
  • 24. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 24
  • 25. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 25 • Surcouche de Selenium – Fluent API – Page Object Pattern
  • 26. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 26 • Page (FluentPage)
  • 27. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 27 • Test (FluentTest)
  • 28. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 28 • Test (FluentTest)
  • 29. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 29 • Fluent API (1/2) :
  • 30. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 30 • Fluent API (2/2) :
  • 31. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 31 • Extensible – FluentAdapter • initFluent() • initTest() • Nouvelles annotations – @SharedDriver(type=SharedDriver.PER_CLASS) – @SharedDriver(type=SharedDriver.ONCE) – @SharedDriver(type=SharedDriver.PER_METHOD)
  • 32. Mieux vivre avec ses tests d’acceptance Les protagonistes FluentLenium 32 • Mais… – JUnit/TestNG – Pas multi navigateur – Pas envisageable pour un « recetteur »
  • 33. Mieux vivre avec ses tests d’acceptance Mise en œuvre 33
  • 34. Mieux vivre avec ses tests d’acceptance Mise en œuvre Les problèmes 34
  • 35. Mieux vivre avec ses tests d’acceptance Mise en œuvre Les problèmes 35 • Selenium – RAS modulo les WebDriver…
  • 36. Mieux vivre avec ses tests d’acceptance Mise en œuvre Les problèmes 36 • FluentLenium – 1 méthode = 1 test
  • 37. Mieux vivre avec ses tests d’acceptance Mise en œuvre Les problèmes 37 • Cucumber JVM – 1 méthode par step – Les steps d’un scénario peuvent être dans différentes classes – Pas d’héritage mais de l’injection – Instanciation des classes au démarrage
  • 38. Mieux vivre avec ses tests d’acceptance Mise en œuvre Les solutions 38
  • 39. Mieux vivre avec ses tests d’acceptance Mise en œuvre Les solutions 39 • Mise en œuvre : – FluentCucumberTest – Nouvelles annotations • @SharedDriver(type = SharedDriver.PER_FEATURE) • @SharedDriver(type = SharedDriver.PER_SCENARIO) – Scénario Outline
  • 40. Mieux vivre avec ses tests d’acceptance Mise en œuvre Le résultat 40
  • 41. Mieux vivre avec ses tests d’acceptance Mise en œuvre Le résultat 41 • Test Simple
  • 42. Mieux vivre avec ses tests d’acceptance Mise en œuvre Le résultat 42 • Test Simple
  • 43. Mieux vivre avec ses tests d’acceptance Mise en œuvre Le résultat 43 • Test Simple
  • 44. Mieux vivre avec ses tests d’acceptance Mise en œuvre Le résultat 44 • Test multi navigateur
  • 45. Mieux vivre avec ses tests d’acceptance Mise en œuvre Le résultat 45 • Test multi navigateur
  • 46. Mieux vivre avec ses tests d’acceptance Mise en œuvre Le résultat 46 • Test multi navigateur
  • 47. Mieux vivre avec ses tests d’acceptance Conclusion Cool ! 47
  • 48. Mieux vivre avec ses tests d’acceptance Conclusion • Code : – https://github.com/jetoile/sample-cucumber • FluentLenium – http://fluentlenium.org/ – http://fr.slideshare.net/MathildeLemee/fluentlenium • Cucumber JVM – https://github.com/cucumber/cucumber-jvm • Selenium – http://docs.seleniumhq.org/ 48
  • 49. Mieux vivre avec ses tests d’acceptance Questions ? 49
  • 50. Mieux vivre avec ses tests d’acceptance Merci ! 50