2012-05-01 15 views
16

मैंने विंडोज 8 उपभोक्ता पूर्वावलोकन डाउनलोड और स्थापित किया है, और मैं मेट्रो स्टाइल अनुप्रयोगों से डेटा प्राप्त करने के लिए यूआई ऑटोमेशन एपीआई का उपयोग कैसे करना है, यह जानना चाहता हूं।मेट्रो-स्टाइल ऐप्स के यूआई ऑटोमेशन कैसे करें?

पृष्ठभूमि: मेरे पास बहुत से स्वचालित परीक्षण हैं जो Microsoft UI Automation API's का उपयोग अनुप्रयोगों के साथ संवाद करने के लिए करते हैं। स्क्रिप्ट नेट के खिलाफ IronRuby में लिखे गए हैं 4

प्रारंभ में, मैं बस की जाँच करना चाहते हैं तो प्रारंभ मेनू दिखाई देता है (और यदि हां, तो इसे बंद)

According to Microsoft, सामान्य यूआई स्वचालन एपीआई होना चाहिए मेट्रो शैली अनुप्रयोगों तक पहुंचने और नियंत्रित करने में सक्षम है, लेकिन समस्या यह है कि, मैं यह नहीं समझ सकता कि मेरा कोड वास्तव में मेट्रो अनुप्रयोगों के यूआई तक कैसे पहुंच सकता है? यूआई ऑटोमेशन डेटा देखने का हमारा सामान्य तरीका UISpy का उपयोग कर रहा है, हालांकि जब मैं विंडोज 8 के तहत यूआई जासूस चलाता हूं और मेट्रो ऐप लाता हूं, तो इसका कोई उल्लेख नहीं है ... ऐसा लगता है जैसे मेट्रो ऐप्स (स्टार्ट स्क्रीन समेत) दीवारों पर हैं डेस्कटॉप से ​​दूर।

यदि मुझे यूस्पी में मेट्रो ऐप्स नहीं मिल पा रहे हैं, तो मैं उन्हें कैसे ढूंढ सकता हूं कि उनके स्वचालन आईडी क्या हैं, और मैं उन्हें अपनी स्वचालित परीक्षण स्क्रिप्ट से कैसे ढूंढ सकता हूं?

+0

स्पष्टीकरण के लिए - क्या आप एक्सएएमएल स्टैक या HTML5 का उपयोग कर रहे हैं? मुझे निश्चित रूप से पता नहीं है क्योंकि मैंने इनमें से किसी एक में यूआई स्वचालन करने की कोशिश नहीं की है, लेकिन मुझे लगता है कि यह आपकी पसंद के आधार पर थोड़ा अलग हो सकता है। –

+0

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.automation.aspx –

+0

मैं अभी तक मेट्रो ऐप्स नहीं लिख रहा हूं, इस चरण में मैं बस देखना चाहता हूं स्टार्ट स्क्रीन (और संभावित रूप से कुछ मेट्रो ऐप्स जैसे मेल के रूप में निर्मित), जो मुझे लगता है कि Xaml/C++ हैं ?? –

उत्तर

1

WinRT (उर्फ "मेट्रो स्टाइल") अनुप्रयोग एक सैंडबॉक्स में चलाए जाते हैं। आप डेस्कटॉप अनुप्रयोगों सहित अनुप्रयोगों के बीच दीवारों को छेद नहीं कर सकते हैं। इसमें नेटवर्क अलगाव शामिल है (उदाहरण के लिए आप स्थानीय वातावरण को संदर्भित नहीं कर सकते हैं उदाहरण के लिए विकास वातावरण को छोड़कर)। इसमें कुछ अपवाद हैं जैसे कि शेयर और सर्च संपर्क जो ऐप्स के बीच बहुत विशिष्ट प्रकार के इंटरैक्शन की अनुमति देते हैं।

यह सैंडबॉक्स है जो यूस्पी को पृष्ठभूमि में निष्पादित WinRT एप्लिकेशन को देखने से रोक रहा है। मुझे यकीन नहीं है कि यूआईएसपी इस मुद्दे के आसपास कैसे सैंडबॉक्स (नेटवर्क अलगाव अपवाद के समान) के किसी प्रकार के विकास पर्यावरण अपवाद के बिना काम कर सकता है जो उपभोक्ता पूर्वावलोकन में उपलब्ध नहीं है।

मैं इस समय किसी भी घोषणा से अनजान हूं कि यूआई ऑटोमेशन एपीआई इस समय WinRT अनुप्रयोगों के लिए कब समर्थित होगा।

6

यूआई स्वचालन जो मेट्रो शैली क्षुधा में काम करता है पर कुछ संसाधन:

  • यहाँ एक sample यह प्रदर्शन है।
  • यहां एक blog post समझाया गया है।
  • यह इस विषय पर forum thread है।

    ऐप के बारे में कुछ भी नहीं है जो परंपरागत UI स्वचालन को सही ढंग से काम करने से रोकता है। मेट्रो स्टाइल ऐप्स देखने के लिए आपको अपडेट टूल्स मिलना पड़ सकता है। उपभोक्ता पूर्वावलोकन के साथ कुछ जहाज। Inspect.exe के लिए देखो।

+2

वैसे, inspect.exe c8 \ प्रोग्राम फ़ाइलों (x86) \ Windows किट \ 8.0 \ bin \ x86 के तहत Win8 RTM मशीन पर पाया जा सकता है –

2

यूआई ऑटोमेशन उपकरण मेट्रो अनुप्रयोगों को स्वचालित कर सकते हैं। उदाहरण के लिए RIATest देखें।

संस्करण 6.0 से RIATest में अनेक सुविधाओं को यह कहते हुए विशेष रूप से मेट्रो शैली आवेदन स्वचालन पर लक्षित कर रहे हैं, विशेष रूप से: आप एक साथ अपने मेट्रो आवेदन को देखने के लिए अनुमति देने के लिए मेट्रो यूआई के शीर्ष पर रहने के लिए

  • की क्षमता और मेट्रो एप्लिकेशन को स्वचालित करते समय सबसे अधिक आईडीई और डेस्कटॉप से ​​मेट्रो स्क्रीन पर स्विचिंग को कम करें।

  • देशी विंडोज जीयूआई तत्वों (मेट्रो जीयूआई समेत) पर किए गए कार्यों की रिकॉर्डिंग। रिकॉर्डर आपके स्क्रिप्ट कोड का विश्लेषण करता है और आपके वैरिएबल नामों को क्लीनर रिकॉर्ड की गई स्क्रिप्ट उत्पन्न करने के लिए पुन: उपयोग करता है जैसे कि आप एक स्वचालन स्क्रिप्ट को कैसे कोड करेंगे।

  • मेट्रो यूआई में विंडोज यूआई ऑटोमेशन कार्यान्वयन में bugs like this के लिए निर्बाध कामकाज।

अस्वीकरण: मैं Cogitek, RIATest कंपनी के लिए काम करते हैं।