اختبار فلاش مع Selenium ويب درايفر
⚡ ملخص ذكي
اختبار فلاش مع Selenium يتحقق WebDriver من أن مقاطع الفيديو والألعاب والرسوم المتحركة المستندة إلى Flash تعمل بشكل صحيح. يشرح هذا المورد كيفية التقاط كائنات SWF المضمنة، وتعيين معرّفات الكائنات، وأتمتة التشغيل باستخدام Selenium تسجيل IDE وفئة FlashObjectWebDriver للتحقق الموثوق.

ما هو اختبار الفلاش؟
اختبار الفلاش هو نوع من الاختبارات يُستخدم للتحقق من أن مقاطع الفيديو والألعاب والأفلام وغيرها من البرامج التي تعتمد على تقنية الفلاش تعمل كما هو متوقع. بعبارة أخرى، يُعرف اختبار وظائف الفلاش باسم اختبار الفلاش. فلاش هو برنامج شائع طورته شركة ماكروميديا (التي استحوذت عليها أدوبي لاحقاً). يُستخدم لتطوير الألعاب والتطبيقات والرسوم المتحركة والأفلام. الهاتف الألعاب والبرامج وما إلى ذلك.
In Selenium الأتمتة، إذا لم يتم العثور على العناصر بواسطة محددات المواقع العامة مثل المعرف والفئة والاسم وما إلى ذلك، ثم كسباث يتطلب الأمر العثور على عنصر في صفحة الويب لإجراء عملية عليه. ولكن في اختبار فلاش، كسباث يفشل الوصول إلى كائن فلاش. لذا، يلزم وجود كائن Flashwebdriver للعثور على كائن فلاش في أي تطبيق.
هنا سترى كيفية تنفيذ الفلاش الاختبار وكيفية إجراء اختبار الفلاش باستخدام Selenium.
شرط مسبق لاختبار فلاش
قبل البدء، إليك المتطلبات اللازمة لاختبار تطبيق فلاش:
- تطبيق فلاش.
- متصفح الويب المدعوم.
- ملحقات أدوبي فلاش بلاير.
أدوات- فيما يلي أدوات الاختبار المفيدة في اختبار الفلاش.
- Selenium
- واجهة المستخدم الخاصة بالصابون
- TestComplete
- استوديو الاختبار وما إلى ذلك.
Selenium أداة شائعة جدًا لاختبار مواقع الويب. يمكنك إنشاء إطار عمل عبر منصات ولغات برمجة مختلفة. وهي أداة مفتوحة المصدر، ويمكن تحميلها من الموقع الرسمي. تتميز بسهولة الإعداد والاستخدام والتطبيق.
كيف يختلف اختبار الفلاش عن العناصر الأخرى
الآن وقد أصبحت المتطلبات الأساسية جاهزة، من المفيد فهم سبب اختلاف سلوك Flash عن عناصر HTML القياسية أثناء الاختبار.
- لماذا يُعدّ التقاط الصور باستخدام الفلاش أمراً صعباً؟ وكيف يتمّ حلّ هذه المشكلة؟
تقنية فلاش قديمة. يصعب التقاط عناصر فلاش لأنها تختلف عن لغة HTML. كما أن فلاش عبارة عن ملف SWF (تنسيق ويب صغير) مضمن. ويصعب أيضاً الوصول إلى عناصر فلاش على الأجهزة المحمولة.
ديفيلوping يُعدّ فلاش أكثر صعوبة من التطويرping من منظور تحسين محركات البحث، تُعتبر صفحة HTML غير قابلة للقراءة بشكل كامل من قِبل محركات البحث، لأن تقنية فلاش لا تدعمها بشكل كامل. ومع ذلك، تم إدخال تقنيات متقدمة مثل HTML5 للتغلب على مشاكل مثل الأداء والأمان.
- كيف يتم اختبار تطبيق فلاش؟
يتم اختبار تطبيقات الفلاش بطريقتين:
- يدوي - يمكنك اختبار كائن Flash عن طريق تنفيذ حالات الاختبار يدويًا حيث أن اختبارها بسيط وسهل. بعد إصلاح الأخطاء، تأكد من أن الفلاش يعمل بشكل صحيح كما هو متوقع وقم بتسجيل الخروج.
- أتمتة - يمكنك كتابة برنامج نصي باستخدام أي أداة أتمتة مثل Selenium, SoapUI, TestCompleteإلخ. ثم قم بتنفيذ البرنامج النصي.
- الفرق بين الفلاش والعناصر الأخرى.
كما ذكرنا سابقاً، يكمن الفرق الرئيسي بين تقنية الفلاش والعناصر الأخرى في أن الفلاش مُضمّن في ملفات SWF، بينما تُضمّن العناصر الأخرى في ملفات HTML. ولذلك، يُعدّ استخراج ملفات HTML أسهل من استخراج ملفات الفلاش.
كيف يمكنك الحصول على مُعرّف كائن الفلاش لفيلم فلاش / تطبيق فلاش
بمجرد أن تعرف كيف يختلف Flash عن HTML، فإن الخطوة التالية هي تحديد موقع كائن Flash نفسه من خلال معرف الكائن الخاص به.
في أي صفحة ويب، يُستخدم الوسم <object> لتضمين أي وسائط متعددة (مثل فلاش، أكتيف إكس، فيديو، إلخ). وهو يعني "التضمين" داخل مستند HTML. يُعرّف هذا الوسم حاوية مُضمّنة بين وسمي <object> أو <embed> في مستند HTML لعرض محتوى تفاعلي أو تطبيق خارجي. يُستخدم اسم الكائن لتحديد موقع عنصر الفلاش في صفحات الويب.
على سبيل المثال، في المثال أدناه يمكنك أن ترى أن فيلم الفلاش مُعرّف في علامة "embed" في مستند أو ملف HTML.
على سبيل المثال:
/* Html page*/ <html> <body marginwidth="0" marginheight="0"> <embed width="100%" height="100%" name="plugin" src="http://video/movie_play.swf" type="application/flash"/> </body> </html>
استخدام معرّف الكائن للعثور على عناصر فلاش.
يمكنك استخدام سمات الفلاش مثل معرف الكائن لتحديد موقع كائن الفلاش. وبالتالي يمكنك إجراء العمليات عليه حسب الحاجة مثل التشغيل والإيقاف وما إلى ذلك.
كما سبق ذكره، لا يمكن الوصول إلى كائنات Flash باستخدام XPath. لذا، لكي يتمكن المطور من إجراء أي عملية على هذه الكائنات، عليه تعيين مُعرّف كائن مناسب.
تُظهر الشاشة أدناه مُعرّف الكائن "MyFlashMovie" الذي تم تعيينه لبرنامج Flash:
كيفية أتمتة استخدام الفلاش Selenium تسجيل IDE
بعد تعيين مُعرّف الكائن، يمكنك تسجيل التفاعلات على فيلم الفلاش مباشرةً من خلال Selenium IDE
يمكنك أيضًا أتمتة الفلاش باستخدام Selenium IDE
الخطوة 1) عليك فتح تطبيق الفلاش ثم Selenium بيئة التطوير المتكاملة كما هو موضح في الشاشة أدناه:
الخطوة 2) انقر الآن على زر "تسجيل الأحمر" الموجود على الجانب الأيمن وابدأ في إجراء العمليات على فيلم الفلاش، ثم ستجد النص المسجل كما هو موضح أدناه:
بعد التسجيل، إذا أراد المستخدم تشغيل البرنامج النصي، فيمكنه النقر على زر التشغيل الأخضر كما هو موضح في الشاشة أدناه. Selenium سيقوم IDE بتنفيذ البرنامج النصي خطوة بخطوة.
كيفية أتمتة استخدام الفلاش Selenium برنامج تشغيل الويب
للحصول على تحكم أكبر من عروض التسجيل، Selenium يتيح لك WebDriver التحكم في كائن Flash برمجيًا.
يمكنك أيضًا أتمتة الفلاش باستخدام Selenium قم بتمرير برنامج تشغيل الويب عبر كائن Flashwebdriver، ثم استدعِ دالةً للعمل على كائن Flash. أنت بحاجة إلى تحميل ملفات flashwebdriver jar:
الخطوة 1) بعد التنزيل، أضف ملف jar إلى مشروعك كما هو موضح في الشاشة أدناه.
الخطوة 2) يوجد ضمن ملف Flash JAR فئة منفصلة باسم flashobjectwebdriver. قم بتطبيق flashWebdriver "myFlashmovie" في برنامج Selenium النصي الخاص بك كما هو موضح في الصورة أدناه.
بعد إضافة فئة برنامج تشغيل الويب "MyFlashMovie"، يمكنك الوصول إلى كائن Flash.
متى يتم أتمتة اختبار الفلاش
عادةً، تحتاج إلى أتمتة اختبار Flash عندما لا يكون الوصول إلى كائن Flash سهلاً. يؤدي هذا إلى إيقاف الاختبار وبالتالي فشل اختبار كائن Flash.
إنشاء برنامج نصي باستخدام Selenium لاختبار Flash
بدمج الخطوات السابقة، إليك نص برمجي كامل يعمل على تشغيل والتحكم في Guruفيلم فلاش تجريبي رقم 99.
الخطوة 1) أنت تستخدم "Guruفيلم فلاش مدته 99 بوصة لاختبار سيناريو الفلاش.
https://demo.guru99.com/test/flash-testing.html
الخطوة 2) اكتب السيناريو في Selenium قم بتشغيل الكود التالي في بيئة Eclipse. عند تنفيذه، سيقوم الكود التالي بما يلي:
- فتح Firefox المتصفح،
- تشغيل موقع الفلاش guru99
- تشغيل فيلم الفلاش و
- ثم أوقف الفيلم.
import org.openqa.selenium.firefox.FirefoxDriver; import Flash.FlashObjectWebDriver; public class Flash { public static void main(String[] args) throws InterruptedException { // Open firefox browser FirefoxDriver driver = new FirefoxDriver(); // Maximize browser driver.manage().window().maximize(); // Under Flash jar file there is a separate FlashObjectWebDriver class FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie"); // Pass the URL of video driver.get("https://demo.guru99.com/test/flash-testing.html"); Thread.sleep(5000); flashApp.callFlashObject("Play"); Thread.sleep(5000); flashApp.callFlashObject("StopPlay"); Thread.sleep(5000); flashApp.callFlashObject("SetVariable","/:message","Flash testing using selenium Webdriver"); System.out.println(flashApp.callFlashObject("GetVariable","/:message")); } }
الخطوة 3) قم بتنفيذ البرنامج النصي أعلاه.
الإخراج: عند تنفيذ البرنامج النصي أعلاه، يبدأ تشغيل فيلم الفلاش ويتوقف، وما إلى ذلك.
التحديات في اختبار فلاش
- أتمتة تطبيقات الفلاش أمرٌ صعب. لأتمتة تطبيقات الفلاش، يمكنك استخدام FlexMonkium، وهو إضافة لـ Selenium IDE
- قد تواجه مشكلات في تمكين تسجيل/تشغيل تطبيقات Flex باستخدام Selenium- تكامل Flexmonkium. الحل هو أن يقوم المستخدم بتثبيت Flexmonkium ودمجه مع Selenium قم بتثبيت بيئة التطوير المتكاملة (IDE) بعناية. سيُمكّن التثبيت الصحيح من تسجيل تطبيقات الفلاش لأتمتة عملها.








