La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours du soir Selenium Lundi 7 Juin 2008 Philippe VONCKEN Licence Creative.

Présentations similaires


Présentation au sujet: "Cours du soir Selenium Lundi 7 Juin 2008 Philippe VONCKEN Licence Creative."— Transcription de la présentation:

1 Cours du soir Selenium Lundi 7 Juin 2008 Philippe VONCKEN philippe.voncken@valtech.fr http://ultrafil.tuxfamily.org http://planet.valtech.fr Licence Creative Commons: http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ 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/


Télécharger ppt "Cours du soir Selenium Lundi 7 Juin 2008 Philippe VONCKEN Licence Creative."

Présentations similaires


Annonces Google