Testowanie Flash za pomocą Selenium Sterownik sieciowy

⚡ Inteligentne podsumowanie

Testowanie Flash za pomocą Selenium WebDriver weryfikuje prawidłowe działanie filmów, gier i animacji opartych na technologii Flash. Ten zasób wyjaśnia, jak przechwytywać osadzone obiekty SWF, przypisywać identyfikatory obiektów i automatyzować odtwarzanie za pomocą Selenium Nagrywanie IDE i klasa FlashObjectWebDriver zapewniające niezawodną walidację.

  • 📌 Główny cel: Testowanie Flash ma na celu sprawdzenie, czy osadzone media SWF — filmy, gry i animacje — zachowują się dokładnie tak, jak zaprojektowano.
  • 🔎 Wyzwanie lokalizatora: XPath nie jest w stanie dotrzeć do obiektów Flash, więc dedykowany obiekt FlashObjectWebDriver lokalizuje je poprzez przypisany identyfikator obiektu.
  • 🎬 Metoda nagrywania: Selenium IDE rejestruje akcje wykonywane w filmie Flash i odtwarza je za pomocą zielonego przycisku Uruchom.
  • 💻 Metoda WebDriver: Klasa FlashObjectWebDriver wywołuje funkcje Play, StopPlay i SetVariable w celu programowego sterowania programem Flash.
  • ⚠️ Kluczowe ograniczenie: Flash jest przestarzały; FlexMonkium rozszerza Selenium IDE w przypadku awarii natywnego nagrywania i odtwarzania.

Testowanie Flash za pomocą Selenium Sterownik sieciowy

Co to jest testowanie Flash?

Testowanie Flasha to rodzaj testu, który służy do sprawdzenia, czy filmy, gry, filmy itp. oparte na technologii Flash działają zgodnie z oczekiwaniami. Innymi słowy, testowanie funkcjonalności Flasha jest znane jako Testowanie Flasha. Flash to popularne oprogramowanie opracowane przez firmę Macromedia (obecnie przejętą przez Adobe). Służy do tworzenia gier, aplikacji, animacji graficznych, filmów, Mobile gry, programy itp.

In Selenium Automatyzacja, jeśli elementy nie zostaną odnalezione przez lokalizatory ogólne jak identyfikator, klasa, nazwa itp, następnie XPath Aby wykonać operację na tym konkretnym elemencie, wymagane jest znalezienie elementu na stronie internetowej. Jednak w testach Flash, XPath Nie można uzyskać dostępu do obiektu Flash. Zatem do znalezienia obiektu Flash w dowolnej aplikacji wymagany jest obiekt Flashwebdriver.

Testowanie Flasha

Tutaj zobaczysz jak uruchomić flash Testy i jak przeprowadzić testy flash za pomocą Selenium.

Warunek wstępny do testów Flash

Zanim zaczniesz, zapoznaj się z poniższymi wymaganiami, które należy spełnić, aby przetestować aplikację Flash:

  1. Aplikacja Flash.
  2. Obsługiwana przeglądarka internetowa.
  3. Wtyczki odtwarzacza Adobe Flash.

Narzędzia- Poniżej znajdują się narzędzia testowe przydatne w testach flash.

  1. Selenium
  2. Interfejs mydła
  3. TestComplete
  4. Studio testowe itp.

Selenium to bardzo popularne narzędzie do testowania stron internetowych. Umożliwia tworzenie frameworków na różnych platformach i w różnych językach. Jest to narzędzie open source, które można pobrać z oficjalnej strony internetowej. Jest łatwe w konfiguracji, obsłudze i wdrożeniu.

Czym testowanie Flash różni się od testowania innych elementów

Teraz, gdy wymagania wstępne są już gotowe, pomocne może okazać się zrozumienie, dlaczego Flash zachowuje się podczas testowania inaczej niż standardowe elementy HTML.

  • Dlaczego przechwytywanie obiektów flash jest trudne? Jak to rozwiązać?

Flash to przestarzała technologia. Trudno jest przechwycić obiekt Flash, ponieważ różni się od HTML. Ponadto Flash jest osadzonym plikiem SWF (Small Web Format). Utrudniony jest również dostęp do obiektu Flash na urządzeniu mobilnym.

Developing Flash jest trudniejszy niż rozwójping Strona HTML z perspektywy SEO (optymalizacji pod kątem wyszukiwarek), ponieważ Flash nie jest w pełni czytelny dla wyszukiwarki. Jednak zaawansowane technologie, takie jak HTML 5, zostały wprowadzone, aby przezwyciężyć problemy związane z wydajnością i bezpieczeństwem.

  • W jaki sposób testuje się aplikacje Flash?

Aplikacje Flash są testowane na dwa sposoby:

  • Podręcznik - Możesz przetestować obiekt Flash, wykonując przypadki testowe ręcznie, ponieważ jest to proste i łatwe do przetestowania. Po naprawieniu błędu upewnij się, że flash działa poprawnie zgodnie z oczekiwaniami i wyloguj się.
  • Automatyzacja - Możesz napisać skrypt za pomocą dowolnego narzędzia automatyzującego, takiego jak Selenium, SoapUI, TestCompleteitd. i wykonaj skrypt.
  • Różnica pomiędzy Flashem a innymi elementami.

Jak wspomniano powyżej, główną różnicą między Flashem a innymi elementami jest to, że Flash jest osadzony w plikach SWF, podczas gdy inne elementy są osadzone w plikach HTML. Dlatego HTML jest łatwiejszy do przechwycenia niż Flash.

Jak uzyskać identyfikator obiektu Flash filmu Flash/aplikacji Flash?

Gdy już wiesz, czym Flash różni się od HTML, następnym krokiem jest znalezienie samego obiektu Flash za pomocą jego identyfikatora obiektu.

Na każdej stronie internetowej znacznik < object > jest używany do oznaczania wszelkich osadzonych multimediów (takich jak Flash, ActiveX, wideo itp.). Oznacza on „embed” w dokumencie HTML. Ten znacznik definiuje kontener osadzony w znacznikach < object /> lub < embed /> w dokumencie HTML, przeznaczony na treści interaktywne lub aplikacje zewnętrzne. Nazwa obiektu służy do lokalizowania obiektu Flash na stronach internetowych.

Na przykład w poniższym przykładzie możesz zobaczyć, że film flash jest zdefiniowany w znaczniku „embed” w dokumencie lub pliku HTML.

Przykład:

