Android और amp के लिए एपीपीएम ट्यूटोरियल; iOS मोबाइल ऐप टेस्टिंग

विषय - सूची:

Anonim

Appium क्या है?

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

यह मोबाइल डिवाइस OS पर कोई निर्भरता नहीं है । क्योंकि APPIUM में फ्रेमवर्क या रैपर है जो सेलेनियम वेबड्राइवर कमांड को UIAutomation (iOS) या UIAutomator (Android) कमांड में डिवाइस के प्रकार के आधार पर अनुवाद करता है, न कि किसी OS प्रकार पर।

Appium उन सभी भाषाओं का समर्थन करता है जिनमें सेलेनियम क्लाइंट लाइब्रेरी हैं जैसे- Java, Objective-C, JavaScript with node.js, PHP, Ruby, Python, C #, आदि।

इस ट्यूटोरियल में हम सीखेंगे

  • कैसे काम करता है APPIUM?
  • एपीपीएम का उपयोग करने के लिए पूर्वापेक्षा
  • Appium डेस्कटॉप स्थापित करें:
  • एपीपीएम इंस्पेक्टर
  • Appium में Android एमुलेटर संलग्न करें
  • नेटिव एंड्रॉइड ऐप (कैलकुलेटर) के लिए ऐपम टेस्ट केस
  • APPIUM का उपयोग करने की सीमाएँ
  • आम एनकाउंटर एरियर्स और ट्रबलशूटिंग स्टेप्स इन एपियम

कैसे काम करता है APPIUM?

  • Appium एक 'HTTP सर्वर' है जो Node.js प्लेटफ़ॉर्म का उपयोग करते हुए लिखा गया है और iOS और Webdriver JSON नेटवर्क प्रोटोकॉल का उपयोग करके एक Android सत्र चलाता है। इसलिए, Appium सर्वर को प्रारंभ करने से पहले, Node.js को सिस्टम पर पूर्व-संस्थापित होना चाहिए।
  • जब Appium डाउनलोड और स्थापित किया जाता है, तो हमारी मशीन पर एक सर्वर स्थापित होता है जो REST API को उजागर करता है।
  • यह क्लाइंट से कनेक्शन और कमांड अनुरोध प्राप्त करता है और मोबाइल उपकरणों (एंड्रॉइड / आईओएस) पर उस कमांड को निष्पादित करता है।
  • यह HTTP प्रतिसादों के साथ प्रतिक्रिया करता है। इस अनुरोध को निष्पादित करने के लिए, यह ऐप के उपयोगकर्ता इंटरफ़ेस को चलाने के लिए मोबाइल टेस्ट ऑटोमेशन फ्रेमवर्क का उपयोग करता है। एक रूपरेखा जैसे: -
    • IOS के लिए Apple इंस्ट्रूमेंट्स (इंस्ट्रूमेंट्स केवल Xcode 3.0 में या बाद में OS X v10.5 और बाद में उपलब्ध हैं)
    • Android API स्तर 16 या उच्चतर के लिए Google UIAutomator
    • एंड्रॉइड एपीआई स्तर 15 या उससे कम के लिए सेलेंड्रोइड

एपीपीएम का उपयोग करने के लिए पूर्वापेक्षा

  1. ANDROID SDK (स्टूडियो) स्थापित करें [लिंक] -
  2. JDK (जावा डेवलपमेंट किट) स्थापित करें [लिंक]
  3. ग्रहण स्थापित करें [लिंक]
  4. ग्रहण के लिए TestNg स्थापित करें [लिंक]
  5. सेलेनियम सर्वर जार स्थापित करें [लिंक]
  6. Appium क्लाइंट लाइब्रेरी [लिंक]
  7. Google Play पर एपीके ऐप की जानकारी [लिंक]
  8. js (आवश्यक नहीं - जब भी Appium सर्वर स्थापित होता है, तो यह डिफ़ॉल्ट रूप से "Node.exe" और NPM के साथ आता है। यह Appium के वर्तमान संस्करण में शामिल है।)
  9. Appium डेस्कटॉप स्थापित करें

Appium डेस्कटॉप स्थापित करें:

Appium Studio, Appium Server को स्थापित करने के लिए एक ओपन सोर्स GUI ऐप है। यह Appium Server को स्थापित करने और उपयोग करने के लिए सभी पूर्व-आवश्यकताओं के साथ बंडल में आता है। इसमें आपके Apps पर बुनियादी जानकारी प्राप्त करने के लिए एक इंस्पेक्टर भी है। यह आपके मोबाइल एप्लिकेशन को स्वचालित करने के लिए बॉयलरप्लेट कोड बनाने के लिए एक रिकॉर्डर के साथ आता है।

