Cours du soir Selenium à Valtech

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Cours du soir Selenium à Valtech - Presentation 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
      • 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
    5. 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
      • 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
    6. Copie d'écran
    7. 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
      • 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
    8. S-RC: Architecture simplifié
    9. 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
    10. 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
    11. S-Grid: Architecture de déployement
    12. Piloter un navigateur avec Selenium
    13. 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é
    14. 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
    15. 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)
    16. 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)
    17. 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
    18. Le cross-scripting
      • String SeleniumClient.getEval(String)
      • Injecte du javascript dans la page chargée
      • Permet de récupérer les valeurs de retour
    19. 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
    20. 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()]
    21. 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
    22. 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
    23. 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/

    + elefevreelefevre, 2 years ago

    custom

    1846 views, 0 favs, 2 embeds more stats

    Cours du soir présenté par Philippe Voncken en in more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1846
      • 1709 on SlideShare
      • 137 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 36
    Most viewed embeds
    • 136 views on http://blog.valtech.fr
    • 1 views on http://209.85.135.104

    more

    All embeds
    • 136 views on http://blog.valtech.fr
    • 1 views on http://209.85.135.104

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories