Flash Testing with Selenium веб-драйвер

⚡ Розумний підсумок

Flash Testing with Selenium WebDriver перевіряє правильність роботи відео, ігор та анімації на основі Flash. У цьому ресурсі пояснюється захоплення вбудованих SWF-об'єктів, призначення ідентифікаторів об'єктів та автоматизація відтворення за допомогою Selenium Запис IDE та клас FlashObjectWebDriver для надійної перевірки.

  • 📌 Основна мета: Тестування Flash підтверджує, що вбудовані медіафайли SWF — відео, ігри та анімація — працюють саме так, як було задумано.
  • 🔎 Виклик локатора: XPath не може отримати доступ до об'єктів Flash, тому спеціальний об'єкт FlashObjectWebDriver знаходить їх за допомогою призначеного ідентифікатора об'єкта.
  • 🎬 Метод запису: Selenium IDE записує дії, виконані з Flash-фільмом, і відтворює їх за допомогою зеленої кнопки «Виконати».
  • 💻 Метод WebDriver: Клас FlashObjectWebDriver викликає Play, StopPlay та SetVariable для програмного керування Flash.
  • ⚠️ Ключове обмеження: Flash застарів; FlexMonkium розширюється Selenium IDE, коли не вдається записувати та відтворювати в власному середовищі.

Flash Testing with Selenium веб-драйвер

Що таке Flash Testing?

Тестування флеш-пам'яті – це тип тестування, який використовується для перевірки того, чи відео, ігри, фільми тощо на основі флеш-пам'яті працюють належним чином. Іншими словами, тестування функціональності флеш-пам'яті називається Flash тестування. Flash — це популярне програмне забезпечення, розроблене Macromedia (тепер придбане Adobe). Воно використовується для розробки ігор, програм, графічної анімації, фільмів, Mobile ігри, програми тощо.

In Selenium Автоматизація, якщо елементи не знайдені загальними локаторами наприклад ідентифікатор, клас, ім’я тощо, То XPath потрібно знайти елемент на веб-сторінці, щоб виконати операцію з цим конкретним елементом. Але у Flash-тестуванні, XPath не вдається отримати доступ до флеш-об'єкта. Тому для пошуку флеш-об'єкта в будь-якій програмі потрібен об'єкт Flashwebdriver.

Flash тестування

Тут ви побачите, як виконати flash Тестування і як проводити тестування флеш-пам’яті за допомогою Selenium.

Передумова для тестування Flash

Перш ніж почати, виконайте наступні вимоги для тестування флеш-застосунку:

  1. Програма Flash.
  2. Підтримуваний веббраузер.
  3. Плагіни Adobe Flash Player.

інструменти- Нижче наведено інструменти тестування, корисні для тестування флеш-пам’яті.

  1. Selenium
  2. Мильний інтерфейс користувача
  3. TestComplete
  4. Тестова студія тощо.

Selenium – дуже популярний інструмент для веб-тестування. Ви можете створювати фреймворки на різних платформах та різними мовами програмування. Це інструмент з відкритим кодом, який можна завантажити з офіційного веб-сайту. Його легко налаштувати, використовувати та впровадити.

Чим флеш-тестування відрізняється від інших елементів

Тепер, коли передумови готові, корисно зрозуміти, чому Flash поводиться інакше, ніж стандартні елементи HTML під час тестування.

  • Чому складно захопити об'єкти зі спалахом? Як це вирішується?

Flash — це застаріла технологія. Захопити Flash-об'єкт складно, оскільки він відрізняється від HTML. Крім того, Flash — це вбудований SWF-файл (малий веб-формат). Також складно отримати доступ до Flash-об'єкта на мобільному пристрої.

Розвитокping спалах складніший, ніж розробкаping HTML-сторінку з точки зору SEO (пошукової оптимізації), оскільки Flash не повністю читається пошуковою системою. Однак, для подолання таких проблем, як продуктивність та безпека, впроваджуються передові технології, такі як HTML 5.

  • Якими способами тестується флеш-додаток?

Програми Flash тестуються двома способами:

  • Вручну - Ви можете протестувати об’єкт Flash, виконавши тестові випадки вручну, оскільки це просто та легко перевірити. Після виправлення помилок ви переконаєтесь, що флеш-пам’ять працює належним чином, і надасте підпис.
  • Автоматизація - Ви пишете скрипт, використовуючи будь-який інструмент автоматизації, наприклад Selenium, SoapUI, TestCompleteтощо та виконайте скрипт.
  • Різниця між Flash та іншими елементами.

Як згадувалося вище, основна відмінність між Flash та іншими елементами полягає в тому, що Flash вбудований у SWF-файли, тоді як інші елементи вбудовані у HTML-файли. Саме тому HTML легше захопити порівняно з Flash.

Як отримати ідентифікатор флеш-об'єкта флеш-фільму / флеш-додатку

Щойно ви зрозумієте, чим Flash відрізняється від HTML, наступним кроком буде пошук самого об'єкта Flash за його ідентифікатором об'єкта.

На будь-якій веб-сторінці тег <object> використовується для будь-якого вбудованого мультимедіа (наприклад, Flash, ActiveX, відео тощо). Він означає «вбудовування» в HTML-документ. Цей тег визначає контейнер, вбудований в теги <object /> або <embed /> в HTML-документі для інтерактивного контенту або зовнішньої програми. Ім'я об'єкта використовується для визначення місцезнаходження об'єкта Flash на веб-сторінках.