/* 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>

Znajdowanie elementów Flash za pomocą identyfikatora obiektu.

Możesz użyć atrybutów flash, takich jak object id, aby zlokalizować obiekt flash. Dzięki temu możesz wykonywać na nim operacje, takie jak odtwarzanie, zatrzymywanie itp.

Jak już wspomniano, do obiektów Flash nie można uzyskać dostępu za pomocą XPath. Aby wykonać jakąkolwiek akcję na tych obiektach, programista musi przypisać im odpowiedni identyfikator.

Poniższy ekran pokazuje identyfikator obiektu „MyFlashMovie” przypisany do Flasha:

Identyfikator obiektu Flash filmu Flash/aplikacji Flash

Jak zautomatyzować użycie Flasha Selenium Nagrywanie IDE

Po przypisaniu identyfikatora obiektu możesz rejestrować interakcje bezpośrednio w filmie Flash Selenium SDI.

Możesz także zautomatyzować flashowanie za pomocą Selenium SDI.

Krok 1) Musisz otworzyć aplikację Flash, a następnie Selenium IDE, jak pokazano na poniższym ekranie:

Zautomatyzuj użycie Flasha Selenium Nagrywanie IDE

Krok 2) Teraz kliknij na „nagraj czerwony przycisk” po prawej stronie i zacznij wykonywać operacje na filmie Flash. Znajdziesz nagrany skrypt, jak pokazano poniżej:

Zautomatyzuj użycie Flasha Selenium Nagrywanie IDE

Po nagraniu, jeśli użytkownik chce uruchomić skrypt, może kliknąć „zielony przycisk Uruchom”, jak pokazano na poniższym ekranie. Selenium IDE wykona skrypt krok po kroku.

Zautomatyzuj użycie Flasha Selenium Nagrywanie IDE

Jak zautomatyzować użycie Flasha Selenium Sterownik internetowy

Aby uzyskać większą kontrolę niż w przypadku nagrywania, Selenium WebDriver umożliwia programowe sterowanie obiektem Flash.

Możesz także zautomatyzować flashowanie za pomocą Selenium Sterownik sieciowy za pośrednictwem obiektu Flashwebdriver, a następnie wywołaj metodę operującą na obiekcie Flash. Musisz pobierz pliki jar flashwebdrivera:

Krok 1) Po pobraniu dodaj plik jar do swojego projektu, jak pokazano na poniższym ekranie.

Dodaj plik jar Flash w Selenium projekt

Krok 2) W pliku jar Flash znajduje się osobna klasa flashobjectwebdriver. Zaimplementuj flashWebdriver „myFlashmovie” w skrypcie selenowym, jak pokazano poniżej na zrzucie ekranu.

Wdrożenie flashWebdriver w Selenium scenariusz

Po dodaniu klasy sterownika internetowego „MyFlashMovie” można uzyskać dostęp do obiektu Flash.

Kiedy zautomatyzować testy flash

Zazwyczaj konieczne jest zautomatyzowanie testów Flash, gdy obiekt Flash jest trudno dostępny. Powoduje to przerwanie testu i w konsekwencji brak możliwości przetestowania obiektu Flash.

Tworzenie skryptu selenu do testowania Flash

Łącząc poprzednie kroki, oto kompletny działający skrypt, który uruchamia i kontroluje Guru99 demonstracyjny film flash.

Krok 1) Używasz „Guru99-calowy film flash służący do przetestowania scenariusza flash.

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

Guru99 demonstracyjny film flash dla Selenium testowanie

Krok 2) Napisz skrypt w Selenium Eclipse i uruchom go. Poniższy kod po uruchomieniu wykona następujące czynności:

  • Otwórz Firefox przeglądarka,
  • Uruchom witrynę Flash Guru99,
  • Odtwórz film flash i
  • Następnie zatrzymaj film.
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"));
    }
}

Krok 3) Wykonaj powyższy skrypt.

Wyjście: Po wykonaniu powyższego skryptu film flash zaczyna się odtwarzać, a następnie zatrzymuje itd.

Wyzwania w testowaniu Flash

  • Automatyzacja aplikacji Flash to nie lada wyzwanie. Aby zautomatyzować aplikację Flash, możesz użyć FlexMonkium, dodatku do Selenium SDI.
  • Mogą wystąpić problemy z włączeniem nagrywania/odtwarzania aplikacji Flex za pomocą Selenium-Integracja z Flexmonkium. Rozwiązaniem jest konieczność zainstalowania i zintegrowania Flexmonkium z Selenium Ostrożnie z IDE. Prawidłowa instalacja umożliwi nagrywanie i automatyzację aplikacji Flash.

FAQ

Firma Adobe oficjalnie zakończyła obsługę programu Flash Player 31 grudnia 2020 r. Testowanie Flasha dotyczy obecnie głównie starszych systemów, ponieważ większość aplikacji przeszła na HTML5, co Selenium automatyzuje bez użycia specjalnych bibliotek Flash.

Zawartość Flash jest renderowana wewnątrz skompilowanego obiektu SWF osadzonego na stronie, a nie jako elementy HTML DOM. Ponieważ XPath przechodzi przez DOM, nie może dotrzeć do wewnętrznych kontrolek Flash, dlatego wymagany jest identyfikator obiektu i FlashObjectWebDriver.

FlexMonkium to dodatek integrujący się z Selenium IDE umożliwiające nagrywanie i odtwarzanie aplikacji Flex i Flash. Prawidłowa instalacja pozwala testerom rejestrować i odtwarzać działania na obiektach Flash, do których w innym przypadku nie można uzyskać dostępu.

Narzędzia do testowania wizualnego oparte na sztucznej inteligencji rozpoznają elementy Flash na ekranie poprzez rozpoznawanie obrazów i wzorców, a nie DOM. Pozwala to zespołom weryfikować animacje i interakcje, których tradycyjne lokalizatory nie są w stanie wykryć.

Tak. Narzędzia wspomagane sztuczną inteligencją analizują istniejące kroki testowe Flasha i sugerują równoważne lokalizatory i skrypty HTML5. Przyspiesza to migrację do nowoczesnych frameworków, takich jak Selenium WebDriver, redukując przy tym konieczność ręcznego przerabiania.

Podsumuj ten post następująco: