2011-04-10 5 views
0

J'ai une application Web qui utilise une jauge SVG. cette jauge affiche l'état de santé de ma grille (plusieurs machines).Selenium et SVG

La jauge a 3 couleurs: vert, jaune et rouge.

Je veux être en mesure d'écrire un test qui assure que cette jauge représente correctement les données. En d'autres termes, mon test calcule la valeur d'intégrité de la grille attendue et s'assure que la jauge pointe vers la zone appropriée. Est-ce possible en utilisant Selenium 2.0?

Est-ce possible?

Répondre

1

Sélénium vous permettra de, en utilisant JavaScript, obtenir les propriétés d'un élément dans le DOM, donc quelque chose comme

var gaugeFill = document.getElementById('mygauge').getAttribute('fill'); 

vous obtiendrez la couleur de remplissage, mais il peut revenir comme: « rgb (255,0,0) "pour Rouge. Vous devrez l'inspecter et configurer votre logique de comparaison en conséquence.

En outre, vous ne dites pas comment vous rendre le SVG. Il y a tellement de façons ... Ce que j'ai décrit fonctionne pour les navigateurs modernes où les éléments SCV font directement partie du DOM, mais ce n'est pas le cas pour les anciens navigateurs ou si vous utilisez quelque chose Raphael.

+0

sur Chrome et Firefox dernière ... donc les versions de navigateur ne devrait pas être un problème. – Eli

+0

aussi, je voulais obtenir l'orientation de la flèche ... pas la couleur. (La flèche pointe vers une certaine plage avec une certaine couleur). J'ai fini par faire quelque chose comme ça: String arrowDegrees = driver.findElementById ("myGuage) .getAttribute (" tranform "); – Eli

0

Alors je me suis dit dehors, je pense, le test na pas encore ... les éléments svg apparaissent dans le dôme aussi simple que et donc je peux marcher jusqu'à ce que je trouve l'attribut i need..witch est Transformer dans mon cas. cet attribut est généré en utilisant GWT. vous pouvez également attribuer id à l'aide sorcière GWT rend le processus dans son ensemble le test im lote plus simple