2011-01-20 22 views
18

मैं ऐसे सॉफ़्टवेयर की तलाश में हूं जो स्क्रीनशॉट लेने की क्षमताओं के साथ मैक्रो रिकॉर्डिंग को जोड़ती है।स्वचालित रूप से प्रोग्राम विंडो के स्क्रीनशॉट ले रहे हैं

हमारे पास कई स्क्रीनशॉट के साथ एक सॉफ्टवेयर मैनुअल है। जब सॉफ़्टवेयर का नया संस्करण जारी किया जाता है तो हमें अधिकांश स्क्रीनशॉट अपडेट करने की आवश्यकता होती है और हमें इसे मैन्युअल रूप से करना होगा। अब हमने मैन्युअल रूप से कई भाषाओं में अनुवाद करना शुरू किया है और दस गुना बढ़ने के लिए स्क्रीनशॉट की संख्या शुरू कर दी है। हम इस प्रक्रिया को स्वचालित करना चाहते हैं।

एक रिकॉर्ड किया गया मैक्रो या कुछ ऐसा होगा जो हमारे सॉफ़्टवेयर के भीतर बटन क्लिक करता है और प्रोग्राम विंडो के स्क्रीनशॉट लेता है। बेहतर अभी तक, हम अलग-अलग स्क्रीनशॉट का नाम अलग-अलग निर्दिष्ट कर सकते हैं हालांकि यह कम महत्वपूर्ण है।

क्या ऐसी कोई चीज मौजूद है?

+0

मैं आपको सलाह देता हूं कि आप इस विशिष्ट परिदृश्य में माइक्रोसॉफ्ट यूआई ऑटोमेशन एपीआई को लक्षित करें, क्योंकि आपके पास पूर्ण स्रोत कोड हैं और आपके संगठन में एपिकेशन लाइफसाइकिल का समर्थन है। आपको कस्टम ऑटोमेशन प्रदाता का उपयोग करके, कस्टम ऑटोमेशन प्रदाता का उपयोग करके यूआई स्क्रिप्ट रिकॉर्ड करने की आवश्यकता है, जो यूआई ऑटोमेशन को रिकॉर्ड और प्लेबैक करने में सक्षम है, फिर आप अपने कस्टम व्यवहार को स्क्रीन शॉट्स जैसे जोड़ सकते हैं, क्योंकि ऑटोमेशन एपीआई को प्रोग्रामिंग के यूआई का आकलन करने के 3 तरीके हैं: ऑटोमेशन आईडी द्वारा, स्क्रीन का उपयोग करके अंक (माउस क्लिक), और दृश्य पेड़ आइटम (यूआई ट्रैवर्सल)। –

उत्तर

3

मैं अपने सभी विंडोज़ जीयूआई स्वचालन कार्यों के लिए AutoIt प्लस captdll.dll का उपयोग करता हूं।

उदाहरण:

Run("Notepad.exe", @WindowsDir, @SW_MAXIMIZE) ; Open NOTEPAD 
Sleep(1000) 
Send("Just a Test") ; Send some text to notepad 

; Save the screen to test.jpg 
$anPos = WinGetClientSize("") 
$nLeft = 0 
$nTop = 0 
$nRight = $anPos[0] 
$nBottom = $anPos[1] 

$sFileName = "test.jpg" 
DllCall("captdll.dll", "int:cdecl", "CaptureScreen", "str", $sFileName, "int", 85) 

इस तरह से आप पूरे स्क्रीनशॉट पर कब्जा करने की प्रक्रिया को स्वचालित कर सकते हैं:

  • भागो
  • के साथ अपने आवेदन शुरू चयन के साथ अपने मेनू विकल्पों में से प्रत्येक भेजें
  • पूरा प्रत्येक स्क्रीन का डेटा भी भेजें
  • डेलकॉल ("कैप्डेल) के साथ कैप्चर करें। dll "....)

तुम भी सशर्त तर्क, पाश, आदि जोड़ सकते हैं

2

हां। आप स्वचालित परीक्षण सॉफ्टवेयर चाहते हैं, जो यह सब कर सकता है और आपके उत्पाद का परीक्षण भी कर सकता है।

http://en.wikipedia.org/wiki/List_of_GUI_testing_tools

+0

बहुत कुछ इस बात पर निर्भर करता है कि आप किस टूल्स का उपयोग कर रहे हैं। टूल्स मौजूद हैं जिन्हें पर्ल, जावा, सी #, वीबी और जावास्क्रिप्ट से रूबी में सब कुछ में प्रोग्राम किया जा सकता है। उदाहरण के लिए ऑटोआईट पर विचार करें, जैसा कि इस प्रश्न में है: http://stackoverflow.com/questions/370673/taking-screenshots-of-an-plication-using-wsh-script – Ben

+0

बेन, मुझे जीयूआई परीक्षण उपकरण के बारे में पता है। मेरा सवाल परीक्षण के बारे में नहीं है हालांकि यह करीब आता है। सवाल यह है कि कौन सा सॉफ्टवेयर विंडोज सॉफ्टवेयर के माध्यम से चल सकता है और प्रोग्राम विंडो के स्क्रीनशॉट ले सकता है। –

+0

आपको पहले मंच का उल्लेख करना चाहिए था। मैं xmacro का उल्लेख करने वाला था ... – Quaternion

2

Testing Anywhere कार्यक्षमता आप की जरूरत है लगता है। उनकी वेबसाइट से कुछ शब्द:

"शक्तिशाली जीयूआई आधारित रिकॉर्डिंग क्षमताओं और नो-प्रोग्रामिंग की आवश्यकता यूजर इंटरफेस परीक्षकों जल्दी से भी जटिल परीक्षण मामलों स्थापित करने के लिए अनुमति देता है" ...

"दृश्य लॉग रिपोर्ट: परीक्षण कहीं भी है शक्तिशाली विजुअलाइज़ विकल्प रनटाइम के दौरान दृश्य लॉग बनाने के लिए स्क्रीनशॉट लेता है। " इस तरह के Jitbit Macro Recorder कि चलो तुम वापस दर्ज की गई नाटक मैक्रो के (कीबोर्ड और माउस) और फिर स्क्रीनशॉट बनाने के लिए मैक्रो में Shift-PrintScreen कुंजी का उपयोग के रूप में (सस्ता!) (see here)

तुम भी अधिक सरल कुछ और कोशिश कर सकते। इसमें एक मैक्रो स्क्रिप्ट संपादक भी है।

2

यदि यह एक वेबपैप है तो आप Selenium का उपयोग कर सकते हैं। वहाँ के लिए दृश्य स्टूडियो के नाम से टेस्ट स्वचालन FX एक समान उपकरण है

2

Yoiu मौजूदा Windows Automation API : UI Automation, MSDN प्रलेखीकरण

भागो समय आवश्यकताओं

यूआई स्वचालन निम्नलिखित ऑपरेटिंग सिस्टम पर समर्थित है इस पर गौर कर सकते हैं: विंडोज एक्सपी, विंडोज सर्वर 2003, विंडोज सर्वर 2003 आर 2, विंडोज विस्टा, विंडोज 7, विंडोज सर्वर 2008, और विंडोज सर्वर 2008 आर 2।

सरल परीक्षण स्क्रिप्ट से मजबूत रिकॉर्ड और प्लेबैक उपयोगिताओं तक क्लाइंट अनुप्रयोगों को उन तत्वों तक पहुंच की आवश्यकता हो सकती है जो वर्तमान में तत्काल नहीं हैं, जैसे फ़ाइल खोलने वाला संवाद या मेनू आइटम और इसलिए यूआई ऑटोमेशन पेड़ में मौजूद नहीं है। इन तत्वों को केवल ऑटोमेशन, नियंत्रण पैटर्न और ईवेंट श्रोताओं जैसे UI ऑटोमेशन गुणों के उपयोग के माध्यम से उपयोगकर्ता इंटरफ़ेस (UI) क्रियाओं का एक विशिष्ट अनुक्रम पुन: उत्पन्न करके, या "वापस खेलना" द्वारा तत्काल किया जा सकता है। उपयोगकर्ता इंटरफ़ेस (UI) के साथ उपयोगकर्ता इंटरैक्शन के आधार पर परीक्षण स्क्रिप्ट उत्पन्न करने के लिए Microsoft UI ऑटोमेशन का उपयोग करने वाले उदाहरण के लिए Test Script Generator Sample देखें।

आप मौजूदा विजुअल स्टूडियो प्रोजेक्ट के अंदर AutomationIdProperty का उपयोग कर सकते हैं।

कार्यान्वयन यूआई टेस्ट आवेदन

  • में स्वचालन यूआई स्वचालन संदर्भ जोड़ें।

UI ऑटोमेशन क्लाइंट के लिए यूआई ऑटोमेशन डीएल आवश्यक है।

UIAutomationClient.dll UI ऑटोमेशन क्लाइंट-साइड एपीआई तक पहुंच प्रदान करता है।

UIAutomationClientSideProvider.dll Win32 नियंत्रण स्वचालित करने की क्षमता प्रदान करता है। मानक नियंत्रण के लिए यूआई ऑटोमेशन समर्थन देखें।

UIAutomationTypes.dll UI ऑटोमेशन में परिभाषित विशिष्ट प्रकारों तक पहुंच प्रदान करता है।

  • सिस्टम जोड़ें। Windows.Automation नामस्थान।

इस नेमस्पेस में सबकुछ यूआई ऑटोमेशन क्लाइंट को टेक्स्ट हैंडलिंग को छोड़कर यूआई ऑटोमेशन की क्षमताओं का उपयोग करने की आवश्यकता है।

  • सिस्टम जोड़ें। Windows.Automation.Text नामस्थान।

इस नेमस्पेस में यूआई ऑटोमेशन क्लाइंट को यूआई ऑटोमेशन टेक्स्ट हैंडलिंग की क्षमताओं का उपयोग करने की आवश्यकता है।

  • ब्याज की खोज नियंत्रण

स्वचालित परीक्षण स्क्रिप्ट यूआई स्वचालन तत्वों कि स्वचालन वृक्ष के भीतर ब्याज की नियंत्रण प्रतिनिधित्व करते हैं खोजें।

कोड के साथ यूआई ऑटोमेशन तत्व प्राप्त करने के कई तरीके हैं।

एक कंडीशन स्टेटमेंट का उपयोग कर यूआई क्वेरी करें। यह आम तौर पर भाषा-तटस्थ स्वचालन IdProperty का उपयोग किया जाता है। नोट एक AutomationIdProperty को UISpy.exe (UI Spy) जैसे टूल का उपयोग करके प्राप्त किया जा सकता है जो नियंत्रण के UI स्वचालन गुणों को आइटम करने में सक्षम है।

पूरे यूआई स्वचालन पेड़ या इसके उप-समूह को पार करने के लिए TreeWalker कक्षा का उपयोग करें।

ट्रैक फोकस।

नियंत्रण के एचडब्ल्यूएनडी का उपयोग करें।

माउस कर्सर के स्थान जैसे स्क्रीन स्थान का उपयोग करें।

देखें Obtaining UI Automation Elements

  • नियंत्रण पैटर्न प्राप्त

नियंत्रण पैटर्न कार्यात्मक समान नियंत्रण के लिए सामान्य व्यवहार को बेनकाब।

नियंत्रण है कि परीक्षण की आवश्यकता लगाने के बाद, स्वचालित परीक्षण स्क्रिप्ट उन यूआई स्वचालन तत्वों से ब्याज के नियंत्रण पैटर्न प्राप्त करते हैं। उदाहरण के लिए, सामान्य कार्यक्षमता के लिए InvokePattern नियंत्रण पैटर्न या विंडो कार्यक्षमता के लिए WindowPattern नियंत्रण पैटर्न।

यूआई स्वचालन नियंत्रण पैटर्न अवलोकन देखें।

  • यूआई

स्वचालित परीक्षण स्क्रिप्ट को स्वचालित अब जानकारी और कार्यक्षमता यूआई स्वचालन नियंत्रण पैटर्न द्वारा उजागर का उपयोग कर एक यूआई ढांचे से ब्याज की किसी भी यूआई नियंत्रित कर सकते हैं।

संबंधित उपकरण और प्रौद्योगिकी

संबंधित उपकरणों और प्रौद्योगिकियों कि यूआई स्वचालन के साथ परीक्षण स्वचालित समर्थन की एक संख्या हैं।

UISpy.exe (UI Spy) एक ग्राफिकल यूजर इंटरफेस (जीयूआई) एप्लीकेशन है जिसका उपयोग प्रदाता और क्लाइंट विकास और डिबगिंग दोनों के लिए यूआई ऑटोमेशन जानकारी एकत्र करने के लिए किया जा सकता है। यूआई जासूस विंडोज सॉफ्टवेयर डेवलपमेंट किट (एसडीके) में शामिल है।

UIAutoCmd यूआई जासूस के समान क्षमताओं के साथ एक कमांड लाइन उपकरण है।

एमएसएएब्रिज सक्रिय पहुंच क्षमता ग्राहकों को यूआई स्वचालन जानकारी का खुलासा करता है। सक्रिय पहुंच के लिए यूआई ऑटोमेशन को ब्रिजिंग का प्राथमिक लक्ष्य मौजूदा सक्रिय एक्सेसिबिलिटी क्लाइंट को यूआई ऑटोमेशन लागू करने वाले किसी भी ढांचे के साथ बातचीत करने की क्षमता प्रदान करना है। सुरक्षा

सुरक्षा जानकारी के लिए, यूआई स्वचालन सुरक्षा अवलोकन देखें।

2

मैं कई और एक कि वास्तव में, बाहर खड़ा है मेरी राय में की कोशिश की है, Adobe (formerly Macromedia) Captivate है। यह अत्याचारी महंगा है (~ 800 $) लेकिन हर पैसा लायक है।

ट्यूटोरियल बनाना आदि घंटों के बजाय मिनट लेता है।

0

मैं मुक्त स्रोत उपकरण Sikuli का प्रयोग करेंगे। बहुत सीधे आगे स्क्रिप्टिंग भाषा या आप अपनी कक्षाओं का उपयोग कर सकते हैं और अपना खुद का जावा कोड लिख सकते हैं। http://sikuli.org/docx/screen.html#capturing

बोनस है कि यह विंडोज, लिनक्स और मैक पर समर्थित है है:

यहाँ स्क्रीन का एक हिस्सा हड़पने के लिए प्रलेखन है!

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

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