SlideShare ist ein Scribd-Unternehmen logo
1 von 11
1Robot Framework
Automatisation des tests fonctionnels
(ATDD)
http://robotframework.org/
2L'architecture
Vos scénarios
Vos données
Robot Framework
Built in
+
Standard
Tierce partie
(ex : Selenium2, ssh,...)
Personnelles
(ex : Drupal, ...)
Libraries
RF
Libraries
RF
Scénarios (HTML)
Rapports (HTML)
3
En bref
●
Framework générique
●
Keyword driven
●
Data driven
●
À la Gherkin (Behat, Cucumber, Lettuce)
●
Langages
●
Python / Jython / Iron Python
●
Java
●
Autres langages via XMLRPC
●
API / Hooks pour Java et Python
●
Vos Libraries / Keywords
●
Vos sources de données
4
Libraries
●
Fournissent des « Keywords » pour une cible de tests
particulière :
●
Navigateur
●
SSH
●
Protocole de communication (FTP, ...)
●
...
●
Réalisables en :
●
Python (+ C/C++),
●
Java,
●
Jython
●
Iron Python + autre langage pour CLR .Net
Cohérence langages pour RF et Libraries
5
Libraries standard
●
Builtin : Keywords les plus fréquemment utilisés (comparaison,
accès aux variables, ...). « Builtin » = ne nécessite pas d'import
explicite
●
OperatingSystem : «cd », « ls », « mkdir », « cp », « mv », ...
●
Screenshot : comme son nom l'indique, généralement pour
figurer dans le CR de test
●
Collections : manipulez des listes et des dictionnaires
●
Et aussi : String, Dialogs, XML, Process, Remote
6
Librairies tierces
●
AndroidLibrary et IOSLibrary : Pilotage et introspection d'applis
Android et iOS via Calabash
●
ArchiveLibrary : Exploration des zip, tar.gz et tar.bz2
●
AutoItLibrary : Contrôle et vérification d'appli Windows via AutoIt
●
DatabaseLibrary : Du SQL dans RobotFramework
●
FTPLibrary, HTTPLibrary, SSHLibrary : Devinez quoi...
●
Selenium2Library : Contrôle de Firefox ou Chrome, inspection du
HTML
●
SudsLibrary : Web services SOAP
●
EclipseLibrary et SwingLibrary : Applications Java avec UI
●
Et aussi... http://robotframework.org/#test-libraries
●
Et encore...
https://pypi.python.org/pypi?%3Aaction=search&term=robotframework
7
Votre Library
●
Peut être fournie dans les tests eux-mêmes, composée avec les
keywords existants
*** Settings ***
Documentation Ma belle library perso
...
... bla bla bla
*** Keywords ***
Calculator has been cleared
Push button C
User types "${expression}"
Push buttons ${expression}
8Votre scénario
●
En HTML
●
Dans des tables
●
En CSV
●
Idem...
●
En texte brut
●
C'est le plus simple...
9
Exemple de suite
(minimaliste)
*** Settings ***
Documentation Example test cases using the keyword-driven testing approach.
...
... All tests contain a workflow constructed from keywords in
... `CalculatorLibrary`. Creating new tests or editing existing
... is easy even for people without programming skills.
...
Library CalculatorLibrary
*** Test Cases ***
Push button
Push button 1
Result should be 1
Push multiple buttons
Push button 1
Push button 2
Result should be 12
Clear
Push button 1
Push button C
Result should be ${EMPTY} # ${EMPTY} is a built-in variable
10Support auteur
●
Editeurs
●
Modes pour VIM, Emacs, SublimeText, ...
●
Plugin IntelliJ (PyCharm, PHPStorm, ...) et Eclipse avec
complétion intelligente
●
RIDE : IDE + Testrunner dédié
●
Autres...
●
Sphinx : intégration des tests dans la doc
Scénarios de test
=================
.. literalinclude:: signin_test.txt
:language: robotframework
11
Support PIC
●
Compatible avec les « testrunners » Python classiques (unittest,
test.py, nose, ...)
●
Compatible JUnit
●
Compatible Jenkins / Travis
●
option –-xunit result.xml

Weitere ähnliche Inhalte

Was ist angesagt?

ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Test unitaire
Test unitaireTest unitaire
Test unitaireIsenDev
 
Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Ippon
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test AutomationPekka Klärck
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionGanuka Yashantha
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testingdidev
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Frameworklaurent bristiel
 
Robot framework
Robot frameworkRobot framework
Robot frameworkboriau
 
Automatisation des tests: le mythe du ROI
Automatisation des tests: le mythe du ROIAutomatisation des tests: le mythe du ROI
Automatisation des tests: le mythe du ROIGilles Mantel
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'tsPekka Klärck
 
Robot Framework with Python | Edureka
Robot Framework with Python | EdurekaRobot Framework with Python | Edureka
Robot Framework with Python | EdurekaEdureka!
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD123abcda
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 

Was ist angesagt? (20)

ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Scripting robot
Scripting robotScripting robot
Scripting robot
 
Test unitaire
Test unitaireTest unitaire
Test unitaire
 
Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Automatisation des tests: le mythe du ROI
Automatisation des tests: le mythe du ROIAutomatisation des tests: le mythe du ROI
Automatisation des tests: le mythe du ROI
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
 
Robot Framework with Python | Edureka
Robot Framework with Python | EdurekaRobot Framework with Python | Edureka
Robot Framework with Python | Edureka
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 
Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)
 
Test Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and Cucumber
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 

