introduction sikuli gui automation tool sikuli tutorial 1
हमेशा की तरह हम अपने पाठकों के लिए सीखने के लिए नई चीजों को लाने की कोशिश करते हैं। आज एक दिलचस्प GUI स्वचालन उपकरण का पता लगाएं - सिकुली।
वाईफ़ाई के लिए सुरक्षा कुंजी क्या है
सिकली ग्राफिकल यूजर इंटरफेस (जीयूआई) ऑटोमेशन टूल का उपयोग करके 'जो कुछ भी आप देखते हैं उसे स्वचालित करें' - शुरुआती शुरुआती गाइड के लिए जल्दी से सेट और सिकुली स्क्रिप्ट टूल का उपयोग करना शुरू करें इन-इन-सिक्युलिटी ट्यूटोरियल के साथ।
GUI तत्वों की पहचान करने के लिए छवि पहचान विधि का उपयोग करके सिकली आपके द्वारा स्क्रीन पर दिखाई देने वाली किसी भी चीज़ को स्वचालित करता है। सिकुली स्क्रिप्ट उपयोगकर्ताओं को स्क्रीनशॉट का उपयोग करके GUI इंटरैक्शन को स्वचालित करने की अनुमति देती है।
इस सिकुली श्रृंखला में ट्यूटोरियल की सूची
हमने इस श्रृंखला को 3 भागों में विभाजित किया है:
ट्यूटोरियल # 1: यह कैसे काम करता है, एक सरल सिकुली प्रोजेक्ट कैसे बनाएं।
ट्यूटोरियल # 2: कैसे सिकुली जा सकती है सेलेनियम वेब ड्राइवर के साथ वेबपेजों को स्वचालित करने के लिए।
ट्यूटोरियल # 3: सिकली टूल का उपयोग करके फ्लैश आधारित एप्लिकेशन को स्वचालित करना
आप क्या सीखेंगे:
सिकुली GUI ऑटोमेशन टूल
आइए इस श्रृंखला के पहले भाग से शुरुआत करें।
सिकुली 'विज़ुअल इमेज मैच' पद्धति का उपयोग करके ग्राफिकल यूजर इंटरफेस (GUI) को स्वचालित करने के लिए एक उपकरण है। सिकुली में, सभी वेब तत्वों को एक छवि के रूप में लिया जाना चाहिए और परियोजना के अंदर संग्रहीत किया जाना चाहिए। सिचुली छवि दृश्य मिलान के आधार पर GUI इंटरैक्शन को ट्रिगर करेगा, जिस छवि को हमने सभी विधियों के साथ पैरामीटर के रूप में पारित किया है।
सिकुली फ़्लैश ऑब्जेक्ट्स को स्वचालित करने के लिए बहुत उपयोगी हो सकती है (जिसमें आईडी या नाम नहीं है)। यह उस स्थिति में उपयोगी हो सकता है, जहां हमारे पास एक स्थिर GUI (यानी GUI घटक नहीं बदल रहा है)।
यहां तक कि विंडो आधारित एप्लिकेशन को सिकुली का उपयोग करके भी स्वचालित किया जा सकता है। सिकुली बहुत ही अनुकूल सिचुली-स्क्रिप्ट.जर प्रदान करता है, जिसे सेलेनियम वेबड्राइवर के साथ आसानी से इस्तेमाल किया जा सकता है। हम सिचुली का उपयोग करके वेबसाइट पर एडोब वीडियो / ऑडियो प्लेयर, फ्लैश गेम्स को भी स्वचालित कर सकते हैं। साधारण एपीआई के साथ, यह कोडिंग को आसान बनाता है।
व्यावहारिक उपयोग
- सिकुली का उपयोग फ्लैश ऑब्जेक्ट / फ्लैश वेबसाइट को स्वचालित करने के लिए किया जा सकता है।
- यह विंडो आधारित एप्लिकेशन को स्वचालित करने के लिए उपयोगी हो सकता है। हम स्वचालित कर सकते हैं, जो हम स्क्रीन पर देख रहे हैं।
- यह सरल एपीआई प्रदान करता है। यानी सभी तरीकों को स्क्रीन क्लास ऑब्जेक्ट का उपयोग करके एक्सेस किया जा सकता है।
- इसे सेलेनियम और अन्य सभी उपकरणों के साथ आसानी से एकीकृत किया जा सकता है।
- सिकुली का उपयोग करके हम डेस्कटॉप अनुप्रयोगों को स्वचालित कर सकते हैं।
- अधिकांश स्वचालन परीक्षण उपकरण फ्लैश-ऑब्जेक्ट स्वचालन (जैसे सेलेनियम) का समर्थन नहीं करेंगे। सिकुली फ्लैश वस्तुओं को स्वचालित करने के लिए व्यापक समर्थन प्रदान करता है।
- यह डेस्कटॉप और फ्लैश ऑब्जेक्ट को स्वचालित करने के लिए एक शक्तिशाली 'विज़ुअल मैच' तंत्र का उपयोग करता है।
लाभ
- ओपन-सोर्स टूल।
- सिकुली का एक सबसे बड़ा लाभ यह है कि यह आसानी से फ्लैश ऑब्जेक्ट को स्वचालित कर सकता है।
- यह विंडोज़ एप्लिकेशन को स्वचालित करना आसान बनाता है।
- जब आप विकास के तहत किसी एप्लिकेशन का परीक्षण कर रहे हैं और आप तत्वों के आईडी / नाम को नहीं जानते हैं, तो आप सिकुली के साथ जा सकते हैं। यह छवि की उपस्थिति की जांच करेगा और यदि मैच मिला, तो यह तदनुसार छवि के साथ बातचीत करेगा।
आवश्यक शर्तें:
आरंभ करने से पहले, हमें निम्नलिखित सॉफ़्टवेयर को डाउनलोड और इंस्टॉल करना होगा:
- किसी भी स्क्रीनशॉट कैप्चरिंग टूल ( उदाहरण के लिए, DuckCapture , या qSnap )
- JDK
- ग्रहण (विस्तृत चरण) यहां JDK और ग्रहण स्थापित करने के लिए)
सिकली जावा प्रोजेक्ट बनाने के चरण
चरण # 1: सिकली डाउनलोड - से सिकली डाउनलोड करें यहां ।
चरण 2: वह ज़िप फ़ाइल निकालें, जिसे आपने डाउनलोड किया है। इसमें सिकली-स्क्रिप्ट.जर फाइल होगी। इस निकाले गए फ़ाइल को अपने स्थानीय फ़ाइल सिस्टम में सहेजें।
चरण 3: ग्रहण खोलें।
चरण 4: जावा प्रोजेक्ट बनाएं -> नया -> जावा प्रोजेक्ट
चरण # 5:
- प्रोजेक्ट पर राइट क्लिक करें
- बिल्ड पाथ पर जाएं-> बिल्ड पाथ को कॉन्फ़िगर करें
- लाइब्रेरी टैब पर जाएं
- बिल्ड पथ में 'बाहरी जार जोड़ें' बटन पर क्लिक करें और सिकुली-स्क्रिप्ट.जर जोड़ें।
- ओके पर क्लिक करें'
सिकली-स्क्रिप्ट.जर को आपके प्रोजेक्ट बिल्ड पथ में जोड़ा जाएगा। हो गया। अब आप इस प्रोजेक्ट के अंदर सिकुली स्क्रिप्ट लिखना शुरू कर सकते हैं।
कुछ सिकुली विधियाँ
# 1) स्क्रीन क्लास के लिए ऑब्जेक्ट बनाना
स्क्रीन सिकुली द्वारा प्रदान की गई एक बेस क्लास है। हमें पहले इस स्क्रीन क्लास के लिए एक ऑब्जेक्ट बनाने की आवश्यकता है, उसके बाद ही हम सिकुली द्वारा प्रदान की गई सभी विधियों तक पहुंच सकते हैं।
वाक्य - विन्यास:
स्क्रीन s = नई स्क्रीन ();
# 2) एक तत्व पर क्लिक करें
इस पद्धति का उपयोग स्क्रीन पर मौजूद विशिष्ट छवि पर क्लिक करने के लिए किया जाता है।
वाक्य - विन्यास:
s.click ('<>”;
उदाहरण के लिए,
s.click ('test.png');
# 3) एक तत्व पर राइट क्लिक करें
इस पद्धति का उपयोग स्क्रीन पर मौजूद विशिष्ट छवि पर राइट-क्लिक करने के लिए किया जाता है।
वाक्य - विन्यास:
s.rightClick ('<>”;
उदाहरण के लिए,
s.rightClick ('test.png');
# 4) एक तत्व खोजें
यह विधि स्क्रीन पर मौजूद एक विशिष्ट तत्व को खोजने के लिए उपयोग की जाती है।
वाक्य - विन्यास:
s.find ('<>”;
उदाहरण के लिए,
s.find ('test.png');
# 5) एक तत्व पर डबल क्लिक करें
इस पद्धति का उपयोग स्क्रीन पर मौजूद एक विशिष्ट छवि पर एक डबल क्लिक इवेंट को ट्रिगर करने के लिए किया जाता है।
वाक्य - विन्यास:
s.doubleClick ('<>”;
आईपी पते को छिपाने के लिए सबसे अच्छा कार्यक्रम
उदाहरण के लिए,
s.doubleClick ('test.png');
# 6) जांचें कि क्या कोई तत्व स्क्रीन पर मौजूद है
इस पद्धति का उपयोग यह जांचने के लिए किया जाता है कि स्क्रीन पर निर्दिष्ट तत्व मौजूद है या नहीं।
वाक्य - विन्यास:
s.exists ('<>”;
उदाहरण के लिए,
s.exists ('test.png');
# 7) एक टेक्स्टबॉक्स पर एक स्ट्रिंग टाइप करें
इस पद्धति का उपयोग पाठ बॉक्स पर निर्दिष्ट पाठ दर्ज करने के लिए किया जाता है।
वाक्य - विन्यास:
s.type ('<>',' स्ट्रिंग टाइप होने के लिए ');
उदाहरण के लिए,
s.type ('test.png', 'HI !!');
# 8) एक विशेष छवि पर व्हीलिंग
इस विधि का उपयोग तत्व छवि पर व्हीलिंग क्रिया करने के लिए किया जाता है।
वाक्य - विन्यास:
s.wheel ('<>”,<>,<>);
उदाहरण के लिए,
s.wheel ('test.png', 25,0);
# 9) एक छवि / तत्व खींचें और छोड़ें
इस पोजिशन का इस्तेमाल किसी खास इमेज को सोर्स पोजिशन से टारगेट पोजिशन पर खींचने और छोड़ने के लिए किया जाता है।
वाक्य - विन्यास:
s.dragDrop ('<>','<>”;
उदाहरण के लिए,
s.dragDrop ('test.png', 'test1.png');
# 10) एक विशेष छवि पर रोल हॉवर
निर्दिष्ट छवि पर रोल हॉवर ईवेंट करने के लिए इस पद्धति का उपयोग किया जाता है।
वाक्य - विन्यास:
s.hover ('<>”;
उदाहरण के लिए,
s.hover ('test.png');
# 11) पेस्ट कॉपी किया हुआ स्ट्रिंग
यह विधि निर्दिष्ट टेक्स्टबॉक्स पर पाठ चिपकाने के लिए उपयोग की जाती है।
वाक्य - विन्यास:
s.paste ('<>','परीक्षा');
उदाहरण के लिए,
s.paste ('test.png', 'test');
सिकुली उदाहरण
# 1) YouTube वीडियो - वीडियो को रोकें और चलाएं
चरण 1) एक YouTube वीडियो लिंक खोलें और प्ले कैप्चर करें और स्क्रीन कैप्चर टूल का उपयोग करके तत्वों की छवियों को रोकें।
बटन रोकें ( ध्यान दें: फ़ाइल नाम pause.png है)
खेलने का बटन ( ध्यान दें: फ़ाइल नाम play.png है)
इन छवियों को प्रोजेक्ट के अंदर कॉपी करें।
चरण 2) सिकली जावा परियोजना के अंदर एक पैकेज बनाएं और उसके भीतर 'Youtube' नामक एक वर्ग बनाएं।
चरण 3) उस क्लास के अंदर निम्न कोड टाइप करें।
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class Youtube { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('pause.png'); //identify pause button s.click('pause.png'); //click pause button System.out.println('pause button clicked'); s.find('play.png'); //identify play button s.click('play.png'); //click play button } }
कदम # 4) वर्ग पर राइट-क्लिक करें रन ऐस>> जावा एप्लिकेशन।
# 2) नोटपैड खोलें और कुछ टेक्स्ट टाइप करें
कदम # 1) स्क्रीन पर डेस्कटॉप पर नोटपैड आइकन कैप्चर करें।
notepad_icon.png
सबसे अच्छा मुफ्त संगीत डाउनलोडर app क्या है
notepad.png
कदम # दो) इन छवियों को अपने प्रोजेक्ट के अंदर कॉपी करें।
चरण 3) अपनी परियोजना के अंदर 'NotepadExample' नामक एक क्लास बनाएं और निम्नलिखित कोड टाइप करें।
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class NotepadExample { public static void main(String() args) throws FindFailed { // TODO Auto-generated method stub Screen s=new Screen(); s.click('notepad_icon.png'); s.find('notepad.png'); s.type('notepad.png','This is Nice Sikuli Tutorial!!!!'); } }
चरण 4) कोड निष्पादित करने से पहले जांच की जाने वाली स्क्रीन खोलें।
इस फाइल को राइट क्लिक रन एज़>> जावा एप्लिकेशन द्वारा निष्पादित करें।
# 3) ड्रैग एंड ड्रॉप
चरण 1) स्क्रीन पर आवश्यक वस्तुओं का स्क्रीनशॉट लें, और इसे अपने सिकुली प्रोजेक्ट के अंदर डालें।
( ध्यान दें: यहाँ, डाउनलोड आइकन 'source.png' है और फूलों की छवि 'डेस्टिनेशन' है।)
कदम # दो) इन चित्रों को अपने प्रोजेक्ट के अंदर रखें।
कदम # 3) 'DragAndDrop' नाम के साथ एक वर्ग बनाएं और निम्नलिखित कोड लिखें।
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class DragAndDrop { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('source.png'); System.out.println('Source image found'); s.find('target.png'); System.out.println('target image found'); s.dragDrop('source.png', 'target.png'); } }
कदम # 4) राइट-क्लिक करके इस स्क्रिप्ट को निष्पादित करें -> जावा एप्लिकेशन।
इस स्क्रिप्ट के निष्पादन के बाद, डाउनलोड आइकन को खींच लिया जाएगा और छवि पर गिरा दिया जाएगा, लक्ष्य के रूप में इंगित किया जाएगा।
निष्पादन से पहले:
निष्पादन के बाद:
इस उपकरण की कमियां
- हम आपको आश्वस्त नहीं कर सकते कि छवि मिलान हमेशा सटीक होगा। कभी-कभी, यदि स्क्रीन पर दो या अधिक समान चित्र उपलब्ध हैं, तो सिकली गलत छवि का चयन करने का प्रयास करेगा।
- और अगर छवि का आकार पिक्सेल आकार में भिन्न होता है, तो यह 'फाइंड फ़ेल' अपवाद के परिणामस्वरूप भी होगा।
- बहुत सारे स्क्रीनशॉट लेने का ओवरहेड।
- यदि स्क्रीनशॉट में से कोई भी गायब है, तो यह कार्यक्रम के निष्पादन को प्रभावित करेगा।
और अधिक संसाधनों:
निष्कर्ष
फ़्लैश ऑब्जेक्ट्स को स्वचालित करने में सिकुली बहुत उपयोगी है। इसका उपयोग विंडो-आधारित एप्लिकेशन को स्वचालित करने के लिए किया जा सकता है। यह एक स्क्रीन पर तत्वों के साथ खेलने के लिए उनके दृश्यों के आधार पर एक महान उपकरण है।
लेखक के बारे में: यह एक अतिथि पोस्ट है, जिसे अनीता ईश्वरी ने लिखा है। वह वर्तमान में एक वरिष्ठ परीक्षण इंजीनियर के रूप में काम कर रही है, जिसे मैनुअल और ऑटोमेशन टेस्टिंग और विभिन्न टेस्ट मैनेजमेंट टूल्स का ज्ञान है।
अगला ट्यूटोरियल : इस सीरीज़ के अगले भाग में सिकली मावेन प्रोजेक्ट बनाने और सेलेनियम को सिचुली के साथ कैसे एकीकृत किया जाए, इस पर गहरी नज़र है।
पहले से ही इस टूल का उपयोग कर रहे हैं? कृपया अपने अनुभव और सुझाव साझा करें। यदि आप आरंभ करना चाहते हैं, लेकिन प्रश्न पूछना चाहते हैं तो हमें बताएं।
अनुशंसित पाठ
- सिकली जीयूआई ऑटोमेशन टेस्टिंग टूल - बिगिनर्स गाइड पार्ट # 2
- जीयूआई परीक्षण स्वचालन के लिए 30 सर्वश्रेष्ठ जीयूआई परीक्षण उपकरण (2021 सूची)
- SeeTest ऑटोमेशन ट्यूटोरियल: मोबाइल टेस्ट ऑटोमेशन टूल गाइड
- लर्निंग बेसिक्स ऑफ़ रेशनल रोबोट - आईबीएम टेस्ट ऑटोमेशन टूल
- Geb Tutorial - Geb टूल का उपयोग करके ब्राउज़र ऑटोमेशन परीक्षण
- परीक्षकों के लिए उपयोगी नि: शुल्क स्क्रीन कैप्चर और एनोटेटर टूल - qSnap समीक्षा
- Katalon Studio Tutorial: एक नि: शुल्क टेस्ट ऑटोमेशन टूल जिसका आपको इंतजार है
- सिकली टूल का उपयोग करके फ्लैश आधारित एप्लिकेशन को स्वचालित करना