Appium शुरुआती लोगों के लिए ट्यूटोरियल

⚡ स्मार्ट सारांश

Appium ट्यूटोरियल Android iOS मोबाइल ऐप्स टेस्टिंग एक ओपन-सोर्स UI ऑटोमेशन फ्रेमवर्क पेश करता है जो दोनों प्लेटफॉर्म पर नेटिव, हाइब्रिड और वेब ऐप्स को एक ही कमांड से संचालित करता है। Seleniumयह गाइड बताती है कि कैसे -संगत एपीआई। Appium कार्यप्रणाली, स्थापना चरण, इंस्पेक्टर, एमुलेटर अटैचमेंट, और एक Java कैलकुलेटर परीक्षण मामला।

  • ???? मूल परिभाषा: Appium यह एक ओपन-सोर्स मोबाइल यूआई ऑटोमेशन फ्रेमवर्क है जो नेटिव, हाइब्रिड और वेब ऐप्स को सपोर्ट करता है। Android और एक ही एपीआई के माध्यम से आईओएस को सपोर्ट करता है।
  • 🔌 HTTP सर्वर मॉडल: Appium यह एक Node.js HTTP सर्वर के रूप में चलता है जो WebDriver JSON वायर कमांड को प्लेटफ़ॉर्म-विशिष्ट ऑटोमेशन कॉल में अनुवादित करता है।
  • 🧰 टूलिंग स्टैक: आवश्यक पूर्वशर्तों में शामिल हैं: Android एसडीके, जेडीके, Eclipse, TestNG, Selenium सर्वर जार, Appium क्लाइंट लाइब्रेरी, और Appium डेस्कटॉप।
  • 🔍 निरीक्षक एवं अभिलेखपाल: Appium इंस्पेक्टर एलिमेंट पदानुक्रमों का निरीक्षण करता है और बॉयलरप्लेट स्क्रिप्ट उत्पन्न करता है, जबकि UIAutomator व्यूअर एक अलग प्रकार का कार्य करता है। Windows मैदान छोड़ना।
  • Java परीक्षण कार्यप्रणाली: DesiredCapabilities, RemoteWebDriver, और का उपयोग करें TestNG नेटिव को लॉन्च और मान्य करने के लिए एनोटेशन Android कैलकुलेटर जैसे ऐप्स।

Appium ट्यूटोरियल Android और आईओएस मोबाइल ऐप्स टेस्टिंग

एचएमबी क्या है? Appium?

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

Appium है नहीं मोबाइल डिवाइस ऑपरेटिंग सिस्टम पर निर्भरता। फ्रेमवर्क इसे रैप और ट्रांसलेट करता है। Selenium WebDriver कमांड को UIAutomation (iOS) या UIAutomator में (Android) ये कमांड डिवाइस के प्रकार पर निर्भर करते हैं, न कि अंतर्निहित ऑपरेटिंग सिस्टम के संस्करण पर।

Appium यह उन सभी भाषाओं का समर्थन करता है जिनमें Selenium क्लाइंट लाइब्रेरीज़ — Java, उद्देश्य सी, Javaलिपि Node.js, PHP, Ruby के साथ Python, C#, और अधिक.

कैसे Appium काम?

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

उपयोग के लिए आवश्यक शर्तें Appium

  1. स्थापित करें Android एसडीके (स्टूडियो) [संपर्क].
  2. स्थापित करें JDK (Java विकास किट) [संपर्क].
  3. स्थापित करें Eclipse [संपर्क].
  4. स्थापित करें TestNG एसटी Eclipse [संपर्क].
  5. स्थापित करें Selenium सर्वर JAR [संपर्क].
  6. Appium ग्राहक पुस्तकालय [संपर्क].
  7. APK ऐप जानकारी गूगल प्ले पर [संपर्क].
  8. Node.js (अनिवार्य रूप से आवश्यक नहीं - जब) Appium सर्वर स्थापित हो चुका है, Node.exe और NPM वर्तमान संस्करण के साथ बंडल किए गए हैं। Appium संस्करण)।
  9. स्थापित करें Appium डेस्कटॉप.

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

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

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