Наприклад, у наведеному нижче прикладі ви можете побачити, що флеш-ролик визначено в тезі «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.

Ви можете використовувати такі атрибути flash, як ідентифікатор об’єкта, щоб знайти об’єкт flash. І таким чином ви можете виконувати над ним необхідні операції, такі як відтворення, зупинка тощо.

Як уже обговорювалося, до об'єктів Flash не можна отримати доступ за допомогою XPath. Тому, щоб виконати будь-яку дію з цими об'єктами, розробнику потрібно призначити відповідний ідентифікатор об'єкта.

На екрані нижче показано, що для Flash призначено ідентифікатор об'єкта «MyFlashMovie»:

Ідентифікатор Flash-об’єкта Flash Movie / Flash App

Як автоматизувати використання Flash Selenium Запис IDE

Після призначення ідентифікатора об'єкта ви можете записувати взаємодії з Flash-фільмом безпосередньо через Selenium ІДЕ.

Ви також можете автоматизувати спалах за допомогою Selenium ІДЕ.

Крок 1) Вам потрібно відкрити флеш-додаток, а потім Selenium IDE, як показано на екрані нижче:

Автоматизуйте використання Flash Selenium Запис IDE

Крок 2) Тепер натисніть на «червону кнопку запису» праворуч і почніть виконувати операції з флеш-фільмом, після чого ви знайдете записаний сценарій, як показано нижче:

Автоматизуйте використання Flash Selenium Запис IDE

Після запису, якщо користувач хоче виконати скрипт, він може натиснути на «зелену кнопку запуску», як показано на екрані нижче. Selenium IDE виконає сценарій крок за кроком.

Автоматизуйте використання Flash Selenium Запис IDE

Як автоматизувати використання Flash Selenium Веб-драйвер

Для більшого контролю, ніж просто запис пропозицій, Selenium WebDriver дозволяє керувати Flash-об'єктом програмно.

Ви також можете автоматизувати спалах за допомогою Selenium веб-драйвер через об'єкт Flashwebdriver, а потім викликати метод для роботи з флеш-об'єктом. Вам потрібно завантажити jar-файли flashwebdriver:

Крок 1) Після завантаження додайте jar-файл до свого проєкту, як показано на екрані нижче.

Додати JAR-файл Flash у Selenium проект

Крок 2) У jar-файлі флеш-пам'яті є окремий клас flashobjectwebdriver. Реалізуйте flashWebdriver "myFlashmovie" у вашому скрипті Selenium, як показано на екрані нижче.

Реалізація flashWebdriver у Selenium сценарій

Після додавання класу веб-драйвера «MyFlashMovie» ви можете отримати доступ до об’єкта Flash.

Коли автоматизувати флеш-тестування

Зазвичай, вам потрібно автоматизувати тестування Flash, коли об'єкт Flash нелегкодоступний. Це призводить до переривання тесту та, як наслідок, до неможливості протестувати об'єкт Flash.

Створення скрипта Selenium для тестування Flash

Об'єднавши попередні кроки, ось повний робочий скрипт, який запускає та керує Guru99 демонстраційний флеш-ролик.

Крок 1) Ви використовуєте «Guru99-дюймовий флеш-відео для тестування сценарію зі спалахом.

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

Guru99 демонстраційних флеш-відео для 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) Виконайте вищезазначений скрипт.

вихід: Після виконання вищезазначеного скрипта флеш-ролик починає відтворюватися та зупинятися тощо.

Проблеми під час тестування Flash

  • Автоматизація флеш-додатку – це складне завдання. Щоб автоматизувати флеш-додаток, можна використовувати FlexMonkium, який є доповненням для Selenium ІДЕ.
  • Ви можете зіткнутися з проблемами, пов’язаними з увімкненням запису/відтворення Flex-додатків за допомогою Selenium-Інтеграція з Flexmonkium. Рішення полягає в тому, що користувачеві потрібно встановити та інтегрувати Flexmonkium з Selenium Уважно встановіть IDE. Правильна інсталяція дозволить записувати файли для автоматизації флеш-додатків.

Поширені запитання

Adobe офіційно припинила підтримку Flash Player 31 грудня 2020 року. Тестування Flash зараз застосовується переважно до застарілих систем, оскільки більшість програм перейшли на HTML5, який Selenium автоматизується без спеціальних бібліотек Flash.

Flash-контент відображається всередині скомпільованого SWF-об'єкта, вбудованого в сторінку, а не як елементи HTML DOM. Оскільки XPath проходить через DOM, він не може досягти внутрішніх елементів керування Flash, тому потрібні ідентифікатор об'єкта та FlashObjectWebDriver.

FlexMonkium — це доповнення, яке інтегрується з Selenium IDE для запису та відтворення для Flex та Flash-додатків. Правильна інсталяція дозволяє тестувальникам записувати та відтворювати дії з інакше недоступними Flash-об'єктами.

Інструменти візуального тестування на основі штучного інтелекту розпізнають елементи Flash на екрані за допомогою розпізнавання зображень та шаблонів, а не DOM. Це дозволяє командам перевіряти анімацію та взаємодії, які традиційні локатори не можуть виявити.

Так. Інструменти на основі штучного інтелекту аналізують існуючі кроки тестування Flash та пропонують еквівалентні локатори та скрипти HTML5. Це прискорює міграцію на сучасні фреймворки, такі як Selenium WebDriver, зменшуючи при цьому ручну переробку.

Підсумуйте цей пост за допомогою: