Question

Pour mes tests d'acceptation, j'écris du texte dans l'extension de saisie semi-automatique et je dois cliquer sur la liste remplie.

Afin de remplir la liste, je dois utiliser AppendText au lieu de TypeText, sinon la zone de texte perd le focus avant que la liste ne soit remplie.

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

Ensuite, j'ai essayé de rechercher dans la liste par nom de balise et valeur :

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

mais je ne le trouve pas, est-ce que quelqu'un a pu faire ce que j'essaie de faire ?

Était-ce utile?

La solution

La version plus courte est la suivante :

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

Les expressions régulières feront une correspondance partielle pour que vous ne le fassiez pas besoin pour spécifier .* de chaque côté et utiliser string.Format.Cela suppose cependant que lookupString ne contient aucun caractère spécial pour les Regex, ils devraient être échappés.

Autres conseils

Au cas où quelqu'un aurait le même problème.Cela 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();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top