اختبار فلاش مع Selenium ويب درايفر

⚡ ملخص ذكي

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

  • 📌 الغرض الأساسي: يتحقق اختبار الفلاش من أن وسائط SWF المضمنة - مقاطع الفيديو والألعاب والرسوم المتحركة - تعمل تمامًا كما هو مصمم لها.
  • 🔎 تحدي تحديد المواقع: لا يمكن لـ XPath الوصول إلى كائنات Flash، لذلك يقوم كائن FlashObjectWebDriver المخصص بتحديد موقعها من خلال معرف الكائن المعين.
  • 🎬 طريقة التسجيل: Selenium يقوم برنامج IDE بتسجيل الإجراءات التي يتم تنفيذها على فيلم فلاش وإعادة تشغيلها باستخدام زر التشغيل الأخضر.
  • ؟؟؟؟ طريقة WebDriver: تستدعي فئة FlashObjectWebDriver وظائف التشغيل Play و StopPlay و SetVariable للتحكم في Flash برمجيًا.
  • ⚠️ الحد الرئيسي: تم إيقاف دعم Flash؛ FlexMonkium يمتد. Selenium بيئة التطوير المتكاملة (IDE) عند فشل التسجيل والتشغيل الأصليين.

اختبار فلاش مع Selenium ويب درايفر

ما هو اختبار الفلاش؟

اختبار الفلاش هو نوع من الاختبارات يُستخدم للتحقق من أن مقاطع الفيديو والألعاب والأفلام وغيرها من البرامج التي تعتمد على تقنية الفلاش تعمل كما هو متوقع. بعبارة أخرى، يُعرف اختبار وظائف الفلاش باسم اختبار الفلاش. فلاش هو برنامج شائع طورته شركة ماكروميديا ​​(التي استحوذت عليها أدوبي لاحقاً). يُستخدم لتطوير الألعاب والتطبيقات والرسوم المتحركة والأفلام. الهاتف الألعاب والبرامج وما إلى ذلك.

In Selenium الأتمتة، إذا لم يتم العثور على العناصر بواسطة محددات المواقع العامة مثل المعرف والفئة والاسم وما إلى ذلك، ثم كسباث يتطلب الأمر العثور على عنصر في صفحة الويب لإجراء عملية عليه. ولكن في اختبار فلاش، كسباث يفشل الوصول إلى كائن فلاش. لذا، يلزم وجود كائن Flashwebdriver للعثور على كائن فلاش في أي تطبيق.

اختبار الفلاش

هنا سترى كيفية تنفيذ الفلاش الاختبار وكيفية إجراء اختبار الفلاش باستخدام Selenium.

شرط مسبق لاختبار فلاش

قبل البدء، إليك المتطلبات اللازمة لاختبار تطبيق فلاش:

  1. تطبيق فلاش.
  2. متصفح الويب المدعوم.
  3. ملحقات أدوبي فلاش بلاير.

أدوات- فيما يلي أدوات الاختبار المفيدة في اختبار الفلاش.

  1. Selenium
  2. واجهة المستخدم الخاصة بالصابون
  3. TestComplete
  4. استوديو الاختبار وما إلى ذلك.

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:

معرف كائن Flash لفيلم Flash / تطبيق Flash

كيفية أتمتة استخدام الفلاش Selenium تسجيل IDE

بعد تعيين مُعرّف الكائن، يمكنك تسجيل التفاعلات على فيلم الفلاش مباشرةً من خلال Selenium IDE

يمكنك أيضًا أتمتة الفلاش باستخدام Selenium IDE

الخطوة 1) عليك فتح تطبيق الفلاش ثم Selenium بيئة التطوير المتكاملة كما هو موضح في الشاشة أدناه:

أتمتة استخدام الفلاش Selenium تسجيل IDE

الخطوة 2) انقر الآن على زر "تسجيل الأحمر" الموجود على الجانب الأيمن وابدأ في إجراء العمليات على فيلم الفلاش، ثم ستجد النص المسجل كما هو موضح أدناه:

أتمتة استخدام الفلاش Selenium تسجيل IDE

بعد التسجيل، إذا أراد المستخدم تشغيل البرنامج النصي، فيمكنه النقر على زر التشغيل الأخضر كما هو موضح في الشاشة أدناه. Selenium سيقوم IDE بتنفيذ البرنامج النصي خطوة بخطوة.

