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

Slides:



Advertisements
Présentations similaires
Transformation de documents XML
Advertisements

PROJET HANDICAPS Certificat de Qualification Professionnelle
Outils d’automatisation
Première CTP le 4 décembre Nouvelle CTP depuis le 1 er février RTM milieu de cette année.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Sites Web interactifs 2010 / 2011 / S1 Bernhard Rieder.
Architecture logicielle
FAIRE SA BIBLIOGRAPHIE DE THESE AVEC ZOTERO Traitements de texte pris en compte: Word et LibreOffice.
Emacs Laurent Pierron
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Mozilla Firefox. Présentation : ● Comment «surfer» sur Internet ? ● Différents «navigateurs» ● Internet Explorer, ● Firefox, ● Safari,...
Créat. : 23/09/2016 Modif. : 23/09/2016 Bogdan Stefanescu > Connectivité CPS et Eclipse Solutions Linux 2006.
Laurent Pierron TextMate / Mac OS X macromates.com.
CUCUMBER Behavior developpement driven tool Théo STEIN Audrey LANCE Quentin SERVEAUX 1.
Présentation sous Licence Creative CommonsLicence Creative Commons Ubuntu installation de logiciels.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
Introduction aux technologies du Web Mercredi 12 décembre 2007 Patrice Pillot
Le DOM Le Document Object Model (DOM) est une interface de programmation pour les documents HTML et XML Il fournit une représentation structurée du document.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
Présentation de Plone Gestionnaire de contenus. 2 Présentation de Plone à Toulibre Présentations Eric Bréhaut Développeur / Chef de projet Emmanuelle.
Plugin Eclipse pour le langage LUA Responsable Fabrice Huet Chef de Projet Jérôme Poisson Développeurs Lu Deng Guillaume Ghibaudo Julien Raverdino Anthony.
Toulibre : présentation de... xhtml + css par Rémy Sanchez.
Présenté par : ANDRIAMANALINA Favennec Costant CREATION D’UN SITE POUR L’APPRENTISSAGE DU CODE DE LA ROUTE CAS DU CLIENT DE LA SOCIETE ASA.
Le bureau Windows (XP) Bureau Windows Icônes Menu démarrer
Android PACT 2016 Encadrement Informatique.
JAVA.
Asynchronous Javascript And Xml
A JavaScript library for building user interfaces
ANDROID OS.
Je collecte l’information Je mets en place une veille informationnelle
Comprendre l’environnement Web
Marchés Exterieurs Des Industries Agroalimentaires
JavaScript.
(Système de Management de la Sûreté)
Les outils du développeur
Par Georges Lucotte & Jean-Pierre Vasseur 03 Mars 2017
Clients riches RIA (Rich Internet Application) / RDA
LE MASHUP.
MVC et applications Web
Les technologies AJAX.
Asynchronous Javascript And Xml
fonctionnalités iiS iis
Outils Statistiques pour la Sémantique Décembre 2013
HTML & css.
Asynchronous Javascript And Xml
Windows Apache MySQL PHP
Solution de déploiement logiciel
CeMEB La plateforme MBB
CeMEB La plateforme MBB
Documentation technique (Linux)
Lintranet LE FUTUR VOUS APPARTIENT NIL JULITTE.
BALISE HTML5 <audio> : le son sur une page web
Introduction à Internet
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Les protocoles de la couche application Chapitre 7.
Catherine Cyrot - bibliothèques numériques - Cours 5
Informatique de base Pr. Namar Ydriss Cours 1: Introduction
Etienne Vandeput Namur CeFIS 2001
IDL interface définition langage. Plan Introduction Principaux éléments IDL Types de données IDL Déclaration de module Déclaration d'interface Déclaration.
20 Données semi-structurées et XML
Programmation Web : Introduction à XML
Programmation Web : DOM en PHP
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
HISTORIQUE DES MISES A JOUR
Catherine Cyrot - bibliothèques numériques - Cours 5
Definition de html sommaire. Présentation de html, css et javascript Module 1.
Qu’est ce qu’une page web? Comment fonctionne un site web?
Société de l’Information
Site web, Ce qu’il faut savoir ?
Transcription de la présentation:

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

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

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 IDE Selenium Core Selenium RC Selenium Grid

Ecrit en Javascript/DHTML Ecrit par une équipe de Thoughtworks “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 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 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

Copie d'écran

TP Selenium IDE Utiliser Firefox pour surfer à l'adresse suivante 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

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 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 name : Sélectionne le premier élément avec identifier 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 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)

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)

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

Le cross-scripting 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

Principes de XPath Notation à cheminement //* /ns:racine/ns:toto 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

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

References