Appium आधिकारिक साइट डाउनलोड पेज

चरण 2) के लिए Windows.exe फ़ाइल का चयन करें और उसे डाउनलोड करें। फ़ाइल का आकार लगभग 162 MB है और आपके इंटरनेट की गति के आधार पर इसे डाउनलोड होने में समय लगेगा।

चुनें Windows Appium डेस्कटॉप इंस्टॉलर

चरण 3) डाउनलोड की गई .exe फ़ाइल पर क्लिक करें।

रन Appium डेस्कटॉप इंस्टॉलर निष्पादन योग्य

चरण 4) पर Windows इस मशीन में कोई इंस्टॉलेशन विज़ार्ड नहीं है। Appium यह सीधे .exe फ़ाइल से चलता है। .exe पर क्लिक करने के बाद, कुछ मिनटों के लिए निम्नलिखित स्प्लैश स्क्रीन दिखाई देती है।

Appium डेस्कटॉप लोडिंग एनीमेशन

के लिए macOSआपको .dmg फ़ाइल इंस्टॉल करनी होगी।

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

Appium होस्ट और पोर्ट के साथ सर्वर प्रारंभ विंडो

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

Appium प्रारंभ होने के बाद सर्वर लॉग आउटपुट

चरण 7) क्लिक करें नया सत्र विंडो.

एक नई सेशन विंडो खोलें Appium डेस्कटॉप

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

शुरू करने के लिए वांछित क्षमताएं दर्ज करें Appium सत्र

Appium इंस्पेक्टर

के समान Selenium आई.डी.ई. रिकॉर्ड-एंड-प्लेबैक टूल, Appium एक है इंस्पेक्टर परीक्षणों को रिकॉर्ड करने और चलाने के लिए। यह DOM का निरीक्षण करके नेटिव एप्लिकेशन व्यवहार को रिकॉर्ड और प्ले करता है और किसी भी समर्थित भाषा में परीक्षण स्क्रिप्ट उत्पन्न करता है। ध्यान दें कि Appium इंस्पेक्टर समर्थित नहीं है Microsoft Windows: पर Windows यह लॉन्च करता है Appium सर्वर तत्वों का निरीक्षण करने में विफल रहता है। तत्वों का निरीक्षण करने के लिए UIAutomator Viewer एक अनुशंसित वैकल्पिक विकल्प है। Windows.

शुरू करने के चरण Appium मैक मशीन पर इंस्पेक्टर:

चरण 1) डाउनलोड करें और अपना प्रारंभ करें Appium सर्वर डिफ़ॉल्ट आईपी एड्रेस 0.0.0.0 और पोर्ट 4725 का उपयोग कर रहा है।

  1. परीक्षण के लिए अपनी स्थानीय ड्राइव से स्रोत फ़ाइल या .app फ़ाइल का चयन करें।
  2. “Choose” बटन को सक्रिय करने के लिए “App Path” चेकबॉक्स को चुनें।

चरण 2) स्थानीय ड्राइव से परीक्षण फ़ाइल को ब्राउज़ करने और चुनने के लिए "चुनें" बटन पर क्लिक करें।

Appium मैक पर इंस्पेक्टर ऐप पाथ का चयन

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

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

लांच Appium आईओएस सिम्युलेटर के साथ इंस्पेक्टर

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

Appium निरीक्षक तत्व पदानुक्रम दृश्य

चरण 6) क्लिक करें रुकें रिकॉर्डिंग समाप्त करने के लिए।

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

चरण 1) स्थापित करें Android आपके सिस्टम पर SDK इंस्टॉल होना चाहिए।

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

पर्यावरण चर खोलें Windows

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

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

एनवायरनमेंट वेरिएबल्स में ANDROID_HOME सेट करें

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