चरण 1) http://appium.io/ पर जाएं और डाउनलोड एपियम पर क्लिक करें।

चरण 2) विंडोज के लिए, एक्स फ़ाइल चुनें और डाउनलोड करें। आपकी इंटरनेट स्पीड के आधार पर फाइल को डाउनलोड करने में लगभग 162MB का समय लगेगा।

चरण 3) डाउनलोड किए गए निर्वासन पर क्लिक करें।

चरण 4) विंडोज मशीन पर, ऐप्पियम को स्थापित करने की आवश्यकता नहीं है। यह सीधे निर्वासन से चलता है। एक बार जब आप exe पर क्लिक करते हैं तो आपको कुछ मिनटों के लिए निम्न छवि दिखाई देगी।

मैक के लिए, आपको डीएमजी स्थापित करने की आवश्यकता है

स्टेप 5) इसके बाद आपको सर्वर स्टार्ट विंडो दिखाई देगी। यह डिफ़ॉल्ट होस्ट और पोर्ट विकल्प को पॉप्युलेट करता है जिसे आप बदल सकते हैं। इसमें एपियम के उपयोग किए जा रहे संस्करण का भी उल्लेख है।

चरण 6) स्टार्ट सर्वर बटन पर क्लिक करने पर, निर्दिष्ट होस्ट और पोर्ट पर एक नया सर्वर लॉन्च किया जाता है। सर्वर लॉग आउटपुट दिखाया गया है।

चरण 7) नई सत्र विंडो पर क्लिक करें

चरण 8) आप वांछित क्षमताएं दर्ज कर सकते हैं और एक सत्र शुरू कर सकते हैं।

एपीपीएम इंस्पेक्टर

सेलेनियम आईडीई रिकॉर्ड और प्लेबैक टूल के समान, ऐपियम में रिकॉर्ड और प्लेबैक के लिए एक 'इंस्पेक्टर' है। यह डोम का निरीक्षण करके मूल एप्लिकेशन व्यवहार को रिकॉर्ड करता है और खेलता है और किसी भी वांछित भाषा में परीक्षण स्क्रिप्ट उत्पन्न करता है। हालाँकि, वर्तमान में, Microsoft Windows के लिए Appium Inspector का कोई समर्थन नहीं है। विंडोज में, यह एपियम सर्वर लॉन्च करता है लेकिन तत्वों का निरीक्षण करने में विफल रहता है। हालांकि, UIAutomator दर्शक का निरीक्षण तत्वों के विकल्प के रूप में किया जा सकता है।

मैक मशीन पर Appium इंस्पेक्टर के साथ शुरू करने के लिए कदम:

चरण 1) अपने IPium सर्वर को डिफ़ॉल्ट IP एड्रेस 0.0.0.0 और पोर्ट 4725 के साथ डाउनलोड करें और शुरू करें।

  1. परीक्षण करने के लिए स्थानीय से स्रोत फ़ाइल या .app फ़ाइलों का चयन करें।
  2. 'चुनें' बटन को सक्षम करने के लिए 'ऐप पथ' चेकबॉक्स की जाँच करें।

चरण 2) अब, 'चुनें' बटन पर क्लिक करें यह ब्राउज़ करने और स्थानीय ड्राइव से परीक्षण फ़ाइल का चयन करने का विकल्प देगा।

चरण 3) मैक मशीन पर सिम्युलेटर शुरू करें।

चरण 4) एक ऊपरी दाएं कोने से 'लॉन्च' बटन पर क्लिक करें, जो नीले रंग के आइकन को सक्षम करता है। फिर से, इस नीले रंग के आइकन पर क्लिक करें, यह पूर्व-चयनित एप्लिकेशन के साथ Appium इंस्पेक्टर और सिम्युलेटर खोलेगा।

चरण 5) - अपने ऐपियम इंस्पेक्टर को लॉन्च करने से कॉलम-वार संरचना में तत्व पदानुक्रम दिखाई देगा। इसके अलावा, उपयोगकर्ता टैप, स्वाइप इत्यादि जैसे बटन का उपयोग करके कार्रवाई कर सकता है।

चरण 6) रिकॉर्डिंग बंद करने के लिए 'स्टॉप' बटन पर क्लिक करें।

Appium में Android एमुलेटर संलग्न करें

चरण 1) अपने सिस्टम में एंड्रॉइड एसडीके इंस्टॉल करें।

