Flash тестване с Selenium уебдрайвер

⚡ Умно обобщение

Flash тестване с 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 тестване с Selenium уебдрайвер

Какво е Flash тестване?

Тестването на флаш памет е вид тестване, използвано за проверка дали видеоклипове, игри, филми и др., базирани на флаш памет, работят както се очаква. С други думи, тестването на функционалността на флаш паметта е известно като Flash тестване. Flash е популярен софтуер, разработен от Macromedia (сега придобита от Adobe). Той се използва за разработване на игри, приложения, графични анимации, филми, подвижен игри, програми и др.

In Selenium Автоматизация, ако елементите не са намерени от общите локатори като идентификатор, клас, име и т.н, тогава XPath е необходимо да се намери елемент на уеб страницата, за да се извърши операция върху този конкретен елемент. Но при Flash тестването, XPath не успява да осъществи достъп до Flash обект. Така че е необходим обект Flashwebdriver, за да се намери Flash обект във всяко приложение.

Flash тестване

Тук ще видите как да изпълните флаш Тестване и как да направите флаш тестване с Selenium.

Предпоставка за флаш тестване

Преди да започнете, следните изисквания са необходими за тестване на флаш приложение:

  1. Flash приложение.
  2. Поддържан уеб браузър.
  3. Приставки за Adobe Flash player.

инструменти- По-долу са инструментите за тестване, които са полезни при флаш тестване.

  1. Selenium
  2. Потребителски интерфейс за сапун
  3. TestComplete
  4. Тестово студио и др.

Selenium е много популярен инструмент за уеб тестване. Можете да създадете рамка на различни платформи и на различен език. Това е инструмент с отворен код и може да бъде изтеглен от официалния уебсайт. Лесен е за конфигуриране, използване и внедряване.

По какво Flash тестването се различава от другите елементи

След като предварителните изисквания са готови, е полезно да разберем защо Flash се държи различно от стандартните HTML елементи по време на тестване.

  • Защо е трудно заснемането на обекти с Flash? Как се решава този проблем?

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 обект на Flash филм / 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 обектите не могат да бъдат достъпни чрез XPath. Така че, за да извърши каквото и да е действие върху тези обекти, разработчикът трябва да им присвои подходящ идентификатор на обект.

Екранът по-долу показва, че идентификаторът на обекта „MyFlashMovie“ е зададен за Flash паметта:

Идентификатор на Flash обект на Flash филм / Flash приложение

Как да автоматизирате използването на Flash Selenium IDE запис

С присвоения идентификатор на обекта, можете да записвате взаимодействията във Flash филма директно чрез Selenium SDI.

Можете също да автоматизирате светкавицата, като използвате Selenium SDI.

Стъпка 1) Трябва да отворите флаш приложението и след това Selenium IDE, както е показано на екрана по-долу:

Автоматизирайте използването на Flash Selenium IDE запис

Стъпка 2) Сега кликнете върху „червения бутон за запис“ от дясната страна и започнете да извършвате операции с Flash филма, след което ще намерите записания скрипт, както е показано по-долу:

Автоматизирайте използването на Flash Selenium IDE запис

След записа, ако потребителят иска да изпълни скрипта, може да кликне върху „зеления бутон за изпълнение“, както е показано на екрана по-долу. Selenium IDE ще изпълни скрипта стъпка по стъпка.

Автоматизирайте използването на Flash Selenium IDE запис

Как да автоматизирате използването на Flash Selenium Уебдрайвер

За по-голям контрол от предлаганото записване, Selenium WebDriver ви позволява да управлявате Flash обекта програмно.

Можете също да автоматизирате светкавицата, като използвате Selenium уеб драйвера чрез обекта Flashwebdriver и след това да извикате метод за работа с флаш обекта. Трябва да изтегляне на flashwebdriver jar файлове:

Стъпка 1) След изтеглянето, добавете jar файла към вашия проект, както е показано на екрана по-долу.

Добавете Flash jar файл в Selenium проект

Стъпка 2) Под jar файла на Flash има отделен клас 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 SDI.
  • Може да се сблъскате с проблеми, свързани с активирането на запис/възпроизвеждане на 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, като същевременно намалява ръчната преработка.

Обобщете тази публикация с: