SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des testsZhu Wei QI
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveExove
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Introduction to Selenium Automation
Introduction to Selenium AutomationIntroduction to Selenium Automation
Introduction to Selenium AutomationMindfire Solutions
 
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)Archana Krushnan
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkMikhail Subach
 
20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)LeClubQualiteLogicielle
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API TestingBruno Pedro
 
Qtp Basics
Qtp BasicsQtp Basics
Qtp Basicsmehramit
 
Integration Group - Robot Framework
Integration Group - Robot Framework Integration Group - Robot Framework
Integration Group - Robot Framework OpenDaylight
 

What's hot (20)

Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 
Robot Framework
Robot FrameworkRobot Framework
Robot Framework
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – Exove
 
Robot framework and selenium2 library
Robot framework and selenium2 libraryRobot framework and selenium2 library
Robot framework and selenium2 library
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Introduction to Selenium Automation
Introduction to Selenium AutomationIntroduction to Selenium Automation
Introduction to Selenium Automation
 
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)
 
Scripting robot
Scripting robotScripting robot
Scripting robot
 
Belajar Postman test runner
Belajar Postman test runnerBelajar Postman test runner
Belajar Postman test runner
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
 
20110125 04 - Présentation Squash
20110125 04 - Présentation Squash20110125 04 - Présentation Squash
20110125 04 - Présentation Squash
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Qtp Basics
Qtp BasicsQtp Basics
Qtp Basics
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
Integration Group - Robot Framework
Integration Group - Robot Framework Integration Group - Robot Framework
Integration Group - Robot Framework
 

Similar to 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
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
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
 

Similar to 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
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
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
 

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