2012-05-08 75 views
6

根據我的理解,AutomationProperties可以用來識別UI自動化客戶端的控件名稱。爲什麼WPF需要AutomationProperties

我想了解需要創建單獨的一套自動化屬性,而不是用x:名稱爲同一目的。

+0

[AutomationProperties.Name VS x:Name]的可能重複(http://stackoverflow.com/questions/4605777/automationproperties-name-vs-xname) – Jon

+1

它不重複。鏈接中的問題(AutomationProperties.Name VS x:Name)指定了什麼區別。我的問題是爲什麼? – Tilak

+0

爲什麼?因爲他們每個人的用途都有所不同。人們同時使用汽車和卡車進行運輸,而不是僅使用一種類型的車輛。你覺得我的答案留下了未解決的問題嗎?我很樂意改進它。 – Jon

回答

5

讓我們想想一個文本框,在你的應用程序它是PhoneNumberTextBox,你也有一個PhoneNumberLabel和PhoneNumberValidationTick。然後將這些顯示在顯示「客戶」標籤的組框中

試圖使用您的應用程序的盲人會希望屏幕閱讀器在他們鍵入文本框時說「客戶電話號碼」,同樣,爲您的應用程序編寫自動UI測試的測試人員希望能夠找到包含「客戶電話號碼」的文本框。

現在,如果你的應用程序已被翻譯成德語......。盲人用戶不希望屏幕閱讀器說「Kundentelefonnummer」嗎?

現在想象一下,如果將應用程序更改爲使用PhoneNumberInputControl,則可能需要更改代碼中控件的名稱,但測試人員寧願控件名稱不更改。

因此,我們需要的是用於通過儘量走在運行時應用程序的「重要」的邏輯控制和自動化一些關於用戶如何與應用程序交互程序的名稱的概念。