Ähnlich wie Présentation de Robot framework

Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Martin Latrille
 
PyConFR - testons en python
PyConFR - testons en pythonPyConFR - testons en python
PyConFR - testons en pythongburet
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & toolsSlim Soussi
 
Développement d'un moteur de recherche avec Zend Search
Développement d'un moteur de recherche avec Zend SearchDéveloppement d'un moteur de recherche avec Zend Search
Développement d'un moteur de recherche avec Zend SearchRobert Viseur
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellgdigugli
 
PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1fayway
 
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...Normandie Web Xperts
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.pptadiouf2
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresRobert Viseur
 

Ähnlich wie Présentation de Robot framework (20)

Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
 
PyConFR - testons en python
PyConFR - testons en pythonPyConFR - testons en python
PyConFR - testons en python
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & tools
 
Installation open erp
Installation open erpInstallation open erp
Installation open erp
 
Présentation1
Présentation1Présentation1
Présentation1
 
Développement d'un moteur de recherche avec Zend Search
Développement d'un moteur de recherche avec Zend SearchDéveloppement d'un moteur de recherche avec Zend Search
Développement d'un moteur de recherche avec Zend Search
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
 
Nouveautés de java 8
Nouveautés de java 8Nouveautés de java 8
Nouveautés de java 8
 
Chapter1
Chapter1Chapter1
Chapter1
 
PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1
 
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...
 
R Devtools
R DevtoolsR Devtools
R Devtools
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
 
Presentation forum php 2010
Presentation forum php 2010Presentation forum php 2010
Presentation forum php 2010
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libres
 

Présentation de Robot framework

  • 1. 1Robot Framework Automatisation des tests fonctionnels (ATDD) http://robotframework.org/
  • 2. 2L'architecture Vos scénarios Vos données Robot Framework Built in + Standard Tierce partie (ex : Selenium2, ssh,...) Personnelles (ex : Drupal, ...) Libraries RF Libraries RF Scénarios (HTML) Rapports (HTML)
  • 3. 3 En bref ● Framework générique ● Keyword driven ● Data driven ● À la Gherkin (Behat, Cucumber, Lettuce) ● Langages ● Python / Jython / Iron Python ● Java ● Autres langages via XMLRPC ● API / Hooks pour Java et Python ● Vos Libraries / Keywords ● Vos sources de données
  • 4. 4 Libraries ● Fournissent des « Keywords » pour une cible de tests particulière : ● Navigateur ● SSH ● Protocole de communication (FTP, ...) ● ... ● Réalisables en : ● Python (+ C/C++), ● Java, ● Jython ● Iron Python + autre langage pour CLR .Net Cohérence langages pour RF et Libraries
  • 5. 5 Libraries standard ● Builtin : Keywords les plus fréquemment utilisés (comparaison, accès aux variables, ...). « Builtin » = ne nécessite pas d'import explicite ● OperatingSystem : «cd », « ls », « mkdir », « cp », « mv », ... ● Screenshot : comme son nom l'indique, généralement pour figurer dans le CR de test ● Collections : manipulez des listes et des dictionnaires ● Et aussi : String, Dialogs, XML, Process, Remote
  • 6. 6 Librairies tierces ● AndroidLibrary et IOSLibrary : Pilotage et introspection d'applis Android et iOS via Calabash ● ArchiveLibrary : Exploration des zip, tar.gz et tar.bz2 ● AutoItLibrary : Contrôle et vérification d'appli Windows via AutoIt ● DatabaseLibrary : Du SQL dans RobotFramework ● FTPLibrary, HTTPLibrary, SSHLibrary : Devinez quoi... ● Selenium2Library : Contrôle de Firefox ou Chrome, inspection du HTML ● SudsLibrary : Web services SOAP ● EclipseLibrary et SwingLibrary : Applications Java avec UI ● Et aussi... http://robotframework.org/#test-libraries ● Et encore... https://pypi.python.org/pypi?%3Aaction=search&term=robotframework
  • 7. 7 Votre Library ● Peut être fournie dans les tests eux-mêmes, composée avec les keywords existants *** Settings *** Documentation Ma belle library perso ... ... bla bla bla *** Keywords *** Calculator has been cleared Push button C User types "${expression}" Push buttons ${expression}
  • 8. 8Votre scénario ● En HTML ● Dans des tables ● En CSV ● Idem... ● En texte brut ● C'est le plus simple...
  • 9. 9 Exemple de suite (minimaliste) *** Settings *** Documentation Example test cases using the keyword-driven testing approach. ... ... All tests contain a workflow constructed from keywords in ... `CalculatorLibrary`. Creating new tests or editing existing ... is easy even for people without programming skills. ... Library CalculatorLibrary *** Test Cases *** Push button Push button 1 Result should be 1 Push multiple buttons Push button 1 Push button 2 Result should be 12 Clear Push button 1 Push button C Result should be ${EMPTY} # ${EMPTY} is a built-in variable
  • 10. 10Support auteur ● Editeurs ● Modes pour VIM, Emacs, SublimeText, ... ● Plugin IntelliJ (PyCharm, PHPStorm, ...) et Eclipse avec complétion intelligente ● RIDE : IDE + Testrunner dédié ● Autres... ● Sphinx : intégration des tests dans la doc Scénarios de test ================= .. literalinclude:: signin_test.txt :language: robotframework
  • 11. 11 Support PIC ● Compatible avec les « testrunners » Python classiques (unittest, test.py, nose, ...) ● Compatible JUnit ● Compatible Jenkins / Travis ● option –-xunit result.xml