簡體   English   中英

wxWidgets和UI自動化

[英]wxWidgets and UI Automation

我有一個使用wxWidgets的小型應用程序,可在MS Windows上運行。 我正在使用UI自動化進行自動化測試。 在大多數情況下,這進行得很好。 但是,我遇到了障礙。

對於大多數小部件,UIA的“名稱”屬性似乎與小部件上的文本匹配。 (我不知道wxWidgets是否這樣做還是UIA是否這樣做。)但是對於圖像按鈕……是的,沒有文本。 因此,我想做的就是在這些小部件中添加某種屬性,以使其可以通過UIA進行唯一標識,而無需更改GUI的外觀。

我曾希望僅在窗口設計器中設置“ name”屬性就可以做到這一點……但可惜沒有。 有什么想法我可以解決這個問題嗎?

在MS Windows級別不使用該名稱。 唯一的是ID,因此,如果您使用固定的唯一ID(而不是在創建窗口時指定wxID_ANY ),則應該能夠在運行時從中找到窗口。

編輯:可以使用AutomationIdProperty從UIA查詢ID,如下所示:

string id = (string)widget.GetCurrentPropertyValue(AutomationElement.AutomationIdProperty);

通常,字符串是十進制數字,但並非總是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM