2010-01-12 11 views
36

मैं एक पुस्तकालय की तलाश में हूं जिसका उपयोग मूल .NET कोड में किया जा सकता है, बस किसी भी .NET असेंबली की तरह। लाइब्रेरी का उद्देश्य विंडोज स्वचालित करना होगा (एक बटन दबाएं, एक विंडो का चयन करें, कुंजी भेजें, रिकॉर्ड & प्लेबैक, उस तरह की चीज़)।क्या अच्छा है, यदि कोई है, .NET विंडोज ऑटोमेशन लाइब्रेरी?

तो: लाइब्रेरी को .NET में मूल रूप से उपयोग किया जाना चाहिए, लेकिन स्वचालन स्वयं किसी भी देशी या .NET Windows अनुप्रयोग को लक्षित करने में सक्षम होना चाहिए जो उपयोगकर्ता इनपुट प्राप्त कर सकता है।


सुझाव अब तक:

  • benPearce suggested AutoIt। इसमें एक डीएलएल है, जो देशी Win32 है लेकिन मूल .NET नहीं है और .NET इंटरऑप के उपयोग के बिना इसका उपयोग नहीं किया जा सकता है।
  • Chris Dunaway suggested Global Mouse Keyboard Lib। यह निकटतम आया, लेकिन एक स्वचालन lib नहीं है। यह सिर्फ कीबोर्ड और माउस हुक सेट करने में मदद करता है।
  • pm100 suggested Microsoft's WPF UI Automation। यह बहुत अच्छा है, यद्यपि यह उपलब्ध नहीं है यदि आप .NET 2.0 में विकसित होते हैं और इसे सिस्टम पर WPF स्थापित करने की आवश्यकता होती है। हालांकि, यह ब्राउज़र में Win32 ऐप्स से HTML तक सबकुछ स्वचालित कर सकता है।
  • JasonTrue suggested WebAI from ArtOfTest। यह मुख्य रूप से ब्राउज़र और वेब अनुप्रयोगों के लिए तैयार एक परीक्षण ढांचा है। यह दुर्भाग्य से विंडोज स्वचालन के लिए उपयोग के लिए उपयुक्त नहीं है।

यदि कुछ और उपलब्ध नहीं दिखाई देता है, तो मैं शायद माइक्रोसॉफ्ट के यूआई ऑटोमेशन का चयन करूंगा और किसी भी परियोजना को अपग्रेड करूँगा जिसके लिए अभी भी .NET 2.0 से .NET 3.5 में संभव है। लेकिन मैं आशा करता हूं कि अधिक व्यापक रूप से लागू स्वचालन ढांचे (2.0 से पहले .NET को समर्थित होने की आवश्यकता नहीं है)।

उत्तर

9

क्या आपने the White framework पर देखा है?

+0

आपके उत्तर के लिए धन्यवाद। यह अच्छा लग रहा है और यह डब्ल्यूपीएफ के यूआई फ्रेमवर्क का उपयोग करने से दर्द दूर ले जाता है। हालांकि, इसमें डब्ल्यूपीएफ (उदाहरण के लिए WinForms से कहा जाता है) के रूप में एक ही कमी है, लेकिन यह अब तक का सबसे अच्छा समाधान है। – Abel

+0

यदि आपके पास बाहरी नियंत्रण भी हैं, तो आप यह सत्यापित करना चाहेंगे कि उन्हें व्हाइट के साथ स्वचालित किया जा सकता है: इस मामले में आप इस http://www.codeplex.com/UIAutomationVerify का उपयोग करना चाहेंगे। – tobsen

+1

कुछ विचारों के बाद मैंने आपका जवाब स्वीकार करने का फैसला किया। यह वही नहीं है जो मैं चाहता था (जब मैं व्हाइट या एमएस यूआई ऑटोमेशन शामिल करना चाहता हूं तो यह मुझे WPF का उपयोग करने के लिए सीमित करता है), लेकिन यह अब तक का सबसे अच्छा प्रस्ताव है। धन्यवाद! – Abel

8

Microsoft के अपने एक में बनाया ठीक

http://msdn.microsoft.com/en-us/library/ms747327.aspx

के रूप में कुछ सोचने के लिए लग रहे हैं wpf तक ही सीमित नहीं है।

+0

मैं इस नए विकास के बारे में पता नहीं था। निश्चित रूप से दिलचस्प है, लेकिन यह मुझे WPF करने के लिए नीचे ताला लगा देता है। ध्यान में रखते हुए मैं लगभग .NET 3.5+ विकास करता हूं (जब मैं .NET प्रोजेक्ट करता हूं, वह है) जो कि वास्तविक समस्या नहीं होनी चाहिए। – Abel

+0

मुझे नहीं लगता कि यह आपको WPF में लॉक करता है; यह विंडोज मानक यूआई ऑटोमेशन लाइब्रेरी है, और अभी डब्लूपीएफ के साथ काम करने के लिए होता है। यदि आपको डाउनलेवल काम करने की आवश्यकता है तो एमएस सक्रिय एक्सेसिबिलिटी आपका सबसे अच्छा विकल्प है। – JasonTrue

+0

wpf के साथ कुछ भी नहीं करना है। विंडोज़ – pm100

7

मैंने सफलता के साथ अतीत में AutoIt का उपयोग किया है।

+0

