2008-09-08 7 views
0

Pour mes tests d'acceptation, j'écris du texte dans l'extension automatique complète et je dois cliquer sur la liste remplie. Pour remplir la liste, je dois utiliser AppendText au lieu de TypeText, sinon la zone de texte perd son focus avant que la liste ne soit remplie.Comment cliquer sur un AutoCompleteExtender avec Watin

Maintenant, mon problème est lorsque j'essaie de cliquer sur la liste remplie. J'ai essayé de chercher l'élément UL et de cliquer dessus; mais il ne déclenche pas l'événement click sur la liste.

Alors j'ai essayé de chercher la liste par tagname et de la valeur:

Element element = Browser.Element(Find.By("tagname", "li") && Find.ByValue("lookupString")); 

mais il ne le trouve pas, quelqu'un at-il été en mesure de faire ce que je suis en train de faire?

Répondre

1

La version plus courte qui est:.

string lookupString = "string in list"; 
Element list = Browser.Element("li", Find.ByText(new Regex(lookupString))); 
list.MouseDown(); 

regexs fera une correspondance partielle de sorte que vous n'avez pas besoin de préciser * de chaque côté et de l'utilisation string.Format. Cela suppose cependant que LookupString ne contient aucun caractère spécial pour Regex, ils devraient être échappés.

1

Si quelqu'un a le même problème. Il fonctionne avec le code suivant:

string lookupString = "string in list"; 
Regex lookup = new Regex(string.Format(".*{0}.*", lookupString)); 
Element list = Browser.Element("li", Find.ByText(lookup)); 
list.MouseDown(); 
Questions connexes