cours du soir selenium à valtech

Download Cours du soir Selenium à Valtech

If you can't read please download the document

Upload: eric-lefevre-ardant

Post on 16-Apr-2017

4.925 views

Category:

Technology


2 download

TRANSCRIPT

Cours du soir GWT

Cours du soir Selenium

Lundi 7 Juin 2008Philippe [email protected]://ultrafil.tuxfamily.orghttp://planet.valtech.fr

Licence Creative Commons: http://creativecommons.org/licenses/by-nc-nd/2.0/fr/

Sommaire du cours

Prsentation 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'exprience

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

Selenium: Les composants

Selenium IDESelenium CoreSelenium RCSelenium 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

Plate-formes Supportes

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 rutiliser les scnarios de Selenium IDE dans Selenium RC (Selenes)

Ne supporte que Firefox

Peut faciliter la prise en main de Selenium

Selenium IDE

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

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'intgration continue

Selenium RC

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

Selenium Grid

Extension Selenium RC

Permet de diminuer le temps global des tests

paralllise les tests sur un cluster

Se programme dans les langages suivants:

Java, .NET, Perl, PHP, Python, Ruby, Selenes, Javascript

S-Grid: Architecture de dployement

Piloter un navigateur avec Selenium

Les locators

id: Slectionne llment avec lattribut @id

name: Slectionne le premier lment avec lattribut @name

identifier: @id sinon @name.

xpath: Slectionne llment correspondant lexpression xpath

link: Slectionne le lien qui contient le texte spcifi

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

Mthodes 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)

Mthodes communes de DefaultSelenium
Rcuprer les donnes

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

Indpendant de tout langage de programmation

Reprsentation structurelle du document

Permet de modifier son contenu

Permet de modifier sa prsentation visuelle

Relie les pages web aux scripts et langages de programmation

Le cross-scripting

String SeleniumClient.getEval(String)

Injecte du javascript dans la page charge

Permet de rcuprer 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

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

Aller plus loin avec les standards

L'utilisation de XHTML permet de valider la structure du DOM grce au Schma associ

grce 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'exprience

Explications du contexte (Web/CICS/BDD)

Structure du Fwk

Maven, TagsLib, Prototype et services spring

FWGE, SCTS, FWTE et FWTF

Le serveur d'intgration continu continuum

Le projet FWTC

Les projets Finaux (640 applications)

Des milliers de tests automatiss

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/

#

#