2010-05-27 44 views
3

我正在嘗試使用Project White爲我的WPF應用程序編寫自動化測試。在我嘗試與Infragistics控件進行交互之前,這一切都進展順利。有沒有人有過這種設置的任何經驗,你會能夠發佈一個例子,我可以(例如)與XamRibbon或XamOutlookBar進行交互?WPF,Project White和Infragistics

+0

@Jamie克萊頓。 Stackoverflow正是這個問題的地方沒有? – 2010-07-16 10:16:59

回答

2

通用答案的位置我害怕,但如果White不幫助您,則可以直接使用Microsoft UI自動化。

首先,找到你的控制。如果它有一個WPF「姓名」,那麼它可能具有的名稱相匹配的自動化ID:

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

或者您可以使用的東西,像NameProperty,這主要是映射到文字或標題,或ControlTypeProperty或ClassProperty。您始終可以使用FindAll爲您提供有關可用控件的更多信息。

當你發現你的控制,打印出它所支持的模式和特性:

element.GetSupportedPatterns() 
element.GetSupportedProperties() 

屬性回饋信息。這些模式是像ListItemPattern,GridPattern這樣的東西,並允許您訪問更多組件特定的值。你可能會發現一種模式或屬性,它給你你需要的東西。白色部分建立在此之上,所以它可以幫助您找出可以使用的白色組件。例如:

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

史努比是一個應用程序,它可以幫助您得到這個信息,而無需通過打印輸出去:http://snoopwpf.codeplex.com/