2012-07-18 1 views
0

Il s'agit d'une question non-officielle, mais je commence à utiliser les tests d'interface utilisateur codés MS. Et je me demandais s'il y avait un moyen de trouver des éléments de la page en utilisant XPath, au lieu du mécanisme de correspondance par défaut? Ce que je veux faire, c'est faire correspondre les éléments parents et naviguer par programmation dans l'arbre DOM pour obtenir les éléments avec lesquels je veux travailler. Cela peut être facilement fait avec Selenium, mais je ne suis pas sûr de savoir comment le faire avec des tests d'interface utilisateur codés.Correspondance des éléments à l'aide de XPath sur les tests d'interface utilisateur codée

Merci

+1

http://blogs.msdn.com/b/visualstudioalm/archive/2011/12/28/sample-xpath-utility-for-coded-ui-test.aspx il Il n'y a pas de support intégré, bien qu'un outil personnalisé au dessus de CodedUI puisse le faire. –

Répondre

2

Vous devriez être en mesure de gérer une navigation xpath utilisant le UITestControlCollection. Utilisez l'enregistreur de CodedUI pour accéder au contrôle de niveau supérieur, puis utilisez GetChildren pour naviguer dans votre direction. Gardez à l'esprit que les changements xpath parce que tous les types d'objets sont similaires, l'API de CodedUI ne distingue pas.

Exemple:

HtmlDocument doc = this.UIYourWindowName.UIYourDocumentName; // mapped control 
doc.Find(); 
UITestControl toline = new UITestControl(doc); 
toline.SearchProperties["Id"] = "to_d"; // use the id of the top most control 
UITestControlCollection toline1 = toline.GetChildren(); // get the child objects 

toline1 = toline1[0].GetChildren(); // xpath: \\ctrl[@id='to_d']\item[0] 
toline1 = toline1[0].GetChildren(); // ctrl[]\item[0]\item[0] 
// and so on... 
Questions connexes