2011-12-30 90 views
0

我正在嘗試爲C++ MFC應用程序自動化UI交互。我試圖使用UISpy和UIAVerify工具來查找元素的自動化ID。我在win2k3上。UI自動化驗證v/s UISpy - 他們找到UI元素的方式

有一個選項卡控件,其自動化ID對UISpy可見,但對UIAVerify不可見。

問題是,即使對於使用Project White Framework或ui自動化框架.net 3.0編寫的C#代碼,它也是不可見的。

我想要得到它處理這個控制的方式。有什麼辦法可以找出UISpy如何做到這一點?

謝謝!

回答

0

UISpy很可能會使用Microsoft UI Automation下的內容。您可以從this example*瞭解它的工作原理。 AutomationElement上有各種條件可用於定位它們。

我只使用WPF選項卡,但發現它確實很難通過自動化ID找到它們。相反,我一直在使用AutomationName屬性,將標籤上的標題作爲值。不知道白方是否支持這一點,但我敢肯定你可以得到原來的AutomationElement,並按照例子使用它。

您也可能會在尋找支持SelectionItemPattern(有SelectionItemIsSupportedProperty)的東西,並且您需要使用該模式來選擇該選項卡並使其處於活動狀態,然後才能看到任何內容。

如果您需要更多信息,請發表評論。這可能有助於瞭解帶有製表符的容器結構。

*自從我寫這篇文章以來感興趣的聲明。