Appium البرنامج التعليمي للمبتدئين

⚡ ملخص ذكي

Appium شرح لـ Android ويقدم اختبار تطبيقات iOS للأجهزة المحمولة إطار عمل مفتوح المصدر لأتمتة واجهة المستخدم، والذي يدعم التطبيقات الأصلية والهجينة وتطبيقات الويب على كلا النظامين الأساسيين باستخدام أداة واحدة. Seleniumواجهة برمجة تطبيقات متوافقة. يشرح هذا الدليل كيفية Appium الأعمال، خطوات التثبيت، برنامج Inspector، ملحق المحاكي، و Java حالة اختبار الآلة الحاسبة.

  • 📱 التعريف الأساسي: Appium هو إطار عمل مفتوح المصدر لأتمتة واجهة المستخدم على الأجهزة المحمولة، يدعم التطبيقات الأصلية والهجينة وتطبيقات الويب عبر Android ويمكن الوصول إلى نظام iOS من خلال واجهة برمجة تطبيقات واحدة.
  • ؟؟؟؟ نموذج خادم HTTP: Appium يعمل كخادم HTTP لـ Node.js يقوم بترجمة أوامر WebDriver JSON إلى استدعاءات أتمتة خاصة بالمنصة.
  • 🧰 مجموعة الأدوات: تشمل المتطلبات الأساسية ما يلي: Android SDK، JDK، Eclipse, TestNG, Selenium ملف JAR الخاص بالخادم، Appium مكتبة العميل، و Appium سطح المكتب.
  • 🔍 المفتش والمسجل: Appium يقوم برنامج Inspector بفحص التسلسلات الهرمية للعناصر وإنشاء نصوص برمجية جاهزة، بينما برنامج UIAutomator Viewer هو Windows تراجع.
  • Java سير العمل التجريبي: استخدم DesiredCapabilities و RemoteWebDriver و TestNG التعليقات التوضيحية لإطلاق وتأكيد صحة التطبيقات الأصلية Android تطبيقات مثل الآلة الحاسبة.

Appium شرح لـ Android واختبار تطبيقات الجوال لنظام iOS

ما هي تفاصيل Appium?

Appium واجهة مستخدم لتطبيق جوال مفتوحة المصدر يتم توزيعها مجاناً تجريب الإطار. Appium يُتيح اختبار التطبيقات الأصلية والهجينة وتطبيقات الويب، ويدعم التشغيل الآلي على الأجهزة الفعلية وكذلك على المحاكيات. كما يوفر اختبار التطبيقات عبر المنصات المختلفة، حيث تعمل واجهة برمجة تطبيقات واحدة لكلا النظامين. Android ونصوص اختبار نظام التشغيل iOS.

Appium لديها لا يعتمد على نظام تشغيل الجهاز المحمول. يقوم الإطار بتغليف وترجمة Selenium أوامر WebDriver في UIAutomation (iOS) أو UIAutomator (Android) الأوامر التي تعتمد على نوع الجهاز، وليس على إصدار نظام التشغيل الأساسي.

Appium يدعم كل لغة لديها Selenium مكتبات العميل — Java، ج موضوعية، Javaسيناريو باستخدام Node.js و PHP و Ruby Python, C#، وأكثر من ذلك.

كيف Appium ؟

  • Appium هو خادم HTTP مكتوب على Node.js المنصة التي تدعم نظام التشغيل iOS و Android جلسات تستخدم بروتوكول WebDriver JSON. يجب تثبيت Node.js مسبقًا على النظام قبل بدء التشغيل. Appium الخادم.
  • متى Appium بعد تنزيل البرنامج وتثبيته، يتم إعداد خادم على الجهاز المحلي يعرض واجهة برمجة تطبيقات REST.
  • يستقبل الخادم طلبات الاتصال والأوامر من العميل وينفذ الأوامر على جهاز محمول (Android أو دائرة الرقابة الداخلية).
  • يستجيب النظام باستجابات HTTP. لتنفيذ الطلبات، Appium يستدعي أطر عمل التشغيل الآلي الأصلية للأجهزة المحمولة لتشغيل واجهة المستخدم الخاصة بالتطبيق:
    • Apple Instruments لنظام iOS (الأدوات متوفرة فقط في Xcode 3.0 أو أحدث مع نظام التشغيل OS X الإصدار 10.5 والإصدارات الأحدث).
    • Google UIAutomator لـ Android مستوى API 16 أو أعلى.
    • Selendroid لـ Android مستوى API 15 أو أقل.

المتطلبات الأساسية للاستخدام Appium

  1. تثبيت Android SDK (استوديو) [الرابط].
  2. تثبيت JDK (Java مجموعة التطوير) [الرابط].
  3. تثبيت Eclipse [الرابط].
  4. تثبيت TestNG لـ Eclipse [الرابط].
  5. تثبيت Selenium جار الخادم [الرابط].
  6. Appium مكتبة العميل [الرابط].
  7. معلومات تطبيق APK on Google يلعب [الرابط].
  8. Node.js (ليس شرطًا أساسيًا — عندما) Appium تم تثبيت الخادم، وتم تضمين Node.exe وNPM مع الإصدار الحالي. Appium الإصدار).
  9. تثبيت Appium الحاسوب.

تثبيت Appium الحاسوب

Appium سطح المكتب هو تطبيق مفتوح المصدر بواجهة رسومية يقوم بتثبيت وتشغيل Appium الخادم. يأتي مزودًا بجميع المتطلبات الأساسية اللازمة لاستخدامه. Appium الخادم، ويأتي مزودًا بأداة فحص لعرض المعلومات الأساسية حول تطبيقاتك ومسجل لإنشاء رمز نمطي يقوم بأتمتة تطبيقات الهاتف المحمول.

الخطوة 1) انتقل إلى البرنامج المساعد في التأليف http://appium.io/ ثم انقر على "تنزيل". Appium.

Appium صفحة التنزيل الرسمية للموقع

الخطوة 2) في عمل Windowsحدد ملف .exe وقم بتنزيله. يبلغ حجم الملف حوالي 162 ميجابايت، وقد يستغرق التنزيل بعض الوقت حسب سرعة الإنترنت لديك.

اختار Windows Appium برنامج تثبيت سطح المكتب

الخطوة 3) انقر على ملف .exe الذي تم تنزيله.

يجري Appium ملف تنفيذي لتثبيت سطح المكتب

الخطوة 4) على Windows لا يوجد معالج تثبيت على الجهاز — Appium يتم تشغيل البرنامج مباشرة من ملف .exe. بعد النقر على ملف .exe، تظهر شاشة البداية التالية لبضع دقائق.

Appium رسوم متحركة لتحميل سطح المكتب

في عمل macOS، أنت بحاجة إلى تثبيت ملف .dmg.

الخطوة 5) تُفتح نافذة بدء تشغيل الخادم. تقوم هذه النافذة بتعبئة اسم المضيف والمنفذ الافتراضيين (والذين يمكنك تغييرهما) وتعرض... Appium الإصدار المستخدم.

Appium نافذة بدء تشغيل الخادم مع المضيف والمنفذ

الخطوة 6) انقر بدء الخادميتم تشغيل خادم جديد على المضيف والمنفذ المحددين، ويظهر إخراج سجل الخادم في وحدة التحكم.

Appium مخرجات سجل الخادم بعد بدء التشغيل

الخطوة 7) انقر نافذة جلسة جديدة.

افتح نافذة جلسة جديدة في Appium الحاسوب

الخطوة 8) أدخل القدرات المطلوبة وابدأ جلسة.

أدخل القدرات المطلوبة للبدء Appium الجلسة

Appium مفتش

