Appium Architecture لاختبار تطبيقات الهاتف المحمول
نشرت: 2020-06-26جدول المحتويات
نظرة عامة على Appium
Appium عبارة عن أداة / إطار عمل لاختبار تطبيقات الهاتف المحمول يوفر التشغيل الآلي لتطبيقات iOS و Android للجوال. Appium هي بنية خادم عميل تقبل رمز الاختبار المكتوب بلغة Java و Python و Ruby و JavaScript وما إلى ذلك.
Appium في جوهره هو خادم ويب مكتوب بلغة برمجة Node.js التي تنشئ جلسات iOS و Android باستخدام بروتوكول سلك JSON.
Appium Server ينفذ الإجراءات التالية
- يتلقى اتصالاً من العميل في شكل كائن JSON عبر HTTP
- ابدأ جلسة ثم قم بإرجاع معرف الجلسة
- يستمع للأوامر الصادرة
- ينفذ هذه الأوامر على جهاز محمول
- يستجيب مع استجابة HTTP
مصدر
مفاهيم مفتاح Appium
قبل التعمق في بنية Appium ، دعونا أولاً نفهم المفاهيم الأساسية المرتبطة بهندسة Appium .
عميل Appium
عميل Appium عبارة عن رمز نصي آلي مكتوب بأي لغة تناسبك (مثل PHP ، و Java ، و Phyton ، وما إلى ذلك). يحتفظ عميل Appium بتفاصيل التكوين الخاصة بالجهاز المحمول والتطبيق جنبًا إلى جنب مع المنطق / الكود لتشغيل حالات الاختبار.
خادم Appium
خادم Appium هو خادم HTTP مكتوب بلغة برمجة Node.js يتلقى طلبات الاتصال والأوامر من عميل Appium بتنسيق JSON وينفذ هذه الأوامر على جهاز محمول. يتم بدء تشغيل Appium Server قبل استدعاء رمز الأتمتة.

يتفاعل الخادم مع منصات iOS و Android وينشئ جلسة للتفاعل مع الأجهزة الطرفية لتطبيقات الهاتف المحمول.
قراءة: أهم 20 فكرة لمشروع أندرويد رائج وموضوعات للمبتدئين
الجهاز النهائي
غالبًا ما يكون الجهاز النهائي عبارة عن جهاز محمول أو محاكي في الوقت الفعلي. يتم تنفيذ البرامج النصية الآلية في الجهاز النهائي بواسطة خادم Appium بواسطة أوامر العميل.
بروتوكول سلك JSON
في بنية Appium ، يعتبر بروتوكول سلك JSON آلية نقل تستخدم لإنشاء اتصال بين عميل Appium وخادم Appium. يتحكم هذا البروتوكول في سلوك الأجهزة المحمولة المختلفة خلال الجلسة. إنها مجموعة من نقاط النهاية المحددة مسبقًا والمعرضة عبر RESTful API. على سبيل المثال ، إذا أراد العميل إرسال البيانات إلى خادم ، يقوم العميل بتحويلها إلى كائن JSON ويدفعها إلى الخادم. يوزع الخادم بعد ذلك كائن JSON المستلم ويحوله مرة أخرى إلى البيانات للاستخدام.

معمارية Appium
دعونا نفهم الآن معمارية Appium .
كما ذكرنا أعلاه ، فإن خادم Appium هو خادم HTTP يقرأ طلبات HTTP من مكتبات العميل بتنسيق JSON ويرسل هذه الطلبات إلى النظام الأساسي المناسب. يتعرف خادم Appium على هذه الطلبات وينشئ جلسة أتمتة مع الجهاز النهائي المقابل. بمجرد إنشاء الجلسة ، يبدأ خادم Appium في تنفيذ حالات الاختبار في الجهاز النهائي.
يتعامل خادم Appium مع الطلبات بشكل مختلف لنظامي iOS و Android ، اعتمادًا على النظام الأساسي الذي يعمل عليه. سوف تشرح الأقسام التالية كيف يقوم Appium بتشغيل الأوامر بشكل مختلف على هذه الأنظمة الأساسية.
Appium يعمل في جهاز iOS
على جهاز iOS ، يستخدم Appium واجهة برمجة تطبيقات UIAutomation (مكتبة JavaScript مقدمة من شركة Apple) للاتصال بعناصر واجهة مستخدم التطبيق.
يصف الشكل المعماري Appium iOS أعلاه بنية Appium لأتمتة iOS. دعونا نفك تشفير شكل بنية iOS Appium خطوة بخطوة:
- يتواصل عميل Appium مع خادم Appium باستخدام بروتوكول سلك JSON ويرسل الأمر بتنسيق JSON إلى الخادم.
- يقوم الخادم بعد ذلك بإنشاء اتصال مع العميل وإعادة توجيه الطلب إلى ICS (خادم أوامر الأجهزة). يدفع خادم Appium أيضًا ملف bootstrap.js إلى جهاز iOS. يقوم ICC (عميل أوامر الأجهزة) بعد ذلك باختيار الأمر وتشغيله في ملف bootstrap.js داخل بيئة جهاز iOS.
- بمجرد اكتمال العملية المذكورة أعلاه ، يتم إرسال تفاصيل سجل الأمر المنفذ مرة أخرى إلى الخادم من قبل العميل.
Appium يعمل في جهاز Android
على جهاز Android ، سيستخدم Appium إطار عمل UIAutomator الذي طوره مطورو Android للتفاعل مع عناصر واجهة مستخدم التطبيق. UI Automator هو إطار عمل يستخدم لاختبار واجهة المستخدم.

يصف الشكل المعماري Appium Android أعلاه بنية Appium لأتمتة Android. الأرقام أعلاه تستبدل bootstrap.js بـ bootstarp.jar.
تعلم: Android SDK: برنامج تعليمي مفصل للمبتدئين
دعونا نفك تشفير شكل هندسة Android Appium خطوة بخطوة
- يتواصل عميل Appium مع خادم Appium باستخدام بروتوكول سلك JSON ويرسل الأمر بتنسيق JSON إلى الخادم.
- ثم ينشئ خادم TheAppium اتصالاً بالعميل ويعيد توجيه الطلب إلى وحدة تحكم ICS UiAutomator. يدفع خادم Appium أيضًا ملف bootstrap.jar إلى جهاز Android. أمر UiAutomator يقوم العميل بعد ذلك باختيار الأمر وتشغيله في ملف bootstrap.jar داخل بيئة جهاز Android.
- بمجرد اكتمال العملية المذكورة أعلاه ، يتم إرسال تفاصيل سجل الأمر المنفذ مرة أخرى إلى خادم Appium بواسطة العميل.
اقرأ أيضًا: Full-Stack vs Android Developer: أيهما يجب أن تختار
خاتمة
Appium هي بلا شك واحدة من أكثر المنصات شيوعًا لاختبار تطبيقات الأجهزة المحمولة. إلى حد بعيد ، لقد تعرفت على نظرة عامة على بنية Appium وسير العمل وعمل Appium على أنظمة iOS و Android.
إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فراجع دبلومة PG upGrad & IIIT-B في تطوير البرامج الكاملة التي تم تصميمها للمهنيين العاملين وتقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، و المهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.