2008-12-18 7 views
0

Problème: Je cherche un moyen d'exécuter un test qui est capable de désambiguïser entre certains contrôles qui ont la même valeur dans plus d'un endroit.tests automatisés avec Watir (ou WatiN ou similaire): désambiguïsation des éléments de sélection

Exemple:

Je suis en train de choisir le troisième « lundi » d'une commande de sélection

ie.select_list(:id , 'choose-day').set('-monday'); 

où le contrôle de sélection a une sorte de format « grandes lignes » dans le contrôle lui-même:

alice 
-monday 
-tuesday 
bob 
-monday 
-tuesday 
charlie 
-monday 
-tuesday 

Étant donné que le texte est identique (et je ne sais pas ce que les valeurs des options sont à l'avance) est-il un moyen de coder t Le test est-il tel que le lundi sous charlie est celui qui est sélectionné?

Répondre

2

On dirait que vous pouvez utiliser element_by_xpath pour trouver l'option que vous voulez, avec quelque chose comme ceci:

 
//select/option[text()='charlie']/following::option[text()='-monday'] 

alors vous pouvez vérifier l'attribut de valeur de cette option (pas sûr de savoir comment faire en Watir) et sélectionnez à l'aide:

ie.select_list(:id , 'choose-day').select_value(whatever_the_value_was); 
3

en Watin, vous pouvez utiliser plusieurs support d'attributs pour correspondre à un élément (je pensais que quelque chose de similaire est également disponible en Watir).

option Option = ie.SelectList ("choisissez-jour") Options. (Find.ByText ("- lundi") & & Find.ByIndex (2))

(indice est égal à zéro TELLE MANIERE 2 sera donner le troisième match (le cas échéant)).

HTH, Jeroen van Menen plomb dev Watin

Questions connexes