اختبار التحكم الautomationفيتطبيقات الهواتف المحمولة كان يعتبر من الرفاهية وجود مجموعة تحكم تلقائية لتطبيقك في الأيام القديمة. لكن حالياً، أصبح جزء حاسم من DevOps.
يوجد منافع كثيرة للتحكم التلقائي ولكن الثلاثة منها هي الأهم:
- تغطية الاختبار الأكبر: تسمح لك التحكم التلقائي باختبار المزيد من الميزات في الوقت الأقل. هذا يعني أن يتم زيادة تغطية الاختبار دون زيادة ميزانية الاختبار.
- خفض خطر خطأ الإنسانية: تبدو الاختبارات التلقائية أقل عرضة لتجاهل حالات الأطراف أو وجود أخطاء أخرى أثناء اختبار التطبيق يدويًا.
- المعلومات السريعة: يمكن تنفيذ الاختبارات التلقائية أسرع من الاختبارات اليدوية. هذا يعني أن يمكنك أن تحصل على معلومات عن تطبيقك بسرعة أقل وهذا يمكنك إصلاح المشاكل قبل أن تكون مشاكل كبيرة.
إن تحكم التطبيقات الهواتف المحمولة التلقائي هو عملية قيمة تساعدك على إصدار تطبيقات بجودة أفضل في الوقت الأقل.
إقرأ المزيد: كيفية تسريع سرعة إصدار المنتج
ولكن السؤال يطرح نفسه هنا هل أنت تغطي الكمية الكافية من الأجهزة لاختبار تطبيقك وجعله من جودة عالية. اختبار تطبيقك على جهاز واحد أو عدة أجهزة يمكن أن يؤدي إلى قضايا خاصة بالجهاز، قضايا واجهة المستخدم في تنسيقات مختلفة، وقضايا توظيفية عبر إصدارات نظام التشغيل مختلفة.
لماذا القيام بتشغيل نفس السكريبت على عدة أجهزة هو مهم؟
إختبار تطبيق على أجهزة متعددة هو خطوة مهمة في عملية جودة التطبيق. يجب أن نتأكد بأن تطبيقنا يعمل مع أجهزة مختلفة، إصدارات نظام التشغيل مختلفة، وأحجام الشاشة مختلفة.
هناك العديد من الأسباب الهامة لاختبار التطبيقات على أجهزة متعددة. واحدة من الأسباب الأهم هو أن المستخدمين قد يستخدمون أنواع مختلفة من الأجهزة للوصول إلى نفس التطبيق. لا يمكننا التنبؤ بأي جهاز سيستخدمه المستخدم للوصول إلى التطبيق، لذلك يجب أن نتأكد من أنه يعمل. لضمان أننا يمكننا تشغيل سكريبتنا التلقائي على أجهزة متعددة بسهولة.
كيفية تشغيل نفس السكريبت على أجهزة متعددة باستخدام Appium؟
عندما نقوم بتشغيل سكريبت Appium، يجب علينا إرسال قدرات Appium المرغوب فيها، التي تشمل platformName, platformVersion، وdeviceName لجهازنا.
{ "platformName": "iOS", "platformVersion": "11.0", "deviceName": "iPhone 9", "automationName": "XCUITest", "app": "/path/to/my.app" }
Copied
لتشغيل برنامج الاختبار الخاص بك على جهاز آخر، نحتاج إلى تغيير القدرات المطلوبة لبرنامج الاختبار الخاص بنا، وسيقوم بتشغيل برنامج الاختبار على هذا الجهاز المحدد. لا نحتاج إلى تغيير برنامج الاختبار الخاص بنا لتشغيله على أجهزة مختلفة. ومع ذلك، قد يختلف الأمر عند تنفيذ برامج الاختبار على أجهزة Android وiOS لأن محددات العناصر قد تختلف على أجهزة Android وiOS. ولكن يمكن تشغيل البرنامج المكتوب لأي جهاز Android أو iOS على جميع الأجهزة التي تعمل بنفس نظام التشغيل عن طريق تغيير القدرات المطلوبة.
تحديات إدارة أجهزة متعددة
تشغيل برنامجك على أجهزة متعددة هو الأمر السهل في عملية اختبار الأتمتة الخاصة بك، ولكن إدارة تلك الأجهزة وامتلاك أجهزة متعددة هو الجزء الأصعب والموضوع المكلف في عملية الأتمتة الخاصة بك. إذا تحدثنا فقط عن أجهزة iPhone، فهناك من iPhone6 إلى iPhone13، التي يستخدمها المستخدمون بمزيج من iOS11 إلى iOS16. وعندما يتعلق الأمر بـ Android، تزداد هذه الأرقام بشكل كبير. لا يمكن لأي فريق إدارة أو امتلاك جميع الأجهزة الشهيرة الموجودة في السوق بإصدارات نظام تشغيل مختلفة.
اقرأ المزيد: تشغيل اختبارات Appium على جهاز iOS
المحاكي/المحاكي كبديل
أولاً، ما يأتي إلى عقلنا لحل هذه المشكلة هو استخدام محددات ومحاكاة لأجهزة مختلفة. ولكن التجربة على محدد/محاكاة ليست نفس الشئ كما إذا تم التجربة على أجهزة حقيقية. بينما ستأخذ المحاكاة والمحددات إلى ما يقرب من المحاكاة، فإنه من المستحيل أن تقوم بنفس الأمور كما تقوم بها الجهاز الحقيقي. وهذا لأن المحددات لا تستطيع التعامل مع كل من العوامل البيئية الواحدة أو الميزات أو الأعمال المتعملة على الجهاز الحقيقي. فائدة الجهاز الحقيقي تكمن في أسمه. التجربة على الأجهزة الحقيقية الفيزيائية تعني أنك تقوم بالتجربة بنفس الطريقة التي يقوم بها مستخدموك بجهازهم.
تجربة على الأجهزة الحقيقية: المزيد
هنا يأتي BrowserStack كمنقذ لتحريك خلف الفوضى في الأجهزة. BrowserStack App Automate يوفر جميع الأجهزة المستخدمة الشائعة الأجهزة مع إصدارات مختلفة من النظم المعمولية لتختبر تطبيقك بواسطة Appium بشكل آلي. يمكنك توافير BrowserStack بسهولة في قالبك لتختبر خطواتك عبر أجهزة متعددة.
تشغيل سكربتات Appium على أجهزة متعددة باستخدام BrowserStack
تشغيل سكربتاتك الاختبارية على BrowserStack مع أجهزة متعددة يمكن القيام به ببساطة باستخدام App Automate. فقط عليك متابعة خطوات قليلة لتغيير إعداداتك وسيتم دمج الاختبار التلقائي الحالي مع BrowserStack.
الخطوة 2: قم بتحميل ملف .apk أو .ipa الخاص بك على BrowserStack. يمكنك القيام بذلك عن طريق استخدام “قم بتحميل تطبيقك” على لوحة التحكم الخاصة بك أو يمكنك أيضًا استخدام APIs BrowserStack للتحميل تلقائياً. ستحصل على رابط للتطبيق بعد تحميل التطبيق الخاص بك.
{ "app_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4" }
Copied
خطوة 3: حدد التطبيق الذي سيتم اختباره بواسطة ال app القدرة. استخدم ال app_url القيمة التي تم عملية تحميل التطبيق (خطوة 2) لتعيين هذه القدرة.
- حدد الجهاز الحقيقي الأندرويد أو الآيفون الذي تريد اختباره بواسطة ال device القدرة.
- لتكوين قارب Appium، استخدم عنوان بروزروست برومير مع بيانات دخولك الخاصة بBrowserStack (تذكر في خطوة 1) كما يلي:
https://YOUR_USERNAME:[email protected]/wd/hub
سيبدو هذا كما يلي:
userName = "YOUR_USERNAME" accessKey = "YOUR_ACCESS_KEY" desired_caps = { "build": "Android", "device": "Samsung Galaxy S8 Plus", “platformVersion": "11.0", "app": "<app_url>" } driver = webdriver.Remote("https://" + userName + ":" + accessKey + "@hub-cloud.browserstack.com/wd/hub", desired_caps)
Copied
بمجرد قيامك بهذا، سيبدأ script Appium على جهازات BrowserStack الحقيقية في السحابة.
يمكنك بسهولة تغيير الجهاز بتغيير اسمه ونسخة النظام في desired caps. في BrowserStack يمكنك أيضًا تشغيل تجاربك بالتنافر لإنتهاء تلك التوصيلات أسرع. BrowserStack توفر فيديوهات، وسجلات الجهاز والشبكة، وسجلات Appium للتصحيح، ويمكنك تفقير تجاربك في لوحتك. BrowserStack يمكنها مساعدتك على تشغيل خطوط التفتيش الخاصة بك مع عدة جهازات، ولا يتوجب عليك إدارة هذه الأجهزة بنفسك.
ولتلخيص،
تجعل تجهيزات بروزروستاك للتفاتير التجارية سهلة التختبر على عدة أجهزة حقيقية مختلفة. بمجرد تغيير القدرات المرغوب فيها، يمكن للمستخدم بسهولة تنفيذ تختبرات على آلاف الأجهزة وتحديد سياسي إن كان تطبيقك جاهزًا للإصدار أو لا. ستجد فريقات التصديق بسهولة استخدام لوحة التحكم لإيجاد وتصحيح المشاكل فورًا.
Source:
https://www.browserstack.com/guide/how-to-run-same-script-in-multiple-devices-using-appium