البرنامج التعليمي APPIUM لاختبار تطبيقات Android وiOS للجوال

ما هو Appium؟

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

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

يدعم Appium جميع اللغات التي تحتوي على مكتبات عملاء السيلينيوم مثل Java وObjective-C و جافا سكريبت مع Node.js، PHP، روبي، بايثون، C # وما إلى ذلك.

كيف يعمل APPIUM؟

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

شرط أساسي لاستخدام APPIUM

  1. تثبيت ANDROID SDK (الاستوديو)[لينك]-
  2. تثبيت JDK (مجموعة تطوير جافا) [لينك]
  3. تثبيت Eclipse [لينك]
  4. قم بتثبيت TestNg لـ Eclipse [لينك]
  5. تثبيت جار خادم السيلينيوم [لينك]
  6. مكتبة عملاء Appium[لينك]
  7. معلومات تطبيق APK على Google Play [لينك]
  8. Node.js (غير مطلوب - عندما يتم تثبيت خادم Appium، فإنه يأتي بشكل افتراضي مع "Node.exe" وNPM. وهو مضمن في الإصدار الحالي من Appium.)
  9. تثبيت Appium سطح المكتب

تثبيت Appium سطح المكتب

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

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

تثبيت Appium سطح المكتب

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

تثبيت Appium سطح المكتب

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

تثبيت Appium سطح المكتب

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

تثبيت Appium سطح المكتب

بالنسبة لنظام التشغيل Mac، تحتاج إلى تثبيت ملف dmg

الخطوة 5) بعد ذلك سترى نافذة بدء الخادم. يقوم بملء خيار المضيف والمنفذ الافتراضي الذي يمكنك تغييره. ويذكر أيضًا إصدار Appium المستخدم.

تثبيت Appium سطح المكتب

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

تثبيت Appium سطح المكتب

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

تثبيت Appium سطح المكتب

الخطوة 8) يمكنك إدخال القدرات المطلوبة وبدء الجلسة.

تثبيت Appium سطح المكتب

المفتش ابيوم

على غرار أداة التسجيل والتشغيل Selenium IDE، يحتوي Appium على "Inspector" للتسجيل والتشغيل. يقوم بتسجيل وتشغيل سلوك التطبيق الأصلي عن طريق فحص DOM وإنشاء البرامج النصية للاختبار بأي لغة مرغوبة. ومع ذلك، حاليًا، لا يوجد دعم لـ Appium Inspector Microsoft Windows. في Windows، يقوم بتشغيل خادم Appium ولكنه يفشل في فحص العناصر. ومع ذلك، يمكن استخدام عارض UIAutomator كخيار لفحص العناصر.

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

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

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

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

المفتش ابيوم

الخطوة 3) ابدأ تشغيل جهاز محاكاة على جهاز Mac.

الخطوة 4) انقر فوق الزر "تشغيل" من الزاوية اليمنى العليا، والذي يتيح رمز اللون الأزرق. مرة أخرى، انقر على أيقونة اللون الأزرق هذه، وسوف تفتح Appium Inspector وSimulator مع تطبيق محدد مسبقًا.

المفتش ابيوم

الخطوة 5)- سيؤدي إطلاق Appium Inspector إلى إظهار التسلسل الهرمي للعناصر في العمود-wise بناء. أيضًا، يمكن للمستخدم تطبيق الإجراءات باستخدام أزرار مثل النقر والتمرير السريع وما إلى ذلك.

المفتش ابيوم

الخطوة 6) انقر على زر "إيقاف" لإيقاف التسجيل.

قم بتوصيل محاكي Android إلى Appium

الخطوة 1) قم بتثبيت Android SDK في نظامك.

انتقل إلى لوحة التحكم >> النظام والأمان >> النظام ومن اللوحة اليسرى انقر على "إعدادات النظام المتقدمة". من النافذة المنبثقة "خصائص النظام"، انقر فوق علامة التبويب "خيارات متقدمة" ثم انقر فوق الزر "متغيرات البيئة".

قم بتوصيل محاكي Android إلى Appium

الخطوة 2) الآن، من النافذة المنبثقة "متغيرات البيئة"، "double انقر فوق "المسار" وقم بتعيين متغير ANDROID_HOME الذي يشير إلى دليل SDK الخاص بك. في المسار، قم بإلحاق مسار مجلد SDK بالكامل.

على سبيل المثال -

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

قم بتوصيل محاكي Android إلى Appium

الخطوة 3) ابدأ تشغيل محاكي Android الخاص بك أو قم بتوصيل أي جهاز Android بنظامك (تأكد من تمكين خيار تصحيح أخطاء Android في جهاز Android الخاص بك. للتحقق من خيار التصحيح. انتقل إلى إعدادات الجهاز >> خيارات المطور >> حدد "خيار التصحيح").

الخطوة 4) افتح موجه الأوامر وانتقل إلى دليل \platform-tools\ الخاص بنظام Android SDK (على سبيل المثال D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

الخطوة 5)- قم بتشغيل أمر "adb devices". يمكنك رؤية جهازك المتصل مدرجًا في نافذة موجه الأوامر. (في CMD، اكتب ">adb devices" - سيدرج هذا الأمر مثيلات المحاكي المتصلة. على سبيل المثال: تثبيت adb –s emulator-5554 )

قم بتوصيل محاكي Android إلى Appium

الخطوة 6)- قم بتشغيل الأمر "adb start-server". سيبدأ تشغيل خادم ADB الذي سيستخدمه Appium لإرسال الأوامر إلى جهاز Android الخاص بك.

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

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

قم بتوصيل محاكي Android إلى Appium

الخطوة 9) انقر فوق الزر "ابدأ"، وبدأ خادم Appium في العمل على نظامك.

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

الخطوة 1)) تنزيل ADT eclipse البرنامج المساعد أو تحميل ADT المجمعة بشكل منفصل هنا

الخطوة 2) ساعات العمل Eclipse وإنشاء مشروع جديد >> الحزمة >> Class

الخطوة 3) استيراد مكتبة السيلينيوم و تستنج داخل هذا المشروع الجديد.

الخطوة 4) الآن قم بإنشاء برنامج اختبار صغير لـ "Calculator.app" لجمع رقمين.

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.CapabilityType;
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 app-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");
// This package name of your app (you can get it from apk info app)
	capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app)
//Create RemoteWebDriver instance and connect to the Appium server
 //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities
   driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void testCal() throws Exception {
   //locate the Text on the calculator by using 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 edit box of the calculator by using By.tagName()
   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 Manager" وانقر فوق "تشغيل" >> TestNG. سيقوم البرنامج أعلاه بتشغيل "Calculator.app" على المحاكي المحدد وستظهر النتيجة أسفله Eclipse وحدة التحكم باستخدام إطار عمل TestNG.

القيود باستخدام APPIUM

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

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

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