चरण 4) कमांड प्रॉम्प्ट खोलें और वहां जाएं Android एसडीके का \platform-tools\ निर्देशिका (उदाहरण के लिए, D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

चरण 5) चलाएं adb devices कमांड दबाएँ। आपका कनेक्टेड डिवाइस कमांड प्रॉम्प्ट विंडो में सूचीबद्ध दिखाई देगा। पूरा नाम है: adb -s emulator-5554 install <Location of .apk file>.

adb devices कमांड का आउटपुट कनेक्टेड एमुलेटर को दर्शाता है

चरण 6) चलाएं adb start-server कमांड। एडीबी सर्वर शुरू हो जाता है, और Appium इसका उपयोग आपके लिए आदेश भेजने के लिए किया जाएगा Android डिवाइस.

चरण 7) पर नेविगेट करें Appium अपने सिस्टम पर निर्देशिका ढूंढें और प्रारंभ करें Appium क्लिक करके Appium.exe फ़ाइल.

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

Appium कंसोल 127.0.0.1:4723 पर चल रहा है

चरण 9) क्लिक करें प्रारंभ। Appium सर्वर अब आपके सिस्टम पर चल रहा है।

Appium नेटिव के लिए टेस्ट केस Android ऐप (कैलकुलेटर)

चरण 1) एडीटी डाउनलोड करें Eclipse प्लगइन डाउनलोड करें या एडीटी बंडल को अलग से डाउनलोड करें। यहाँ उत्पन्न करें.

चरण 2) प्रारंभिक Eclipse और एक नया प्रोजेक्ट > पैकेज > क्लास बनाएं।

चरण 3) आयात करें Selenium पुस्तकालय और TestNG नई परियोजना में।

चरण 4) इसके लिए एक छोटा परीक्षण प्रोग्राम बनाएं कैलकुलेटर.ऐप जो दो संख्याओं का योग है।

package src_Appium;

import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;

public class Calculator {
    WebDriver driver;

    @BeforeClass
    public void setUp() throws MalformedURLException {
        // Set up desired capabilities and pass the Android app activity and package to Appium
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("BROWSER_NAME", "Android");
        capabilities.setCapability("VERSION", "4.4.2");
        capabilities.setCapability("deviceName", "Emulator");
        capabilities.setCapability("platformName", "Android");

        capabilities.setCapability("appPackage", "com.android.calculator2");
        // Package name of the app (get it from an APK info app)
        capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
        // Launcher activity of the app (get it from an APK info app)

        // Create a RemoteWebDriver instance and connect to the Appium server
        // Launches the Calculator app on the Android device using the capabilities above
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

    @Test
    public void testCal() throws Exception {
        // Locate the keys on the calculator by name
        WebElement two = driver.findElement(By.name("2"));
        two.click();
        WebElement plus = driver.findElement(By.name("+"));
        plus.click();
        WebElement four = driver.findElement(By.name("4"));
        four.click();
        WebElement equalTo = driver.findElement(By.name("="));
        equalTo.click();
        // Locate the calculator output by tag name
        WebElement results = driver.findElement(By.tagName("EditText"));
        // Check the calculated value on the edit box
        assert results.getText().equals("6") :
            "Actual value is : " + results.getText() + " did not match with expected value: 6";
    }

    @AfterClass
    public void teardown() {
        // Close the app
        driver.quit();
    }
}

शुरू करें Appium सर्वर और Android AVD मैनेजर से एमुलेटर चुनें, फिर रन > पर क्लिक करें। TestNGयह प्रोग्राम चयनित एमुलेटर पर Calculator.app चलाता है और परिणाम प्रदर्शित होता है। Eclipse कंसोल का उपयोग करके TestNG ढांचा।

की सीमाएँ Appium

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

सामान्य त्रुटियाँ और समस्या निवारण चरण Appium

त्रुटि समस्या निवारण कदम
त्रुटि: निम्नलिखित वांछित क्षमताएँ आवश्यक हैं, लेकिन प्रदान नहीं की गईं: deviceName, platformName वांछित क्षमताएं जोड़ें deviceName और platformName को Appium स्क्रिप्ट। उदाहरण के लिए: capabilities.setCapability("deviceName", "Emulator"); और capabilities.setCapability("platformName", "Android");
त्रुटि: adb नहीं मिल सका। कृपया ANDROID_HOME पर्यावरण चर को इसके साथ सेट करें Android SDK रूट निर्देशिका पथ. सिस्टम एनवायरनमेंट वेरिएबल्स में पाथ एंट्री के अंतर्गत SDK रूट डायरेक्टरी सेट करें।
त्रुटि: org.openqa.selenium.SessionNotCreatedException: एक नया सत्र नहीं बनाया जा सका। सही ऐप पाथ सेट करें और रीस्टार्ट करें Appium सर्वर.
किसी DOM तत्व को कैसे खोजें या एक्सपाथ मोबाइल एप्लीकेशन में? DOM तत्वों का निरीक्षण करने के लिए UIAutomator Viewer का उपयोग करें Android अनुप्रयोगों.

अक्सर पूछे जाने वाले प्रश्न

Selenium वेब ब्राउज़रों को स्वचालित करता है; Appium मोबाइल एप्लिकेशन को स्वचालित करता है। Appium यह वेबड्राइवर प्रोटोकॉल का पुन: उपयोग करता है इसलिए Selenium उपयोगकर्ता इसे जल्दी अपना लेते हैं, लेकिन Appium यह नेटिव, हाइब्रिड और मोबाइल-वेब ऐप्स को भी संचालित करता है। Android और प्लेटफॉर्म-विशिष्ट स्वचालन इंजनों के माध्यम से iOS को भी लाभ होता है।

Appium यह उन सभी भाषाओं का समर्थन करता है जिनमें एक भाषा मौजूद है। Selenium वेबड्राइवर क्लाइंट, जिसमें शामिल हैं Java, Python, JavaNode.js, Ruby, C#, PHP और Objective-C का उपयोग करके स्क्रिप्ट लिखें। इससे यह संभव होता है। Appium भाषा में बदलाव किए बिना विभिन्न इंजीनियरिंग टीमों में अनुकूलनीय।

हां. Appium यह डिवाइस पर इंस्टॉल किए गए नेटिव ऐप्स, एम्बेडेड वेब व्यू वाले हाइब्रिड ऐप्स और क्रोम या सफारी के अंदर चलने वाले मोबाइल-वेब ऐप्स का परीक्षण करता है। एक ही वेबड्राइवर-आधारित एपीआई इन तीनों प्रकार के ऐप्स को संचालित करता है, जिससे क्रॉस-प्लेटफ़ॉर्म परीक्षण रखरखाव सरल हो जाता है।

एआई में सुधार Appium सेल्फ-हीलिंग लोकेटर, विज़ुअल वैलिडेशन और AI-जनरेटेड टेस्ट स्टेप्स के ज़रिए टेस्ट सूट को बेहतर बनाया जा सकता है। AI इंजन ऐप अपडेट के दौरान लोकेटर में होने वाले बदलावों का पता लगाते हैं, स्थिर XPath विकल्प सुझाते हैं और अस्थिर टेस्ट को स्वतः वर्गीकृत करते हैं ताकि इंजीनियर रखरखाव के बजाय वास्तविक दोषों पर ध्यान केंद्रित कर सकें।

जी हां। एआई मोबाइल-टेस्टिंग टूल ऐप स्क्रीन का विश्लेषण करते हैं, इंटरैक्टिव तत्वों की पहचान करते हैं और परिणाम उत्पन्न करते हैं। Appium वांछित क्षमताओं और लोकेटरों के साथ स्क्रिप्ट तैयार की जाती हैं। फिर टेस्टर स्क्रिप्ट की समीक्षा और परिष्करण करते हैं, जिससे अनावश्यक कोड कम हो जाता है और नई टीमों के लिए सीखने की प्रक्रिया तेज हो जाती है। Appium स्वचालन।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: