<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>Blog du testeur</title>
	<link>http://www.qualifiez.fr/journaldutesteur/</link>
	<language>fr</language>
	<description></description>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://www.qualifiez.fr/journaldutesteur/feed.php" />
	<lastBuildDate>Tue, 24 Apr 2012 09:44:00 +0200</lastBuildDate>
	<generator>PluXml</generator>
	<item>
		<title>Selenium : Identifier avec xPath</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article30/selenium-rechercher-avec-dom-et-path</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article30/selenium-rechercher-avec-dom-et-path</guid>
		<description>&lt;p&gt;Le moyen le plus simple et le plus rapide de retrouver un élément d&#039;une page web (pour cliquer dessus par exemple) est l&#039;id. Malheureusement l&#039;id n&#039;est pas toujours présent. Dans ce cas on peut également utiliser les requêtes xPath (navigation dans un document XML) pour retrouver un élément.&lt;/p&gt;&lt;br /&gt;

Soit la page web suivante: &lt;br /&gt;&lt;br /&gt;

&lt;img src=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/site.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;

Je voudrais accéder au deuxième lien &quot;détail&quot; pour le cliquer.&lt;br /&gt;&lt;br /&gt;

&lt;img src=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/selenium.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;


&lt;p&gt;L&#039;IDE de selenium nous propose plusieurs possibilités comme par exemple par position absolue: //tr[3]/td[5]/a&lt;/p&gt; soit:&lt;br /&gt;

&lt;ol&gt;
&lt;li&gt;tr[3] Accéder à la troisième ligne&lt;/li&gt;
&lt;li&gt;td[5] Accéder à la cinquième cellule&lt;/li&gt;
&lt;li&gt;a Accéder à l&#039;élément lien&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;

&lt;br /&gt;
Le test selenium sera à réécrire si par exemple un autre tableau est ajouté en début de cette page web.&lt;br /&gt;
&lt;br /&gt;


De façon relative: //table[@id=&#039;maTable&#039;]/tbody/tr[3]/td[5]/a&lt;br /&gt;

