2010-05-27 2 views
3

Project White을 사용하여 WPF 응용 프로그램에 대한 자동화 된 테스트를 작성하려고합니다. Infragistics 컨트롤과 상호 작용할 때까지는 모두 잘 진행됩니다. 누구든지이 설정에 대한 경험이 있었습니까? 예를 들어 XamRibbon 또는 XamOutlookBar와 상호 작용할 수있는 방법의 예를 게시 할 수 있습니까?WPF, Project White 및 Infragistics

+0

@Jamie 클레이튼 :

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

스눕 당신이 인쇄물을 거치지 않고 정보를 얻을 수 있습니다 응용 프로그램입니다. Stackoverflow 정확히이 질문에 대한 장소가 아니야? –

답변

2

일반적인 대답의 비트 저는 두렵습니다.하지만 White가 도움이되지 않으면 Microsoft UI Automation을 직접 사용할 수 있습니다.

먼저 컨트롤을 찾으십시오.

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

는 다른 방법이 대부분이나 제목을 텍스트로 매핑 NameProperty, 또는 ControlTypeProperty 또는 ClassProperty 같은 것들을 사용할 수 있습니다 : 그것은 WPF "이름"을 가지고 있다면 그것은 아마도 이름과 일치 자동화 ID가 있습니다. 항상 FindAll을 사용하여 사용 가능한 컨트롤에 대한 자세한 정보를 얻을 수 있습니다.

element.GetSupportedPatterns() 
element.GetSupportedProperties() 

속성 정보를 다시 제공 : 당신이, 당신의 통제를 찾아 지원되는 패턴과 속성을 인쇄

. 패턴은 ListItemPattern, GridPattern과 같으며 더 많은 구성 요소 별 값에 액세스 할 수 있습니다. 필요한 것을 제공하는 패턴이나 속성을 찾을 수 있습니다. 흰색은 부분적으로이 위에 쌓여 있으므로 사용할 수있는 흰색 구성 요소를 찾는 데 도움이 될 수 있습니다. 예를 들어 : http://snoopwpf.codeplex.com/