أتمتة استخدام الفلاش Selenium تسجيل IDE

كيفية أتمتة استخدام الفلاش Selenium برنامج تشغيل الويب

للحصول على تحكم أكبر من عروض التسجيل، Selenium يتيح لك WebDriver التحكم في كائن Flash برمجيًا.

يمكنك أيضًا أتمتة الفلاش باستخدام Selenium قم بتمرير برنامج تشغيل الويب عبر كائن Flashwebdriver، ثم استدعِ دالةً للعمل على كائن Flash. أنت بحاجة إلى تحميل ملفات flashwebdriver jar:

الخطوة 1) بعد التنزيل، أضف ملف jar إلى مشروعك كما هو موضح في الشاشة أدناه.

أضف ملف Flash jar في Selenium تنفيذ المشاريع

الخطوة 2) يوجد ضمن ملف Flash JAR فئة منفصلة باسم flashobjectwebdriver. قم بتطبيق flashWebdriver "myFlashmovie" في برنامج Selenium النصي الخاص بك كما هو موضح في الصورة أدناه.

قم بتنفيذ برنامج تشغيل Flash Webdriver في Selenium سيناريو

بعد إضافة فئة برنامج تشغيل الويب "MyFlashMovie"، يمكنك الوصول إلى كائن Flash.

متى يتم أتمتة اختبار الفلاش

عادةً، تحتاج إلى أتمتة اختبار Flash عندما لا يكون الوصول إلى كائن Flash سهلاً. يؤدي هذا إلى إيقاف الاختبار وبالتالي فشل اختبار كائن Flash.

إنشاء برنامج نصي باستخدام Selenium لاختبار Flash

بدمج الخطوات السابقة، إليك نص برمجي كامل يعمل على تشغيل والتحكم في Guruفيلم فلاش تجريبي رقم 99.

الخطوة 1) أنت تستخدم "Guruفيلم فلاش مدته 99 بوصة لاختبار سيناريو الفلاش.

https://demo.guru99.com/test/flash-testing.html

Guruفيلم فلاش تجريبي رقم 99 لـ Selenium تجريب

الخطوة 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) بعناية. سيُمكّن التثبيت الصحيح من تسجيل تطبيقات الفلاش لأتمتة عملها.

الأسئلة الشائعة

أنهت أدوبي رسميًا دعم برنامج فلاش بلاير في 31 ديسمبر 2020. ويقتصر اختبار فلاش الآن بشكل أساسي على الأنظمة القديمة، نظرًا لأن معظم التطبيقات قد انتقلت إلى HTML5، الذي Selenium يُؤتمت العمليات دون الحاجة إلى مكتبات فلاش خاصة.

يتم عرض محتوى فلاش داخل كائن SWF مُجمّع مُضمّن في الصفحة، وليس كعناصر DOM في HTML. ولأن XPath يتنقل عبر DOM، فإنه لا يستطيع الوصول إلى عناصر تحكم فلاش الداخلية، لذا يلزم وجود مُعرّف كائن وFlashObjectWebDriver.

FlexMonkium هو إضافة تتكامل مع Selenium بيئة تطوير متكاملة (IDE) لتمكين التسجيل والتشغيل لتطبيقات Flex وFlash. يتيح التثبيت الصحيح للمختبرين التقاط وإعادة تشغيل الإجراءات على عناصر Flash التي يصعب الوصول إليها.

تعتمد أدوات الاختبار البصري القائمة على الذكاء الاصطناعي على التعرف على عناصر فلاش المعروضة على الشاشة من خلال التعرف على الصور والأنماط بدلاً من نموذج كائن المستند (DOM). وهذا يُمكّن الفرق من التحقق من صحة الرسوم المتحركة والتفاعلات التي لا تستطيع أدوات التحديد التقليدية اكتشافها.

نعم. تقوم الأدوات المدعومة بالذكاء الاصطناعي بتحليل خطوات اختبار Flash الحالية واقتراح محددات مواقع HTML5 وبرامج نصية مكافئة. هذا يُسرّع عملية الانتقال إلى أطر العمل الحديثة مثل Selenium استخدام WebDriver مع تقليل العمل اليدوي المتكرر.

تلخيص هذه التدوينة بـ: