testproject python sdk tutorial
टेस्टप्रोजेक्ट पायथन एसडीके ट्यूटोरियल: सुपरचार्ज योर एग्जिस्टिंग सेलेनियम और एपियम आधारित टेस्टयह ट्यूटोरियल आपको टेस्टप्रोजेक्ट पायथन एसडीके के साथ आरंभ करने में मदद करेगा। SDK की सबसे शक्तिशाली विशेषताओं को स्थापित, कॉन्फ़िगर और उपयोग करना सीखें:
सेलेनियम और ऐपियम डेस्कटॉप ब्राउज़रों के लिए सबसे लोकप्रिय ओपन-सोर्स टेस्टिंग फ्रेमवर्क और वर्षों से मोबाइल-आधारित परीक्षण के बीच रहे हैं।
टेस्टप्रोजेक्ट पायथन एसडीके इन उपकरणों पर बनाता है और वे आपको टेस्टप्रोजेक्ट प्लेटफॉर्म की शक्ति प्रदान करते हैं, जिससे आपको अपने रिपोर्टिंग प्लेटफॉर्म, स्वचालित ब्राउज़र का पता लगाने, ड्राइवर कॉन्फ़िगरेशन, और बहुत कुछ पर सुंदर HTML और पीडीएफ रिपोर्ट मिलती है।
और सबसे अच्छी बात यह है कि TestProject प्लेटफॉर्म और SDK का उपयोग पूरी तरह से, हमेशा के लिए मुफ्त है। एसडीके एक खुला स्रोत है, इसलिए, यदि आप परियोजना में योगदान करना चाहते हैं, तो आप कर सकते हैं!
आप क्या सीखेंगे:
टेस्टप्रोजेक्ट पायथन एसडीके क्या है?
इस ट्यूटोरियल में, आप देखेंगे कि टेस्टप्रोजेक्ट पायथन एसडीके के साथ शुरुआत कैसे करें, अपने मौजूदा सेलेनियम और एपियम आधारित परीक्षणों के साथ टेस्टप्रोजेक्ट प्लेटफॉर्म का लाभ कैसे उठाएं, साथ ही साथ एसडीके के सबसे शक्तिशाली विशेषताओं में से कुछ का उपयोग कैसे करें।
ध्यान दें : क्या आपके परीक्षण पायथन के अलावा अन्य भाषा में लिखे गए हैं? चिंता करने की ज़रूरत नहीं है, TestProject निकट भविष्य में आने वाली अधिक भाषाओं के साथ, जावा और सी # के लिए एसडीके प्रदान करता है।
स्थापना और विन्यास
=> इस पृष्ठ को नि: शुल्क टेस्टप्रोजेक्ट साइनअप के लिए जाएँपायथन एसडीके पर उपलब्ध है PyPI , पायथन पैकेज इंडेक्स। यहां, हम मान रहे हैं कि आपके पास एक काम करने वाला पायथन इंस्टॉलेशन है, आपको बस इतना करना है कि एसडीके को स्थापित करना है और इसके लिए, आपको इसकी आवश्यकता है निम्न आदेश चलाएँ:
pip install testproject-python-sdk
यह एसडीके और इसकी आवश्यक निर्भरता को स्थापित करेगा, जिसमें सेलेनियम और पायथन अप्पियम क्लाइंट शामिल हैं।
इससे पहले कि हम एसडीके का उपयोग शुरू कर सकें, हमें दो और चीजें करने की जरूरत है।
# 1) अपनी मशीन पर TestProject एजेंट स्थापित करें और कॉन्फ़िगर करें:
TestProject एजेंट ब्राउज़र ड्रायवर इंस्टॉलेशन और कॉन्फ़िगरेशन के लिए जिम्मेदार है, साथ ही SDK द्वारा TestProject प्लेटफ़ॉर्म पर उत्पन्न रिपोर्ट भेजने के लिए।
आपके द्वारा खाता बनाने के बाद टेस्टप्रोजेक्ट मंच (फिर से, यह मुफ़्त है), आप अपने एजेंट को डाउनलोड कर सकते हैं।
डाउनलोड करने के बाद, आपको इसे स्थापित और शुरू करना होगा। डिफ़ॉल्ट रूप से, एजेंट चलता है http: // लोकलहोस्ट: 8585। यदि आप एजेंट को अलग पोर्ट पर चलाना चाहते हैं, या पूरी तरह से अलग मशीन पर भी, तो भी कोई समस्या नहीं है। इस स्थिति में, आपको केवल एक परिवेश चर में सही एजेंट पता निर्दिष्ट करना होगा TP_AGENT_URL एसडीके को बताएं कि वह कहां चल रहा है।
# 2) एक डेवलपर टोकन प्राप्त करें और कॉन्फ़िगर करें:
एजेंट के साथ संवाद करने के लिए, आपको एक डेवलपर टोकन की भी आवश्यकता होगी। एजेंट स्थापित करने के बाद, आप नीचे दिए गए चित्र में दिखाए गए अनुसार TestProject प्लेटफ़ॉर्म साइट से अपना विकास टोकन प्राप्त कर सकते हैं।
एक पर्यावरण चर में अपने डेवलपर टोकन निर्दिष्ट करें TP_DEV_TOKEN एसडीके को इससे अवगत कराना। वैकल्पिक रूप से, आप इसे एक नया ड्राइवर सत्र बनाते समय एक तर्क के रूप में निर्दिष्ट कर सकते हैं, क्योंकि हम इसे थोड़ा सा देखेंगे।
आपके द्वारा SDK डाउनलोड करने, इंस्टॉल करने, कॉन्फ़िगर करने और एजेंट शुरू करने के बाद, अपने डेवलपर टोकन को प्राप्त और कॉन्फ़िगर किया गया, आप जाने के लिए तैयार हैं।
हमारा पहला टेस्टप्रोजेक्ट-संचालित सेलेनियम टेस्ट बनाना
मान लें कि हमारे पास एक सेलेनियम-आधारित परीक्षण है जो TestProject डेमो वेब ऐप पर नेविगेट करता है। यह लॉगिन क्रेडेंशियल और चेक प्रदान करता है जिसे हम यह संकेत देने के लिए अभिवादन करते हैं कि लॉगिन क्रिया सफलतापूर्वक पूरी हो गई है। यह भी मान लें कि हम इस परीक्षण को चलाने और अभिकथनों को निष्पादित करने के लिए पाइस्टेस्ट इकाई परीक्षण ढांचे का उपयोग करते हैं।
ऐसा परीक्षण कुछ इस तरह दिख सकता है:
from selenium import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.quit()
ऊपर दिया गया उदाहरण Chrome को एक ब्राउज़र के रूप में उपयोग करता है। Chrome के अलावा, SDK निम्नलिखित डेस्कटॉप ब्राउज़र का भी समर्थन करता है:
- फ़ायर्फ़ॉक्स
- एज
- इंटरनेट एक्स्प्लोरर
- सफारी
इस उदाहरण के लिए, हमने किसी भी एब्सट्रैक्शन पैटर्न का उपयोग नहीं किया है जो सेलेनियम-आधारित परीक्षणों में सामान्य है, जैसे पृष्ठ ऑब्जेक्ट, लेकिन यदि आप इनका उपयोग करते हैं, तो यह कोई समस्या नहीं है। वास्तव में, हम इसकी अनुशंसा करते हैं, क्योंकि यह आपके परीक्षण प्रवाह (कार्यों, परीक्षण डेटा) और आपके वेब पृष्ठों (तत्व लोकेटर) के कार्यान्वयन विवरण के बीच एक स्पष्ट अलगाव बनाता है।
ऊपर दिखाए गए सभी इंस्टॉलेशन और कॉन्फ़िगरेशन चरणों के पूरा होने के बाद, आप सभी को इस परीक्षण को टेस्टप्रोजेक्ट-संचालित टेस्ट में बदलने की आवश्यकता है, नीचे बताए अनुसार आयात स्टेटमेंट को बदलना है।
from selenium import webdriver
इस एक के साथ रिले:
from src.testproject.sdk.drivers import webdriver
इतना ही! एक बार जब आप परीक्षण चला लेते हैं, तो SDK TestProject एजेंट से ड्राइवर का अनुरोध करेगा और परीक्षण को निष्पादित करने के लिए उपयोग करेगा। यह TestProject प्लेटफ़ॉर्म पर रिपोर्टिंग निर्देश भी भेजेगा, जो तब HTML रिपोर्ट बनाने के लिए उपयोग किए जाते हैं। चलो उन पर एक नज़र है!
TestProject प्लेटफ़ॉर्म पर निरीक्षण रिपोर्ट
TestProject में जा रहे हैं, और मेनू से options रिपोर्ट्स के विकल्पों का चयन करते हुए, आप देख सकते हैं कि हमारे द्वारा अभी हाल ही में परीक्षण के लिए एक नई रिपोर्ट बनाई गई है। नीचे दी गई छवि को देखें।
कैसे क्रोम में एक swf फ़ाइल खोलने के लिए
जैसा कि आप देख सकते हैं, एसडीके ने स्वचालित रूप से एक परियोजना नाम का अनुमान लगा लिया है ( software_testing_help ), एक नौकरी का नाम ( उदाहरण ), और एक परीक्षण नाम ( test_login_to_testproject_example_app ) और रिपोर्ट बनाते समय इनका उपयोग किया। यह पाइटेस्ट और यूनीटेस्ट दोनों के लिए समर्थित है, साथ ही उन परीक्षणों के लिए जो एक समर्पित इकाई परीक्षण ढांचे का उपयोग करके नहीं चलाए जाते हैं।
हम देखेंगे कि अनुकूलित परियोजना, नौकरी और परीक्षण नामों को कैसे निर्दिष्ट किया जाए, साथ ही अगले अनुभाग में कई अन्य उपयोगी रिपोर्टिंग विकल्प भी दिए गए हैं।
परीक्षण के दौरान निष्पादित किए गए सभी ड्राइवर कमांड को अपने परिणाम के साथ, रिपोर्ट में स्वचालित रूप से जोड़ा जाता है। TestProject भी बॉक्स से बाहर साक्षात्कार और डैशबोर्ड उत्पन्न करता है।
TestProject के साथ अनुकूलन विकल्प रिपोर्टिंग
जबकि TestProject बॉक्स से समृद्ध और उपयोगी रिपोर्ट बनाता है, ऐसे कई तरीके हैं जिनसे आप अपनी सूचना आवश्यकताओं को और भी बेहतर तरीके से फिट करने के लिए उन्हें अनुकूलित कर सकते हैं।
जैसा कि हम पिछले उदाहरण में देख चुके हैं, टेस्टप्रोजेक्ट सबसे लोकप्रिय पायथन यूनिट टेस्टिंग फ्रेमवर्क के लिए प्रोजेक्ट, जॉब और टेस्ट नामों का स्वचालित रूप से अनुमान लगाने में सक्षम है। यदि आप अपनी रिपोर्ट में कस्टम नामों का उपयोग करना चाहते हैं, हालांकि, यह दो अलग-अलग तरीकों से भी किया जा सकता है।
(1) डेकोरेटर का उपयोग करना
TestProject एसडीके भी एक सुविधाएँ @रिपोर्ट good डेकोरेटर जिसे आप अपनी परीक्षा विधियों को सजाने के लिए उपयोग कर सकते हैं और जिसका उपयोग आप कर सकते हैं नीचे दिखाए गए अनुसार कस्टम प्रोजेक्ट, कार्य और परीक्षण नाम निर्दिष्ट करें:
from src.testproject.sdk.drivers import webdriver from src.testproject.decorator import report @report(project='Software Testing Help', job='SDK Examples', test='Login Test') def test_login_to_testproject_example_app(): driver = webdriver.Chrome() # the rest of the test method remains unchanged
जब हम इस सजाए गए परीक्षण विधि को चलाते हैं और रिपोर्टों का निरीक्षण करते हैं, तो हम देख सकते हैं कि निर्दिष्ट नामों का उपयोग स्वचालित रूप से अनुमान लगाने के बजाय उत्पन्न रिपोर्ट में किया गया है।
# 2) ड्राइवर कंस्ट्रक्टर में प्रोजेक्ट और नौकरी के नाम निर्दिष्ट करना और मैन्युअल रूप से परीक्षण की रिपोर्ट करना:
ड्राइवर ऑब्जेक्ट के कंस्ट्रक्टर में निर्दिष्ट करके प्रोजेक्ट और नौकरी के नामों को भी ओवरराइड किया जा सकता है। इसे इस प्रकार किया जा सकता है:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') # the rest of the test method remains unchanged
यदि आप स्वचालित रूप से अनुमानित परीक्षण नाम को ओवरराइड करना चाहते हैं, तो आप परीक्षण के अंत में मैन्युअल रूप से परीक्षण की रिपोर्ट कर सकते हैं, जैसे:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.report().test(name='Login Test', passed=True) driver.quit()
यदि आप मैन्युअल रिपोर्टिंग विकल्प का उपयोग करना चुनते हैं, तो आपको परीक्षणों की स्वचालित रिपोर्टिंग (जो डिफ़ॉल्ट रूप से सक्षम है) को अक्षम करना चाहिए, यह सुनिश्चित करने के लिए कि परीक्षण दो बार रिपोर्ट नहीं किए गए हैं, जो आपकी रिपोर्ट और डैशबोर्ड को दूषित करेगा।
आप निम्न आदेश का उपयोग करके स्वचालित रिपोर्टिंग को अक्षम कर सकते हैं:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_auto_test_reports(disabled=True) # the rest of the test method remains as above
इससे रिपोर्ट ऊपर के अंतिम स्क्रीनशॉट के समान दिखाई देगी।
# 3) ड्राइवर कमांड की रिपोर्टिंग को अक्षम करना
यदि आप चाहते हैं कि आपकी रिपोर्ट में परीक्षण के दौरान निष्पादित की गई प्रत्येक व्यक्तिगत ड्राइवर कमांड शामिल हो, तो आप उनकी तरह स्वचालित रिपोर्टिंग को अक्षम कर सकते हैं:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) # the rest of the test method remains unchanged
आप अपने परीक्षणों में बाद में फिर से उसी विधि से कॉल करके ड्राइवर कमांड रिपोर्टिंग को फिर से सक्षम कर सकते हैं लेकिन तर्क अक्षम = गलत के साथ।
यदि आप अभी भी अपने परीक्षण के दौरान कुछ मध्यवर्ती चरणों की रिपोर्ट करना चाहते हैं, तो आप ऐसा कर सकते हैं:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) driver.report().step(description='An intermediate step', message='A custom message', passed=True, screenshot=True) # here goes the rest of the test method
जैसा कि आप देख सकते हैं, आप अपने कस्टम रिपोर्ट चरणों में स्क्रीनशॉट भी जोड़ सकते हैं। ये स्वचालित रूप से TestProject प्लेटफ़ॉर्म पर HTML रिपोर्ट में एकीकृत हो जाएंगे।
TestProject SDK आपकी रिपोर्टिंग को और कस्टमाइज़ करने के लिए अधिक विकल्प प्रदान करता है। पूर्ण अवलोकन के लिए TestProject वेबसाइट, GitHub, या PyPI पर आधिकारिक दस्तावेज देखें।
TestProject का उपयोग करके Appium- आधारित टेस्ट चलाना
सेलेनियम आधारित परीक्षणों के बगल में, टेस्टप्रोजेक्ट एसडीके ऐपियम का उपयोग करके मोबाइल उपकरणों पर परीक्षण भी चला सकता है। इस उदाहरण पर विचार करें, एक एमुलेटर पर एक देशी एंड्रॉइड ऐप के खिलाफ चल रहा है:
from appium import webdriver def test_native_android_app(): desired_capabilities = { 'appActivity': 'io.testproject.demo.MainActivity', 'appPackage': 'io.testproject.demo', 'udid': '', 'browserName': '', 'platformName': 'Android', } driver = webdriver.Remote(desired_capabilities=desired_capabilities) driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() driver.quit()
यहां टेस्टप्रोजेक्ट प्लेटफॉर्म की शक्ति का उपयोग करने के लिए, फिर से, हमें केवल बदलने की जरूरत है
from appium import webdriver
सेवा:
from src.testproject.sdk.drivers import webdriver
और हम जाने के लिए अच्छा है TestProject एजेंट भी Appium सर्वर के रूप में कार्य करता है, इसलिए आपके परीक्षण चलाने वाली मशीन पर स्वयं को चलाने की कोई अधिक आवश्यकता नहीं है।
ऊपर वर्णित सभी रिपोर्टिंग सुविधाएँ Appium- आधारित परीक्षणों के लिए भी उपलब्ध हैं।
एसडीके मोबाइल परीक्षण चलाने का समर्थन करता है:
- Android के साथ-साथ iOS के लिए भी।
- एमुलेटर के साथ-साथ वास्तविक उपकरणों पर भी।
- देशी ऐप्स के साथ-साथ मोबाइल ब्राउज़र पर भी
इन सभी के उदाहरण GitHub पर SDK कोड भंडार में पाए जा सकते हैं।
निष्कर्ष
जैसा कि आपने इस ट्यूटोरियल में देखा है, TestProject Python SDK आपके मौजूदा सेलेनियम- और Appium- आधारित परीक्षणों को आपके ब्राउज़र ड्राइवरों और Appium सर्वर को कॉन्फ़िगर करने के काम को दूर करने में आपकी सहायता कर सकता है, और यह आपके लिए महान HTML रिपोर्ट और डैशबोर्ड उत्पन्न करता है। TestProject प्लेटफ़ॉर्म।
सबसे अच्छा, टेस्टप्रोजेक्ट पायथन एसडीके बिल्कुल मुफ्त है।
=> सिर पर से TestProject इसे अपने लिए आज़माने के लिए !
लेखक के बारे में: बास दिक्जस्त्र
लेखक दुनिया भर की कंपनियों को सिखाता है कि परीक्षण स्वचालन के माध्यम से अपने परीक्षण प्रयासों को कैसे बेहतर बनाया जाए। वह नीदरलैंड में रहने वाला एक स्वतंत्र प्रशिक्षक, सलाहकार और डेवलपर है। अपने खाली समय में, वह अपनी साइकिल को एक सवारी के लिए ले जाना पसंद करते हैं, एक रन के लिए जाते हैं या एक अच्छी किताब पढ़ते हैं।
अनुशंसित पाठ
- TestProject टेस्ट ऑटोमेशन टूल हैंड्स-ऑन रिव्यू ट्यूटोरियल
- पायथन परिचय और स्थापना प्रक्रिया
- Android App के लिए Appium टेस्ट बनाएँ
- पायथन ट्यूटोरियल फॉर बिगिनर्स (हैंड्स-ऑन फ्री पायथन ट्रेनिंग)
- ग्रहण के लिए अपीलीय स्टूडियो के समानांतर उपयोग में आपका ऐपियम टेस्ट
- ग्रहण के लिए एपोच स्टूडियो का उपयोग करके एपोच परीक्षण का निर्माण करना
- समानांतर में अप्पियम टेस्ट के बड़े पैमाने पर निष्पादन कैसे चलाएं
- अपने Appium टेस्ट चलाने के लिए अपनी IDE में एकीकृत करें