Your SlideShare is downloading. ×
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Cours du soir Selenium à Valtech
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cours du soir Selenium à Valtech

3,958

Published on

Cours du soir présenté par Philippe Voncken en interne à Valtech, le lundi 7 juillet 2008.

Cours du soir présenté par Philippe Voncken en interne à Valtech, le lundi 7 juillet 2008.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,958
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
79
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Cours du soir Selenium Lundi 7 Juin 2008 Philippe VONCKEN [email_address] http://ultrafil.tuxfamily.org http://planet.valtech.fr Licence Creative Commons: http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
  • 2. Sommaire du cours
    • Présentation de Selenium
      • TP Selenium IDE
      • TP Selenium RC partie 1
    • Notions sur le DOM et le cross scripting
    • Notions sur XPath
    • Aller plus loin avec les standards
    • Retour d'expérience
    • TP Selenium RC partie 2
  • 3. Selenium: Vue d'ensemble
    • Appartient au projet OpenQA
    • Tests fonctionnels d'applications web
    • Pilote les navigateurs Web
    • OpenSource et Multi-plateforme
    • License Apache 2.0
  • 4. Selenium: Les composants Selenium IDE Selenium Core Selenium RC Selenium Grid
  • 5.
    • Ecrit en Javascript/DHTML
    • Ecrit par une équipe de Thoughtworks
      • http://www.thoughtworks.com/
    • “ Selenium is designed specifically for the acceptance testing requirements of Agile teams”
    • Principe basé sur le cross-scripting
    • Supporte tous les navigateurs
    • Supporte toutes les plate-formes
    • Composant bas niveau
    Selenium Core
  • 6. Plate-formes Supportées
    • Windows:
      • Internet Explorer 6.0 and 7.0
      • Firefox 0.8 to 2.0
      • Mozilla Suite 1.6+, 1.7+
      • Seamonkey 1.0
      • Opera 8 & 9
    • Linux:
      • Firefox 0.8 to 2.0
      • Mozilla Suite 1.6+, 1.7+
      • Konqueror
      • Opera 8 & 9
    • Mac OS X:
      • Safari 2.0.4+
      • Firefox 0.8 to 2.0
      • Camino 1.0a1
      • Mozilla Suite 1.6+, 1.7+
      • Seamonkey 1.0
      • Pas encore supporté:
        • OmniWeb
  • 7.
    • Plugin Firefox
    • Interface graphique
    • Enregistre, édite et debug les tests
    • Possibilité de réutiliser les scénarios de Selenium IDE dans Selenium RC (Selenes)
    • Ne supporte que Firefox
    • Peut faciliter la prise en main de Selenium
    Selenium IDE
  • 8. Copie d'écran
  • 9. TP Selenium IDE
    • Utiliser Firefox pour surfer à l'adresse suivante
    • http://www.openqa.org/
      • cliquer sur Selenium IDE
      • cliquer sur Download
      • cliquer sur Version 1.0 Beta 2 pour installer le plugin
    • Suivre les instructions de l'animateur
  • 10.
    • Pilote un navigateur Web par programmation
    • Supporte la plupart des navigateurs Web
    • Fonctionne en client / Serveur
      • Le programme pilote le client Selenium
      • Le serveur Selenium pilote le navigateur
      • Le serveur doit être installé sur la machine du navigateur à piloter
    • Se programme dans les langages suivants:
      • Java, .NET, Perl, PHP, Python, Ruby, Selenes, Javascript
    • Point fort: l'intégration continue
    Selenium RC
  • 11. S-RC: Architecture simplifié
  • 12. TP Selenium RC
    • Lancer Eclipse
    • Ouvrir le workspace fourni par l'animateur
    • Lancer le test Junit du projet 1
    • Suivre les instructions de l'animateur
  • 13. Selenium Grid
    • Extension à Selenium RC
    • Permet de diminuer le temps global des tests
      • parallèlise les tests sur un cluster
    • Se programme dans les langages suivants:
      • Java, .NET, Perl, PHP, Python, Ruby, Selenes, Javascript
  • 14. S-Grid: Architecture de déployement
  • 15. Piloter un navigateur avec Selenium
  • 16. Les locators
    • id : Sélectionne l’élément avec l’attribut @id
    • name : Sélectionne le premier élément avec l’attribut @name
    • identifier : @id sinon @name.
    • xpath : Sélectionne l’élément correspondant à l’expression xpath
    • link : Sélectionne le lien qui contient le texte spécifié
  • 17. Quelques exemples de locators
    • selenium.click(“id=idOfThing”); //un id locator
    • selenium.click(“name=nameOfThing”); //un name locator
    • selenium.click(“xpath=//img[@alt='The image alt text']”);
    • selenium.click(“dom=document.images[56]” );
    • selenium.click(“link=Test Page For Selenium”); //un link locator
    • selenium.click(“css=span#firstChild”); //un css locator
  • 18. Méthodes communes de DefaultSelenium Pilotage
    • open(String url)
    • click(String locator)
    • type(String locator, String value)
    • select(String locator, String optionLocator)
    • check(String locator)
    • waitForPageToLoad(String timeoutInMilliseconds)
  • 19. Méthodes communes de DefaultSelenium Récupérer les données
    • getTitle()
    • getText(String locator)
    • getValue(String locator)
    • isEditable(String locator)
    • isElementPresent(String locator)
    • getSelectedLabel(String locator)
    • getSelectedValue(String locator)
    • isChecked(String locator)
  • 20. Le DOM (Document Object Model)
    • Standardisé: W3C DOM
    • API pour les documents HTML et XML
    • Indépendant de tout langage de programmation
    • Représentation structurelle du document
    • Permet de modifier son contenu
    • Permet de modifier sa présentation visuelle
    • Relie les pages web aux scripts et langages de programmation
  • 21. Le cross-scripting
    • String SeleniumClient.getEval(String)
    • Injecte du javascript dans la page chargée
    • Permet de récupérer les valeurs de retour
  • 22. XPath (XML Path Language)
    • syntaxe non-XML
    • Puissant et souple
    • Permet d'adresser des parties de DOM
    • Peut être utilisé dans des URI et des attributs XML
    • Xpath est au DOM ce que le SQL est aux BDD
  • 23. Principes de XPath
    • Notation à cheminement
      • //*
      • /ns:racine/ns:toto
      • /racine/toto/@attribut1
    • Les axes
      • //ns:racine/child::ns:toto
      • /racine/toto/attribute::attribut1
    • Les fonctions
      • count(/racine/toto) OU sum(/racine/valeur)
      • /racine/toto[position()=1]
      • /racine/toto[position()=last()]
  • 24. Aller plus loin avec les standards
    • L'utilisation de XHTML permet de valider la structure du DOM grâce au Schéma associé
      • grâce à Selenium RC et au cross-scripting
      • SeleniumClient.getEval()
    • L'utilisation du vieux HTML ne permet pas ce niveau de validation de la structure des documents
  • 25. Retour d'expérience
    • Explications du contexte (Web/CICS/BDD)
    • Structure du Fwk
      • Maven, TagsLib, Prototype et services spring
      • FWGE, SCTS, FWTE et FWTF
    • Le serveur d'intégration continu continuum
    • Le projet FWTC
    • Les projets Finaux (640 applications)
    • Des milliers de tests automatisés
  • 26. References
    • http://openqa.org/
      • http://selenium.openqa.org/
      • http://release.openqa.org/selenium-remote-control/0.9.0
    • http://developer.mozilla.org/fr/docs
      • http://developer.mozilla.org/fr/docs/DOM
      • http://developer.mozilla.org/fr/docs/XML
      • http://developer.mozilla.org/fr/docs/XPath
    • http://www.w3.org/
      • http://www.w3.org/DOM/
      • http://www.w3.org/XML/
      • http://www.w3.org/Style/XSL/
      • http://www.w3.org/TR/xhtml11/

×