وعلى غرار Selenium أداة التسجيل والتشغيل في بيئة التطوير المتكاملة (IDE)، Appium لديه مفتش لتسجيل وإعادة تشغيل الاختبارات. يقوم بتسجيل وإعادة تشغيل سلوك التطبيق الأصلي من خلال فحص DOM، ويُنشئ نصوص اختبار بأي لغة مدعومة. لاحظ أن Appium لا يدعم برنامج Inspector على Microsoft Windows: على Windows يُطلق Appium الخادم لا يفحص العناصر. يُنصح باستخدام UIAutomator Viewer كخيار بديل لفحص العناصر على Windows.

خطوات البدء Appium برنامج Inspector على جهاز Mac:

الخطوة 1) قم بتنزيل وابدأ Appium الخادم يستخدم عنوان IP الافتراضي 0.0.0.0 والمنفذ 4725.

  1. حدد ملف المصدر أو ملف .app من محرك الأقراص المحلي الخاص بك للاختبار.
  2. حدد خانة الاختيار "مسار التطبيق" لتمكين زر "اختيار".

الخطوة 2) انقر فوق زر "اختيار" لتصفح وتحديد ملف الاختبار من محرك الأقراص المحلي.

Appium تحديد مسار تطبيق الفحص على نظام التشغيل Mac

الخطوة 3) قم بتشغيل محاكي نظام التشغيل iOS على جهاز Mac.

الخطوة 4) انقر على إطلاق الزر الموجود في الزاوية العلوية اليمنى. سيؤدي هذا إلى ظهور أيقونة زرقاء - انقر فوق تلك الأيقونة لفتحها. Appium المفتش والمحاكي مع التطبيق المحدد مسبقًا.

إطلاق Appium مفتش مع محاكي iOS

الخطوة 5) بمجرد إطلاقه ، Appium يعرض برنامج Inspector التسلسل الهرمي للعناصر في بنية عمودية. كما يمكن للمستخدم تطبيق إجراءات مثل النقر والتمرير والإيماءات المماثلة.

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 على Android الجهاز: انتقل إلى إعدادات الجهاز > خيارات المطور > قم بتمكين "تصحيح أخطاء USB".

الخطوة 4) افتح موجه الأوامر وانتقل إلى Android مجموعة تطوير البرامج (SDK) \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 الأمر. يبدأ خادم ADB، و Appium سيستخدمها لإرسال الأوامر إليك Android الجهاز.

الخطوة 7) انتقل إلى Appium قم بتحديد الدليل على نظامك وابدأ Appium من خلال النقر فوق Appiumملف. exe.

الخطوة 8) لا تقم بتغيير عنوان IP الافتراضي أو رقم المنفذ. انقر إطلاق. ك Appium تبدأ وحدة التحكم عند 127.0.0.1:4723 كما هو موضح أدناه.

Appium وحدة التحكم تعمل على 127.0.0.1:4723

الخطوة 9) انقر بالبداية. Appium الخادم يعمل الآن على نظامك.

Appium حالة اختبار لأصلي Android تطبيق (آلة حاسبة)

الخطوة 1) قم بتنزيل ADT Eclipse يمكنك إضافة المكون الإضافي أو الحصول على حزمة ADT بشكل منفصل من اضغط هنا.

الخطوة 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 قم بتشغيل المحاكي من مدير الأجهزة الافتراضية، ثم انقر فوق تشغيل > TestNGيقوم البرنامج بتشغيل تطبيق الآلة الحاسبة (Calculator.app) على المحاكي المحدد، ويتم عرض النتيجة في Eclipse وحدة التحكم باستخدام TestNG الإطار.

حدود Appium

  1. Appium لا يدعم الاختبار على Android الإصدارات أقل من 4.2.
  2. دعم محدود لاختبار التطبيقات الهجينة - على سبيل المثال، لا يمكن اختبار عملية التبديل بين عرض الويب والعرض الأصلي في أي من الاتجاهين.
  3. لا يوجد دعم لتشغيل Appium المفتش على Microsoft Windows.

