Cours du soir Selenium à Valtech

50 %
50 %
Information about Cours du soir Selenium à Valtech

Published on July 10, 2008

Author: elefevre

Source: slideshare.net

Description

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

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/

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

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

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

Appartient au projet OpenQA

Tests fonctionnels d'applications web

Pilote les navigateurs Web

OpenSource et Multi-plateforme

License Apache 2.0

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

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

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

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

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

Copie d'écran

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

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

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

S-RC: Architecture simplifié

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

Lancer Eclipse

Ouvrir le workspace fourni par l'animateur

Lancer le test Junit du projet 1

Suivre les instructions de l'animateur

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

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

S-Grid: Architecture de déployement

Piloter un navigateur avec Selenium

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é

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é

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

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

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)

open(String url)

click(String locator)

type(String locator, String value)

select(String locator, String optionLocator)

check(String locator)

waitForPageToLoad(String timeoutInMilliseconds)

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)

getTitle()

getText(String locator)

getValue(String locator)

isEditable(String locator)

isElementPresent(String locator)

getSelectedLabel(String locator)

getSelectedValue(String locator)

isChecked(String locator)

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

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

Le cross-scripting String SeleniumClient.getEval(String) Injecte du javascript dans la page chargée Permet de récupérer les valeurs de retour

String SeleniumClient.getEval(String)

Injecte du javascript dans la page chargée

Permet de récupérer les valeurs de retour

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

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

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()]

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()]

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

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

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

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

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/

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/

Add a comment

Related presentations

Related pages

Soirée ALT.NET à Valtech mardi 04/11 - Valtech Blog ...

Après un cours du soir sur Selenium ... un cours du soir sur JRuby, mardi 28 octobre à ... un cours du soir par un consultant Valtech, ...
Read more

Valtech Blog | Open source Sushi, Selenium Sandwich et ...

Fréquence Valtech; À ... comme on peut le faire régulièrement durant les cours du soir des consultants Valtech. ... monde du web: Selenium, ...
Read more

VALTECH REV.SPLIT Cours Action LTE, Cotation Bourse ...

VALTECH REV.SPLIT Cours Action ... VALTECH : Mise à disposition du rapport financier annuel au titre de l ... En attendant les résultats 2015 ce soir: 3: 1:
Read more

Valtech cotation et cours de bourse en temps réel

Valtech cours de bourse en direct. Cotations, ... 29/04/16 Mise à disposition du rapport financier annuel au titre de l'ex...
Read more

GitHub - ValtechTechno/cours-du-soir-fitnesse

cours-du-soir-fitnesse. ATDD, Fitnesse, Rex SITA. Status; API; Training; Shop; Blog; About © 2016 GitHub, Inc. Terms; Privacy; Security; Contact; Help ...
Read more

GitHub - ValtechTechno/cours-du-soir-nodejs: Introduction ...

cours-du-soir-nodejs - Introduction à nodejs avec 2 demos. Skip to content. Personal Open source Business Explore ... ValtechTechno / cours-du-soir-nodejs ...
Read more

Where Experiences are Engineered - Valtech

... Matinée du Luxe Event Date 27 May. Register! Le ... The partnership will see Valtech offering editorial review data from the Popyoular content ...
Read more