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

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

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

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

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

كيف يعمل APPIUM؟

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مفتش APPIUM

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

الخطوات للبدء بها Appium المفتش على جهاز ماك:-

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

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

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

مفتش APPIUM

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

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

مفتش APPIUM

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

مفتش APPIUM

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

تعلق Android محاكي ل Appium

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

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

تعلق Android محاكي ل Appium

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

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

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

تعلق Android محاكي ل Appium

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

الخطوة 4) افتح موجه الأوامر وانتقل إلى Android دليل \platform-tools\ الخاص بمجموعة أدوات تطوير البرامج (على سبيل المثال 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) استيراد Selenium مكتبة و تستنج داخل هذا المشروع الجديد.

الخطوة 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 المفتش على Microsoft Windows.

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

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