الأخطاء الشائعة وخطوات استكشاف الأخطاء وإصلاحها في Appium

خطأ خطوات استكشاف الأخطاء وإصلاحها
خطأ: الإمكانيات المطلوبة التالية غير متوفرة: اسم الجهاز، اسم النظام الأساسي أضف الإمكانيات المطلوبة deviceName و platformName إلى Appium نص برمجي. على سبيل المثال: capabilities.setCapability("deviceName", "Emulator"); و capabilities.setCapability("platformName", "Android");
خطأ: لم يتم العثور على adb. يرجى تعيين متغير البيئة ANDROID_HOME باستخدام Android مسار الدليل الجذر SDK. قم بتعيين دليل SDK الرئيسي في متغيرات بيئة النظام ضمن إدخال المسار.
خطأ: org.openqa.selenium.SessionNotCreatedException: تعذر إنشاء جلسة جديدة. حدد مسار التطبيق الصحيح وأعد تشغيله Appium الخادم.
كيفية العثور على عنصر DOM أو كسباث في تطبيق الهاتف المحمول؟ استخدم أداة عرض UIAutomator لفحص عناصر DOM لـ Android التطبيقات.

الأسئلة الشائعة

Selenium يقوم بأتمتة متصفحات الويب؛ Appium يقوم بأتمتة تطبيقات الهاتف المحمول. Appium يعيد استخدام بروتوكول WebDriver لذا Selenium يتبناه المستخدمون بسرعة، ولكن Appium كما يدعم التطبيقات الأصلية والهجينة وتطبيقات الويب على الأجهزة المحمولة Android ونظام التشغيل iOS من خلال محركات أتمتة خاصة بالمنصة.

Appium يدعم كل لغة تحتوي على Selenium عميل WebDriver، بما في ذلك Java, Python, Javaنص برمجي باستخدام Node.js و Ruby و C# و PHP و Objective-C. هذا يجعل Appium قابل للتكيف مع فرق هندسية متنوعة دون فرض تغيير في اللغة.

نعم. Appium يختبر هذا النظام التطبيقات الأصلية المثبتة على الجهاز، والتطبيقات الهجينة التي تتضمن عروض ويب مدمجة، وتطبيقات الويب الخاصة بالهواتف المحمولة التي تعمل داخل متصفحي Chrome أو Safari. وتدعم واجهة برمجة تطبيقات واحدة قائمة على WebDriver جميع هذه الأنواع الثلاثة، مما يُسهّل صيانة الاختبارات عبر المنصات المختلفة.

الذكاء الاصطناعي يتحسن Appium تُعزز هذه الأدوات قدراتها من خلال أدوات تحديد المواقع ذاتية الإصلاح، والتحقق المرئي، وخطوات الاختبار المُولّدة بواسطة الذكاء الاصطناعي. وتكتشف محركات الذكاء الاصطناعي انحرافات أدوات تحديد المواقع عبر تحديثات التطبيق، وتوصي ببدائل XPath مستقرة، وتصنف الاختبارات غير المستقرة تلقائيًا، مما يسمح للمهندسين بالتركيز على العيوب الحقيقية بدلًا من الصيانة.

نعم. تقوم أدوات اختبار تطبيقات الجوال المدعومة بالذكاء الاصطناعي بتحليل شاشات التطبيقات، وتحديد العناصر التفاعلية، وإنشاء Appium يتم إنشاء نصوص برمجية تتضمن الإمكانيات والمواقع المطلوبة. ثم يقوم المختبرون بمراجعة هذه النصوص وتحسينها، مما يقلل من التعليمات البرمجية المتكررة ويسرع عملية إعداد الفرق الجديدة. Appium أتمتة.

تلخيص هذه التدوينة بـ: