2012-05-08 5 views
6

मेरी समझ के अनुसार में की जरूरत है, AutomationProperties यूआई स्वचालन ग्राहकों द्वारा नियंत्रण के नामों की पहचान करने के लिए उपयोग किया जा सकता।क्यों AutomationProperties WPF

मैं स्वचालन संपत्तियों की अलग सेट बनाने की जरूरत को समझने के लिए चाहते हैं, और का उपयोग नहीं कर एक्स: एक ही उद्देश्य के लिए नाम दें।

+0

के संभावित डुप्लिकेट [AutomationProperties.Name वी.एस. x: नाम] (http://stackoverflow.com/questions/4605777/automationproperties-name-vs-xname) – Jon

+1

यह नकल नहीं है। लिंक में प्रश्न (AutomationProperties.Name वीएस एक्स: नाम) निर्दिष्ट करता है कि क्या अंतर है। मेरा सवाल है क्यों? – Tilak

+0

क्यों? क्योंकि इसमें से एक अंतर है कि उनमें से प्रत्येक के लिए क्या उपयोग किया जाना चाहिए। इसी कारण से लोग केवल एक प्रकार के वाहन के बजाय परिवहन के लिए कारों और ट्रकों दोनों का उपयोग करते हैं। क्या आपको लगता है कि मेरा जवाब खुले प्रश्न छोड़ देता है? मुझे इसे सुधारने में खुशी होगी। – Jon

उत्तर

5

के अपने आवेदन में एक टेक्स्ट बॉक्स के बारे में सोचते हैं, यह PhoneNumberTextBox है, और आप भी एक PhoneNumberLabel, और PhoneNumberValidationTick है। इन्हें तब एक समूह बॉक्स के अंदर प्रदर्शित किया जाता है जिसमें "ग्राहक"

आपके एप्लिकेशन का उपयोग करने का प्रयास करने वाला एक अंधे व्यक्ति स्क्रीन पाठक को "ग्राहक फ़ोन नंबर" कहने के लिए कहता है जब वे टेक्स्ट बॉक्स में टैब करते हैं, वैसे ही आपके आवेदन के लिए एक स्वचालित यूआई परीक्षण लिखने वाला परीक्षक "ग्राहक फोन नंबर" वाले टेक्स्ट बॉक्स को ढूंढने में सक्षम होना चाहता है।

अब क्या आपके आवेदन जर्मन में अनुवाद किया गया है, तो ...। क्या अंधा उपयोगकर्ता स्क्रीन रीडर को "कुंडेंटेलफोन्नमर" कहने के लिए नहीं चाहेगा?

अब कल्पना करें कि आप अपने ऐप को फ़ोन नम्बर इनपुट कंट्रोल का उपयोग करने के लिए बदलते हैं, तो संभवतः आप अपने कोड में नियंत्रण के नाम बदलना चाहेंगे, लेकिन परीक्षक चाहेंगे कि नियंत्रण का नाम बदल नहीं जाएगा ...।

इसलिए हमें ऐसे नामों की अवधारणा की आवश्यकता है जो प्रोग्राम द्वारा उपयोग किए जाने वाले प्रोग्राम के "महत्वपूर्ण" तार्किक नियंत्रणों को चलाने का प्रयास करें और उपयोगकर्ता के आवेदन के साथ कैसे इंटरैक्ट करते हैं, इस बारे में कुछ स्वचालित करें।