&lt;ol&gt;
&lt;li&gt;table[@id=&#039;maTable&#039;] Accéder au tableau identifié par l&#039;id &quot;maTable&quot;&lt;/li&gt;
&lt;li&gt;tr[3] Accéder à la troisième ligne&lt;/li&gt;
&lt;li&gt;td[5] Accéder à la cinquième cellule&lt;/li&gt;
&lt;li&gt;a Accéder à l&#039;élément lien&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;br /&gt;


&lt;p&gt;Intéressant pour tester des tableaux générés dynamiquement.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;



Recherche sur un attribut : xpath=(//a[@name=&#039;lien&#039;])[2]&lt;br /&gt;


&lt;ul&gt;
&lt;li&gt;Le deuxième lien ayant pour attribut nom = &#039;lien&#039;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;

Pour plus d&#039;informations sur la construction de ce type de requêtes : &lt;br /&gt;

&lt;a href=&quot;http://www.w3schools.com/xpath/&quot;&gt;w3schools xpath&lt;/a&gt;</description>
		<pubDate>Tue, 24 Apr 2012 09:44:00 +0200</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
	<item>
		<title>Une API Java pour s&#039;interfacer avec testlink</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article29/une-api-java-pour-s-interfacer-avec-testlink</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article29/une-api-java-pour-s-interfacer-avec-testlink</guid>
		<description>&lt;p&gt;Si vos tests automatiques sont codés en java vous pouvez à l&#039;aide d&#039;une API 
reporter les résultats correspondants dans votre plan de test sous testlink.&lt;/p&gt;&lt;br /&gt;


Cette API se trouve à l&#039;adresse suivante : &lt;a href=&quot; http://code.google.com/p/testlink-api-java-client/&quot;&gt;api testlink&lt;/a&gt;&lt;br /&gt;



&lt;p&gt;Elle permet de :&lt;/p&gt;


&lt;ul&gt;
&lt;li&gt;Création de projet&lt;/li&gt;
&lt;li&gt;Création de test suite&lt;/li&gt;
&lt;li&gt;Création de cas de test&lt;/li&gt;
&lt;li&gt;Ajout de cas de test à un plan de test&lt;/li&gt;
&lt;li&gt;Rapport de résultat&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;


&lt;p&gt;Dans cet article je vais surtout m&#039;intéresser à la dernière fonctionnalité partant du principe que :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On conçoit les tests dans TestLink&lt;/li&gt;
&lt;li&gt;On écrit le code automatique correspondant&lt;/li&gt;
&lt;li&gt;On lance les tests et les résultats sont stockés automatiquement&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;
Pour commencer il faudra importer:&lt;br /&gt;
&lt;br /&gt;

import testlink.api.java.client.TestLinkAPIClient;&lt;br /&gt;

import testlink.api.java.client.TestLinkAPIException;&lt;br /&gt;

import testlink.api.java.client.TestLinkAPIConst;&lt;br /&gt;


&lt;br /&gt;
Puis créer une instance de l&#039;API :&lt;br /&gt;
&lt;br /&gt;


TestLinkAPIClient apiClient = new &lt;br /&gt;
TestLinkAPIClient(&quot;26f77ac152f2622f097a894ada8ec368&quot;, &lt;br /&gt;

&quot;http://localhost:8888/testlink/lib/api/xmlrpc.php&quot;);&lt;br /&gt;

&lt;br /&gt;
Voici la signature de la méthode : &lt;br /&gt;

TestLinkAPIClient(devKey, url) &lt;br /&gt;

l&#039;Url pointe sur l&#039;interface xml-rpc de testlink et permet la connection.&lt;br /&gt;
&lt;br /&gt;
devKey: cette clef est lié à un utilisateur de testlink. Il faut dans un premier temps autoriser les tests automatiques: &lt;br /&gt;

&lt;img src=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/devkey2.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;

Puis vous pouvez récupérer la devkey sur la page affichant vos paramètres:&lt;br /&gt;
&lt;img src=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/recupererclef.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;



&lt;br /&gt;
Assigner le résultat dans Testlink :&lt;br /&gt;
&lt;br /&gt;


apiClient.reportTestCaseResult(&quot;FirstProject&quot;,&quot;TP1&quot;,&quot;UN-1&quot;,&quot;Build 2&quot;, &lt;br /&gt;
&quot;essai&quot;, TestLinkAPIConst.TEST_BLOCKED);&lt;br /&gt;


Dans l&#039;ordre on trouve :&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;Le nom du projet&lt;/li&gt;
&lt;li&gt;L&#039;identifiant du plan de test&lt;/li&gt;
&lt;li&gt;L&#039;identifiant du cas de test (il apparait sur la page) ou le nom du test&lt;/li&gt;
&lt;li&gt;L&#039;identifiant du build&lt;/li&gt;
&lt;li&gt;un texte pour commenter l&#039;exécution&lt;/li&gt;
&lt;li&gt;Le résultat du test&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;

&lt;p&gt;
Testlink + l&#039;api java vous permettront d&#039;avoir un outil de gestion de test complet. Il est à noter que vous pouvez également interfacer testlink avec différents outils de gestion d&#039;anomalies. De même les scripts &quot;Selenium&quot; qui permettent d&#039;automatiser les tests d&#039;interfaces web, peuvent être écrits en java. Vous pourrez donc intégrer également les résultats de tests automatiques d&#039;interface WEB. &lt;/p&gt;</description>
		<pubDate>Sat, 21 Apr 2012 21:42:00 +0200</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
	<item>
		<title>Présentation rapide d&#039;outil de test de charge : The Grinder</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article28/presentation-rapide-d-outil-de-test-de-charge-the-grinder</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article28/presentation-rapide-d-outil-de-test-de-charge-the-grinder</guid>
		<description>&lt;p&gt;The Grinder est un outil open source qui permet de réaliser des tests de charges pour du WEB.&lt;br /&gt;
Il s&#039;installe facilement (zip) et se lance tout aussi facilement. &lt;/p&gt;
&lt;br /&gt;

&lt;a href=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/architecture.png&quot;&gt;&lt;img src=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/architecture.tb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;h2&gt;Les processus « Worker »&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Interprètent les scripts de test et les exécutent. Chaque processus peut exécuter plusieurs tests en parallèle en utilisant des threads « worker «.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Les processus « Agent »&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Processus qui démarrent et arrêtent les processus de type « worker » tels que spécifiés.&lt;/li&gt;
&lt;li&gt;Maintient un cache local des scripts de tests distribués à partir de la console.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;La Console&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Coordonnent les autres processus.&lt;/li&gt;
&lt;li&gt;Collecte et affiche les statisques.&lt;/li&gt;
&lt;li&gt;Fournit un service d’édition et de distribution des scripts.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Lancer la console :&lt;/h2&gt;
java –cp ./lib/grinder.jar net.grinder.Console •lancer les agents sur les PC « &lt;h2&gt;injecteurs » : &lt;/h2&gt;
java -cp ./lib/grinder.jar net.grinder.Grinder ./examples/grinder.properties
&lt;br/&gt;&lt;br /&gt;


&lt;a href=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/console.png&quot;&gt;&lt;img src=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/console.tb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;

&lt;p&gt;La console permet de gérer les scripts et en particulier de modifier le grinder.properties qui définit le paramétrage comme par exemple le nombre de processus en parallèle, le script qui va être exécuté etc.&lt;/p&gt;

&lt;p&gt;Un ensemble d&#039;icônes permet de transmettre les scripts aux processus, de les lancer, démarrer les mesures etc.&lt;/p&gt;&lt;br /&gt;

&lt;p&gt;Ci dessous un exemple de résultats collectés pendant les tests&lt;/p&gt;

&lt;a href=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/resultat.png&quot;&gt;&lt;img src=&quot;http://www.qualifiez.fr/journaldutesteur/data/images/resultat.tb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;


&lt;p&gt;Les scripts sont écrits en python. Dans le package téléchargé on trouve pléthore de scripts permettant des injections avec diverses configurations.&lt;/p&gt;
&lt;br /&gt;

&lt;p&gt;Plus d&#039;infos : ﻿http://sourceforge.net/projects/grinder/ &lt;/p&gt;</description>
		<pubDate>Sun, 12 Feb 2012 21:01:00 +0100</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
	<item>
		<title>Inscrivez-vous sur le groupe french testers du site Software Testing Club</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article27/inscrivez-vous-sur-le-groupe-french-testers-du-site-software-testing-club</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article27/inscrivez-vous-sur-le-groupe-french-testers-du-site-software-testing-club</guid>
		<description>Un site, plein d&#039;infos et de news sur le test qui vaut le détour, animé par Rosie Sherry.
Vous y trouverez des blogs, un journal dédié aux tests, des communautés et un groupe de french testers:

http://www.softwaretestingclub.com/group/frenchtesters

N&#039;attendez plus pour vous inscrire ...</description>
		<pubDate>Tue, 07 Feb 2012 16:10:00 +0100</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
	<item>
		<title>Outil de test : Sandbox IBM</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article26/outil-de-test-sandbox-ibm</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article26/outil-de-test-sandbox-ibm</guid>
		<description>Il est possible de tester les outils de gestion de plan de test d&#039;IBM grâce à la mise à disposition d&#039;une sandbox.

Une fois enregistré vous aurez accès à :
Rational Team Concert 3.0.1
Rational Quality Manager 3.0.1
Rational Requirements Composer 3.0.1

Le premier permet de gérer le projet dans sa globalité (gestion des tâches, gestion de configuration). Le second permet de gérer les test et le troisième les exigences. Tous les artéfacts des uns et des autres sont liés et on passe d&#039;un outil à l&#039;autre sans s&#039;en rendre compte.

Il n&#039;y a pas arborescence comme dans les outils tels Quality Center. Il faudra donc associer les tests aux bons artéfacts (story, exigences ...) et prévoir des attributs pour retrouver et gérer correctement ses tests.</description>
		<pubDate>Mon, 16 Jan 2012 21:06:00 +0100</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
	<item>
		<title>Framework de test : Robot Framework</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article23/framework-de-test-robot-framework</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article23/framework-de-test-robot-framework</guid>
		<description>Actuellement je travaille sur un framework de test intéressant à mon sens nommé Robotframework.
&lt;/br&gt;&lt;/br&gt;
Il est né des besoins suivants:
&lt;ul&gt;
	&lt;li&gt;Offrir un langage de haut niveau pour des testeurs fonctionnels&lt;/li&gt;
	&lt;li&gt;Possibilités d&#039;écrire des tests de recette avant livraison du produit&lt;/li&gt;
&lt;/ul&gt;
&lt;/br&gt;&lt;/br&gt;
Le principe est le suivant :
&lt;ol&gt;
	&lt;li&gt;des mots-clefs de base correspondent à des actions unitaires (par exemple &quot;entrer une chaine de caractères dans le champ de login&quot;, &quot;entrer une chaine de caractère dans le champ password&quot;, &quot;cliquer sur login&quot; ...)&lt;/li&gt;
	&lt;li&gt;On peut créer des mots-clefs à partir d&#039;autre mots-clefs, par exemple un mot clef login correspond à la séquence  &quot;entrer une chaine de caractères dans le champ de login&quot; + &quot;entrer une  chaine de caractère dans le champ password&quot; + &quot;cliquer sur login&quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;/br&gt;&lt;/br&gt;
Il offre les fonctionnalités suivantes:
&lt;ul&gt;
	&lt;li&gt;Ecrire des tests de type &quot;Behavior Test Driven&quot;&lt;/li&gt;
	&lt;li&gt;Ecrire des tests de type &quot;Data Test Driven&quot;&lt;/li&gt;
	&lt;li&gt;Gestion de variable de test avec des valeurs par défaut&lt;/li&gt;
	&lt;li&gt;Fourniture d&#039;un rapport de test html (excellent)&lt;/li&gt;
	&lt;li&gt;Possibilités de tagger les tests afin de fournir des résultats par tag&lt;/li&gt;
	&lt;li&gt;Library d&#039;action de base Selenium, AutoIt ...&lt;/li&gt;
	&lt;li&gt;Possibilité de créer sa propre library&lt;/li&gt;
	&lt;li&gt;Library de gestion système (création fichier, directory ....)&lt;/li&gt;
	&lt;li&gt;Library dédié test (screenshot, step manuel ...)&lt;/li&gt;
	&lt;li&gt;Découpage en test et test suite&lt;/li&gt;
	&lt;li&gt;Possibilité d&#039;arborescence pour classer les tests&lt;/li&gt;
	&lt;li&gt;Possibilité d&#039;associer des actions de début et fin de test (pré requis, post test)&lt;/li&gt;
	&lt;li&gt;Format des tests : html, csv ou texte.&lt;/li&gt;
&lt;/ul&gt;
Etc ...
&lt;/br&gt;&lt;/br&gt;

Quelques défauts :
&lt;ul&gt;
	&lt;li&gt;L&#039;éditeur de test n&#039;est pas terrible voir buggé&lt;/li&gt;
	&lt;li&gt;Pas de vrai gestion de test mais il y aurait une possibilité de le connecter à testlink.&lt;/li&gt;
&lt;/ul&gt;
Voilà après quelques essais je suis assez emballée ...</description>
		<pubDate>Sat, 17 Sep 2011 17:19:00 +0200</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
	<item>
		<title>Testlink 1.9 nouvelles fonctionalités</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article22/testlink-1-9-nouvelles-fonctionalites</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article22/testlink-1-9-nouvelles-fonctionalites</guid>
		<description>La version testlink 1.9 est sortie depuis la fin de l&#039;année dernière. Elle comporte de nouvelles fonctionnalités intéressantes:
&lt;ul&gt;
	&lt;li&gt;Gestion des steps pour les tests&lt;/li&gt;
	&lt;li&gt;Gestion des environnements de tests (un test peut-être passé sur plusieurs environnements)&lt;/li&gt;
	&lt;li&gt;Une meilleure gestion des versions (étendue aux exigences et possibilité de comparer les versions)&lt;/li&gt;
	&lt;li&gt;Amélioration de la gestion des exigences (arborescence à plusieurs niveaux, relation entre exigences)&lt;/li&gt;
	&lt;li&gt;etc...&lt;/li&gt;
&lt;/ul&gt;
Plein de nouveautés à découvrir pour cet outil du libre, alternative à Quality Center (HP).

Une fonctionnalité qui m&#039;a plu :

Chaque fois que l&#039;on créé une exigence on peut définir le nombre de tests que l&#039;on pense y associer. Grâce à cette information on pourra suivre la progression de la couverture des exigences par le plan de test, et surtout calculer le reste à faire ...

&lt;img src=&quot;http://blogdutest.qualifiez.fr/__oneclick_uploads/2011/04/suivi.jpg&quot; title=&quot;progression couverture des exigences&quot; alt=&quot;progression couverture des exigences&quot; align=&quot;middle&quot; height=&quot;300&quot; width=&quot;600&quot; /&gt;</description>
		<pubDate>Sat, 17 Sep 2011 14:29:00 +0200</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
	<item>
		<title>Selenium : Element-filters</title> 
		<link>http://www.qualifiez.fr/journaldutesteur/index.php?article20/nouvel-article</link>
		<guid>http://www.qualifiez.fr/journaldutesteur/index.php?article20/nouvel-article</guid>
		<description>A quoi servent les &lt;em&gt; element-filters &lt;/em&gt;: ce post, je l&#039;espère va vous l&#039;expliquer.
&lt;/br&gt;&lt;/br&gt;

Soit le code extrait de meto.fr qui permet de sélectionner celsius ou fahrenheit pour la température:
&lt;p class=&quot;clearfix&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;input pginputvisible=&quot;xtrue&quot; checked=&quot;checked&quot; class=&quot;checkbox&quot; id=&quot;celsius&quot; name=&quot;unit&quot; value=&quot;celsius&quot; type=&quot;radio&quot; /&gt; &lt;label for=&quot;celsius&quot;&gt;degrés Celsius (°C)&lt;/label&gt;
&lt;p class=&quot;clearfix&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;input pginputvisible=&quot;xtrue&quot; class=&quot;checkbox&quot; id=&quot;fahrenheith&quot; name=&quot;unit&quot; value=&quot;fahrenheith&quot; type=&quot;radio&quot; /&gt; &lt;label for=&quot;fahrenheith&quot;&gt;degrés Fahrenheit (°F)&lt;/label&gt;&lt;/br&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; class&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;clearfix&quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;span&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; checked&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;checked&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;checkbox&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;celsius&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;unit&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;radio&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;celsius&quot;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&lt;span class=&quot;attribute-name&quot;&gt;/&lt;/span&gt;&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; for&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;celsius&quot;&lt;/span&gt;&amp;gt;degrés Celsius (°C)&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;label&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;span&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;p&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; class&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;clearfix&quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;span&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; class&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;checkbox&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;fahrenheith&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;unit&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;radio&quot; &lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;fahrenheith&quot;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&lt;span class=&quot;attribute-name&quot;&gt;/&lt;/span&gt;&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;&lt;span class=&quot;start-tag&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;attribute-name&quot;&gt; for&lt;/span&gt;=&lt;span class=&quot;attribute-value&quot;&gt;&quot;fahrenheith&quot;&lt;/span&gt;&amp;gt;degrés Fahrenheit (°F)&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;label&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre id=&quot;line256&quot;&gt;&amp;lt;/&lt;span class=&quot;end-tag&quot;&gt;span&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;/br&gt;
Tel que on ne peut pas sélectionner l&#039;élément en utilisant le nom (Name=unit), d&#039;où l&#039;intéret d&#039;utiliser les &lt;em&gt;element-filters&lt;/em&gt; qui vont permettre de raffiner la recherche :
&lt;/br&gt;&lt;/br&gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;link=Options&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;name=unit index=1&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&lt;/br&gt;&lt;/br&gt;
Ici on prendra le deuxième élément avec name=unit (index commence à 0).
&lt;/br&gt;&lt;/br&gt;
Il existe deux types d&#039;element-filter:&lt;/br&gt;
&lt;ul&gt;
	&lt;li&gt;index : que l&#039;on vient de voir et&lt;/li&gt;
	&lt;li&gt;Value : si l&#039;élément possède une &quot;value&quot; on peut utiliser cette dernière pour préciser la recherche tel que dans l&#039;exemple suivant :&lt;/li&gt;
&lt;/ul&gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;link=Options&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;name=unit value=celsius&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;</description>
		<pubDate>Sat, 17 Sep 2011 10:50:00 +0200</pubDate>
		<dc:creator>Dominique Mereaux</dc:creator>
	</item>
</channel>
</rss>