कंट्रोल पैनल >> सिस्टम एंड सिक्योरिटी >> सिस्टम पर जाएं और बाएं पैनल से 'एडवांस्ड सिस्टम सेटिंग्स' पर क्लिक करें। 'सिस्टम गुण' पॉप अप से, 'उन्नत' टैब पर क्लिक करें और फिर "पर्यावरण चर" बटन पर क्लिक करें।

चरण 2) अब, 'पर्यावरण चर' पॉप अप से, 'पथ' पर डबल क्लिक करें और ANDROID_HOME चर सेट करें जो आपकी SDK निर्देशिका को इंगित करता है। पथ में पूरे SDK फ़ोल्डर पथ को जोड़ें।

जैसे -

C: \ User \ ABC \ Desktop \ adt-bundled-windows-x86_64-20140321 \ sdk

चरण 3) अपना एंड्रॉइड एमुलेटर शुरू करें या कोई भी एंड्रॉइड डिवाइस को अपने सिस्टम में संलग्न करें (सुनिश्चित करें कि आपके एंड्रॉइड डिवाइस में एंड्रॉइड डिबगिंग विकल्प सक्षम है। डिबगिंग विकल्प की जांच करने के लिए। डिवाइस सेटिंग्स पर जाएं >> डेवलपर विकल्प >> चेक करें "डिबगिंग विकल्प"। ) का है।

चरण 4) कमांड प्रॉम्प्ट खोलें और अपने एंड्रॉइड एसडीके के प्लेटफॉर्म-टूल \ डायरेक्टरी (जैसे डी: \ एड्ट-बंडल-विंडोज-x86_64-20130514 \ sdk \ platform-tools) पर नेविगेट करें।

चरण 5) - 'adb devices' कमांड को रन करें। आप अपने जुड़े डिवाइस को कमांड प्रॉम्प्ट विंडो में सूचीबद्ध देख सकते हैं। (CMD में '> adb devices' लिखें- यह कमांड कनेक्ट किए गए एमुलेटर इंस्टेंसेस को सूचीबद्ध करेगा। उदाहरण के लिए: adb -s emulator-5554 स्थापित करें <.apk फ़ाइल का स्थान>)।

चरण 6) - 'adb start-server' कमांड चलाएँ। यह एडीबी सर्वर शुरू करेगा जो आपके एंड्रॉइड डिवाइस पर कमांड भेजने के लिए ऐपियम द्वारा उपयोग किया जाएगा।

चरण 7) अब, अपने सिस्टम में Appium निर्देशिका पर जाएँ और Appium.exe फ़ाइल पर क्लिक करके Appium शुरू करें।

चरण 8) आईपी ​​पते या पोर्ट नंबर में परिवर्तन न करें और 'लॉन्च' बटन पर क्लिक करें। आपका Appium कंसोल 127.0.0.1:4723 से शुरू होता है जैसा कि नीचे दिखाया गया है।

चरण 9) 'स्टार्ट' बटन पर क्लिक करें, आपके सिस्टम पर ऐपियम सर्वर चलने लगा।

नेटिव एंड्रॉइड ऐप (कैलकुलेटर) के लिए ऐपम टेस्ट केस

चरण 1) ) ADT ग्रहण प्लगइन डाउनलोड करें या ADT अलग से बंडल करें

चरण 2) ग्रहण खोलें और एक नया प्रोजेक्ट बनाएं >> पैकेज >> क्लास

चरण 3) सेलेनियम लाइब्रेरी आयात करें और उस नए प्रोजेक्ट के अंदर टेस्ट करें।

चरण 4) अब दो अंकों की राशि के लिए 'Calculator.app' के लिए एक छोटा परीक्षण कार्यक्रम बनाएं।

