2010-05-19 4 views
3

Je viens de commencer à utiliser Selenium-IDE (pas encore regardé sélénium-RC: si quelqu'un me dit que c'est la réponse à ma question je vais le regarder)Dans Selenium IDE, puis-je stocker un élément à utiliser dans les assertions suivantes?

Une des opérations que je suis testing génère une sortie dans une table de la page HTML suivante, mais l'ordre des lignes n'est pas prévisible.

Je peux évidemment utiliser 'assertTextPresent', mais je veux en faire un peu plus, et vérifier que différents bits de texte sont dans la même ligne.

Ce que je voudrais pouvoir faire est d'identifier un tr par un contenu, puis d'utiliser ce tr dans les affirmations suivantes; quelque chose comme

storeExpression //table[@id='TABLE_6']/td[.='case_1']/.. row 
assertText  ${row}  'Some text' 
assertText  ${row}  'Some other text' 

pour vérifier que « certains textes » et « un autre texte » se produisent dans la même ligne de table « case_1 ».

Je ne l'ai pas eu pour travailler jusqu'à présent, et je ne suis pas sûr que ce soit possible, ou quelle syntaxe utiliser si c'est le cas.

Quelqu'un a-t-il réussi à le faire?

Répondre

4

Vous pouvez utiliser la commande assignId pour affecter temporairement une valeur à l'attribut id de l'élément. Par exemple:

assignId | //table//td[.='case_1']/.. | myRow 
assertText | id=myRow | Some text 
assertText | id=myRow | Some other text 
1

vous pouvez utiliser XPath = $ {ligne}

voir Selenium: Is it possible to concatenate an xpath with a variable? (deuxième réponse)

+0

Donc, il stocke l'expression xpath dans la variable? Je n'avais pas pensé à ça. Merci. Mais j'aime encore plus la suggestion de Dave Hunt. –

+0

Personnellement, je ne connaissais pas auparavant assignId, c'est trop cool! –

Questions connexes