2010-05-27 7 views
3

J'essaie d'utiliser Project White pour écrire des tests automatisés pour mon application WPF. Tout se passe bien jusqu'à ce que j'essaie d'interagir avec les contrôles Infragistics. Quelqu'un a-t-il une expérience de cette configuration et seriez-vous capable de poster un exemple de comment je peux (par exemple) interagir avec le XamRibbon ou le XamOutlookBar?WPF, White Project et Infragistics

+0

@Jamie Clayton. Stackoverflow est exactement l'endroit pour cette question non? –

Répondre

2

Bit d'une réponse générique J'ai bien peur, mais si White ne vous aide pas, vous pouvez directement utiliser Microsoft UI Automation.

D'abord, trouvez votre contrôle. Si elle a un « nom » WPF alors il a probablement un identifiant d'automatisation qui correspond au nom:

AutomationElement element = AutomationElement.Root.FindFirst(
    TreeScope.Descendants, 
    new PropertyCondition(AutomationElement.AutomationIdProperty, <whatever>)) 

Vous pouvez également utiliser des choses comme la NameProperty, qui associe la plupart du temps en texte ou des titres, ou ControlTypeProperty ou ClassProperty. Vous pouvez toujours utiliser FindAll pour obtenir plus d'informations sur les contrôles disponibles.

Lorsque vous trouvez votre contrôle, d'imprimer ses modèles et propriétés prises en charge:

element.GetSupportedPatterns() 
element.GetSupportedProperties() 

Les propriétés donner des informations de retour. Les modèles sont des choses comme ListItemPattern, GridPattern et vous permettent d'accéder à plus de valeurs spécifiques aux composants. Vous pouvez trouver un modèle ou une propriété qui vous donne ce dont vous avez besoin. Le blanc est en partie construit au-dessus de ceci, ainsi il pourrait vous aider à découvrir quels composants blancs vous pourriez employer. Par exemple:

((TogglePattern)Element.GetCurrentPattern(TogglePattern.Pattern)).Toggle() 

Snoop est une application qui peut vous aider à obtenir ces informations sans passer par les impressions: http://snoopwpf.codeplex.com/