पैकेज src_Appium;आयात java.net.alformedURLException;आयात java.net.URL;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.WebElement;// import org.openqa.selenium.remote.CapabilityType;आयात org.openqa.selenium.remote.DesiredCapabilities;आयात org.openqa.selenium.remote.RemoteWebDriver;आयात org.testng.annotations। *;सार्वजनिक वर्ग कैलकुलेटर {WebDriver ड्राइवर;@कक्षा से पहलेसार्वजनिक शून्य सेटअप () MalformedURLException {// वांछित क्षमताओं को सेट करें और Appium में Android ऐप-गतिविधि और ऐप-पैकेज पास करेंDesiredCapabilities क्षमताओं = नई DesiredCapabilities ();क्षमताओं .setCapability ("BROWSER_NAME", "Android");क्षमताओं .setCapability ("संस्करण", "4.4.2");क्षमताओं .setCapability ("डिवाइसनाम", "एमुलेटर");क्षमताओं .setCapability ("platformName", "Android");क्षमताएं// आपके ऐप का यह पैकेज नाम (आप इसे एपीके जानकारी ऐप से प्राप्त कर सकते हैं)क्षमताएं // यह आपके ऐप की लॉन्चर गतिविधि है (आप इसे एपीके इंफो ऐप से प्राप्त कर सकते हैं)// RemoteWebDriver उदाहरण बनाएं और Appium सर्वर से कनेक्ट करें// यह वांछित क्षमताओं में निर्दिष्ट कॉन्फ़िगरेशन का उपयोग करके एंड्रॉइड डिवाइस में कैलकुलेटर ऐप लॉन्च करेगाड्राइवर = नया रिमोटवेबड्राइवर (नया URL ("http://127.0.0.1:4723/wd/hub"), क्षमताएं);}@परीक्षासार्वजनिक शून्य परीक्षणकैल () अपवाद {// By.name () का उपयोग करके कैलकुलेटर पर पाठ का पता लगाएंWebElement दो = driver.findElement (By.name ("2"));two.click ();WebElement plus = driver.findElement (By.name ("+"));plus.click ();WebElement चार = driver.findElement (By.name ("4"));चार.क्लिक ();WebElement equalTo = driver.findElement (By.name ());बराबर;// By.tagName () का उपयोग करके कैलकुलेटर के संपादन बॉक्स का पता लगाएंWebElement के परिणाम = driver.findElement (By.tagName ("EditText"));// संपादित बॉक्स पर गणना मूल्य की जाँच करेंassert results.getText ()। बराबर ("6"): "वास्तविक मान है: + results.getText () + "अपेक्षित मूल्य के साथ मेल नहीं खाता: 6";}@क्लास के बादसार्वजनिक शून्य अशांति () {// ऐप को बंद करेंDriver.quit ();}}

'AVD मैनेजर' से Appium Server और एंड्रॉइड एमुलेटर और रन >> TestNG पर क्लिक करें। ऊपर कार्यक्रम चयनित कैलकुलेटर और टेस्टएनजी फ्रेमवर्क का उपयोग करके ग्रहण कंसोल के तहत प्रदर्शित परिणाम पर 'कैलक्यूलेटर.app' चलाएगा।

APPIUM का उपयोग करने की सीमाएँ

  1. Appium 4.2 से कम Android संस्करण के परीक्षण का समर्थन नहीं करता है
  2. हाइब्रिड ऐप टेस्टिंग के लिए सीमित समर्थन। उदाहरण: वेब एप्लिकेशन से देशी और इसके विपरीत एप्लिकेशन की स्विचिंग कार्रवाई का परीक्षण करना संभव नहीं है।
  3. Microsoft Windows पर Appium इंस्पेक्टर को चलाने के लिए कोई समर्थन नहीं।

आम एनकाउंटर एरियर्स और ट्रबलशूटिंग स्टेप्स इन एपियम

त्रुटि समस्या निवारण कदम
1. त्रुटि: - निम्नलिखित वांछित क्षमताओं की आवश्यकता होती है, लेकिन प्रदान नहीं की गई: डिवाइस का नाम, प्लेटफ़ॉर्मनाम 1. वांछित क्षमताएं जोड़ें: उपकरण का नाम, APPIUM स्क्रिप्ट में platformName। उदाहरण के लिए: क्षमताएं ।सेटकैबिलिटी ("डिवाइसनेम", "एमुलेटर"); क्षमताओं .setCapability ("platformName", "Android");
2. त्रुटि: अदब नहीं मिला। Android SDK रूट निर्देशिका पथ के साथ ANDROID_HOME पर्यावरण चर सेट करें। 2. आपको सिस्टम 'एनवायरमेंट वेरिएबल्स' में 'पथ' कॉलम में SDK रूट डाइरेक्टरी पथ को सेट करना होगा
3.error: org.openqa.selenium.SessionNotCreatedException: एक नया सत्र नहीं बनाया जा सका। 3. आपको एक सही App पथ सेट करने और Appium सर्वर को पुनरारंभ करने की आवश्यकता है।
4. मोबाइल एप्लीकेशन में DOM एलिमेंट या XPath कैसे खोजें? 4. Android एप्लिकेशन के लिए DOM तत्व खोजने के लिए 'UIAutomatorviewer' का उपयोग करें।