2008-09-08 4 views
0

Für meine Akzeptanztests schreibe ich Text in den Auto-Complete-Extender und ich muss auf die ausgefüllte Liste klicken.So klicken Sie auf einen AutoCompleteExtender mit Wattin

Um die Liste zu füllen, muss ich AppendText anstelle von TypeText verwenden, sonst verliert das Textfeld den Fokus bevor die Liste ausgefüllt wird.

Jetzt ist mein Problem, wenn ich versuche, auf die ausgefüllte Liste zu klicken. Ich habe versucht, das UL-Element zu suchen und darauf zu klicken; aber es löst das Klickereignis nicht auf der Liste aus.

Dann habe ich versucht, die Liste nach tagname und Wert zu suchen:

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

aber es nicht ist zu finden, hat jemand in der Lage zu tun, was zu tun, ich versuche?

Antwort

1

Die kürzere Version davon ist.

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

regexs eine teilweise Übereinstimmung tun, damit Sie nicht Notwendigkeit angeben * auf beiden Seiten und die Verwendung Zeichenfolge.Format. Dies setzt jedoch voraus, dass die lookupString keine Zeichen enthält, die speziell für Regexs sind, sie müssten mit Escapezeichen versehen werden.

1

Falls jemand das gleiche Problem hat. Es arbeitet mit dem nächsten Code:

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