SlideShare une entreprise Scribd logo
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

Contenu connexe

Tendances

Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
Pekka Klärck
 
Scripting robot
Scripting robotScripting robot
Scripting robot
Chonlasith Jucksriporn
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
Pekka Klärck
 
Robot framework
Robot frameworkRobot framework
Robot framework
boriau
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
Sauce Labs
 
Appium & Robot Framework
Appium & Robot FrameworkAppium & Robot Framework
Appium & Robot Framework
Furkan Ertürk
 
Robot framework and selenium2 library
Robot framework and selenium2 libraryRobot framework and selenium2 library
Robot framework and selenium2 library
krishantha_samaraweera
 
Xray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA process
Xpand IT
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
Christophe Rochefolle
 
Robot Framework :: Demo login application
Robot Framework :: Demo login applicationRobot Framework :: Demo login application
Robot Framework :: Demo login application
Somkiat Puisungnoen
 
Ruin your life using robot framework
Ruin your life using robot frameworkRuin your life using robot framework
Ruin your life using robot framework
Prayoch Rujira
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
Zhu Wei QI
 
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
Mayara Fernandes
 
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
Christophe Rochefolle
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
Pekka Klärck
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
Nathaniel Richand
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot Framework
Steve Zhang
 
Introduction to robot framework
Introduction to robot frameworkIntroduction to robot framework
Introduction to robot framework
Chonlasith Jucksriporn
 
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
Rhoynar Software Consulting
 
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
LeClubQualiteLogicielle
 

Tendances (20)

Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
Scripting robot
Scripting robotScripting robot
Scripting robot
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
 
Appium & Robot Framework
Appium & Robot FrameworkAppium & Robot Framework
Appium & Robot Framework
 
Robot framework and selenium2 library
Robot framework and selenium2 libraryRobot framework and selenium2 library
Robot framework and selenium2 library
 
Xray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA process
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Robot Framework :: Demo login application
Robot Framework :: Demo login applicationRobot Framework :: Demo login application
Robot Framework :: Demo login application
 
Ruin your life using robot framework
Ruin your life using robot frameworkRuin your life using robot framework
Ruin your life using robot framework
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
 
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
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot Framework
 
Introduction to robot framework
Introduction to robot frameworkIntroduction to robot framework
Introduction to robot framework
 
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
 
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
 

Similaire à 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
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
LeStudioiInteractif
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & tools
Slim Soussi
 
Installation open erp
Installation open erpInstallation open erp
Installation open erp
Addi Ait-Mlouk
 
Présentation1
Présentation1Présentation1
Présentation1
Boulkenafet samir
 
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 nutshell
gdigugli
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
badrfathallah2
 
Nouveautés de java 8
Nouveautés de java 8Nouveautés de java 8
Nouveautés de java 8
Florian Beaufumé
 
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
fayway
 
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
 
R Devtools
R DevtoolsR Devtools
R Devtools
Cdiscount
 
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
Arnaud Héritier
 
Presentation forum php 2010
Presentation forum php 2010Presentation forum php 2010
Presentation forum php 2010
Laurent Destailleur
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
adiouf2
 
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
Nicolas 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 libres
Robert Viseur
 

Similaire à 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