मुझे कुछ चाहिए जो दिखता है (और यह भी घंटी बजता है)। टीएक्स – Abel

+0

मुझे इसे मारो! :) हाँ, मैं कहूंगा कि ऑटोआईटीएक्स देखें, जो एक डीएलएल से ऑटोआईटी कार्यक्षमता का उपयोग करने का एक तरीका है। –

+0

चूंकि मैंने वास्तव में .NET lib के लिए कहा था: मैं imm नहीं हूं। देखें कि इसका उपयोग .NET के भीतर से कैसे किया जा सकता है। क्या आप या तो एक उदाहरण दिखा सकते हैं या किसी को इंगित कर सकते हैं कि इसे .NET से कैसे कहा जा सकता है? – Abel

1

मैं एक Silverlight अनुप्रयोग के लिए एकीकरण परीक्षण स्वचालित में सफलता का एक उचित डिग्री के साथ WebAii from ArtOfTest इस्तेमाल किया है। यह WinForms और वेब अनुप्रयोगों का भी समर्थन करता है।

सक्रिय यूटिलिटी के उत्तराधिकारी माइक्रोसॉफ्ट यूआई ऑटोमेशन, आपको आवश्यक सभी विंडोज़ यूआई ऑटोमेशन कर सकते हैं।

+0

सही अगर मैं गलत हूँ, BenPearce की AutoIt करने के लिए नीचे आता है लेकिन यह है कि ब्राउज़र- नहीं है स्वचालन? मैं वास्तव में विंडोज स्वचालन की तलाश में हूं।हालांकि, अन्य प्रकार की परियोजनाओं के लिए रखने के लिए दिलचस्प :) – Abel

+0

आप सही हैं, यह निश्चित रूप से उस डोमेन पर अधिक केंद्रित है, लेकिन यह Win32 नियंत्रण भी प्रकट करता है। माइक्रोसॉफ्ट यूआई ऑटोमेशन ज्यादातर स्वचालन के लिए काम करता है जिन्हें ब्राउज़र के साथ बातचीत करने की आवश्यकता नहीं है। http://en.wikipedia.org/wiki/Microsoft_UI_Automation – JasonTrue

2

This library बहुत दिलचस्प है और काफी सरल है। शायद यह आपकी मदद करेगा।

+0

यह निश्चित रूप से दिलचस्प है! वास्तव में एक स्वचालन lib नहीं है, लेकिन यह निश्चित रूप से उपयोग करने योग्य है और उस कार्य के लिए ऐसा लगता है। मैं इसे गहराई से देखूंगा। – Abel

1

CSharpScript के बारे में, यहां कोडप्रोजेक्ट पर इसके बारे में article है, और यहां मुख्य वेबसाइट पर link है। इसके अलावा, यह परिचित सी # है, लिखित जिसका उपयोग कुछ भी स्वचालित करने के लिए किया जा सकता है।

उम्मीद है कि यह मदद करता है, सर्वश्रेष्ठ संबंध, टॉम।

+0

यह एक आशाजनक प्रोजेक्ट की तरह दिखता है जिसमें इसकी योग्यता है, लेकिन एक स्क्रिप्टिंग भाषा होने के नाते, इसे "किसी भी" विंडोज एप्लिकेशन के स्वचालन के लिए कैसे लागू किया जा सकता है? – Abel

+0

मैं इसे एक स्क्रिप्टिंग भाषा के रूप में परिभाषित नहीं करता हूं, सी # कोड को अपने स्क्रिप्ट में प्रोग्राम के रूप में इस्तेमाल किया जा सकता है, अगर आप विंडोज स्क्रिप्टिंग होस्ट के बारे में सोचते हैं, या यहां तक ​​कि ऑटोआईट भी, कोड में पी/इनवॉक का उपयोग करते हैं, यह इसकी लचीलापन है। – t0mm13b

2

आप इसे अभी तक नहीं देखा है, और एक व्यावसायिक पुस्तकालय स्वीकार्य है, तो आप बाहर की जाँच कर सकते Ranorex:

http://www.ranorex.com/

मैं Ranorex 1.5 काफ़ी इस्तेमाल किया छोटे सी # यूआई स्वचालन उपयोगिताओं लिखने के लिए। यह बहुत प्रभावी था! एमएस यूआई ऑटोमेशन एपीआई का उपयोग सीधे तुलना में तेजी से लग रहा था, क्योंकि रैनोरैक्स में पहले से ही बहुत उपयोगी सुविधा विधियां उपलब्ध हैं।

मैं हालांकि बहुत ज्यादा अभी तक Ranorex 2 उपयोग नहीं किया है,।

Ranorex 1.5 में, वहाँ भी था सी ++ में पारंपरिक Win32 विकास के लिए समर्थन करते हैं, लेकिन मैं इसे का उपयोग नहीं किया। जहाँ तक मुझे पता है, कि Ranorex 2.

के बाद से मुझे लगता है कि सुविधा का इस्तेमाल कभी नहीं रहा Ranorex में रिकॉर्ड/प्लेबैक समर्थन की गुणवत्ता के लिए नहीं बोल सकता में अभी भी उपलब्ध है।

एक अंतिम प्लस: उनके समर्थन टीम मैं उन्हें ईमेल किया वास्तव में संवेदनशील और उपयोगी किसी भी समय था।

संबंधित मुद्दे