Flash-Test mit Selenium WebDriver

Inhaltsverzeichnis:

Anonim

Was ist Flash-Test?

Flash-Test ist ein Testtyp, mit dem überprüft wird, ob Flash-basierte Videos, Spiele, Filme usw. wie erwartet funktionieren. Mit anderen Worten, das Testen der Funktionalität des Blitzes wird als Flash-Testen bezeichnet. Flash ist eine sehr beliebte Software, die von Mircomedia entwickelt wurde (jetzt von Adobe übernommen). Es wird verwendet, um Spiele, Anwendungen, grafische Animationen, Filme, mobile Spiele, Programme usw. zu entwickeln

Wenn in Selenium Automation die Elemente von den allgemeinen Locators wie ID, Klasse, Name usw. Nicht gefunden werden . Dann muss XPath ein Element auf der Webseite finden, um die Operation für dieses bestimmte Element auszuführen. Beim Flash-Testen kann XPath jedoch nicht auf das Flash-Objekt zugreifen. Daher ist ein Flashwebdriver-Objekt erforderlich, um ein Flash-Objekt in einer beliebigen Anwendung zu finden.

Hier erfahren Sie, wie Sie Flash-Tests durchführen und Flash-Tests mit Selen durchführen.

In diesem Tutorial lernen Sie:

  • Was ist Flash-Test?
  • Wie sich Flash-Tests von anderen Elementen unterscheiden
  • Wie können Sie die Flash-Objekt-ID des Flash-Films / der Flash-App erhalten?
  • So automatisieren Sie Flash mithilfe der Selenium IDE-Aufzeichnung
  • So automatisieren Sie Flash mit Selenium Webdriver.
  • Erstellen eines Selenskripts für Flash-Tests.

Voraussetzung für Flash-Tests

Nachfolgend finden Sie die Anforderungen zum Testen der Flash-Anwendung

  1. Flash-Anwendung.
  2. Unterstützt Webbrowser.
  3. Adobe Flash Player-Plugins.

Tools - Nachfolgend finden Sie die Testtools, die beim Flash-Testen hilfreich sind.

  1. Selen
  2. Soap UI
  3. TestVervollständigen
  4. Test Studio etc.

Selen ist ein sehr beliebtes Werkzeug für Webtests. Sie können Frameworks auf verschiedenen Plattformen und in einer anderen Sprache erstellen. Es ist ein Open-Source-Tool und kann von der offiziellen Website heruntergeladen werden. Es ist einfach zu konfigurieren, zu verwenden und zu implementieren.

Wie sich Flash-Tests von anderen Elementen unterscheiden

  • Warum ist die Erfassung von Flash-Objekten schwierig? Wie wird es gelöst?

Flash ist eine veraltete Technologie. Es ist schwierig, ein Flash-Objekt zu erfassen, da es sich von HTML unterscheidet. Außerdem ist Flash eine eingebettete SWF-Datei (Small Web Format). Es ist auch schwierig, auf einem mobilen Gerät auf ein Flash-Objekt zuzugreifen.

Das Entwickeln von Flash ist schwieriger als das Entwickeln von HTML-Seiten mit der SEO-Perspektive (Search Engine Optimization), da Flash für die Suchmaschine nicht vollständig lesbar ist. Es werden jedoch fortschrittliche Technologien wie HTML 5 eingeführt, um die Probleme wie Leistung und Sicherheit zu überwinden.

  • Wie wird die Flash-Anwendung getestet?

Flash-Anwendungen werden auf zwei Arten getestet:

  • Manuell - Sie können das Flash-Objekt testen, indem Sie Testfälle manuell ausführen, da es einfach und leicht zu testen ist. Nach der Fehlerbehebung stellen Sie sicher, dass Flash wie erwartet ordnungsgemäß funktioniert, und melden Sie sich ab.
  • Automatisierung - Sie können ein Skript mit einem beliebigen Automatisierungstool wie Selenium, SoapUI, TestComplete usw. schreiben und das Skript ausführen.
  • Unterschied zwischen dem Flash und anderen Elementen.

Wie oben erwähnt, besteht der Hauptunterschied zwischen Flash und anderen Elementen darin, dass Flash in SWF-Dateien eingebettet ist, während andere Elemente in HTML-Dateien eingebettet sind. Deshalb ist HTML im Vergleich zu Flash einfach zu erfassen.

Wie kann Youget Flash-Objekt-ID des Flash-Films / der Flash-App

Auf allen Webseiten wird das -Tag für eingebettete Multimedia-Inhalte (wie Flash, ActiveX, Video usw.) verwendet. Dies impliziert das "Einbetten" in ein HTML-Dokument. Dieses Tag definiert einen Container, der in oder Tags in einem HTML-Code eingebettet ist, für interaktive Inhalte oder externe Anwendungen. Der Objektname wird verwendet, um Flash-Objekte auf Webseiten zu finden.

Im folgenden Beispiel sehen Sie beispielsweise, dass der Flash-Film in einem "Einbettungs" -Tag in einem HTML-Dokument oder einer HTML-Datei definiert ist.

Beispiel:

/ * HTML-Seite * /

Verwenden der Objekt-ID zum Suchen von Flash-Elementen.

Sie können Flash-Attribute wie die Objekt-ID verwenden, um das Flash-Objekt zu lokalisieren. Und dadurch können Sie nach Bedarf Operationen wie Spielen, Stoppen usw. ausführen.

Wie bereits erwähnt, kann mit XPath nicht auf Flash-Objekte zugegriffen werden. Um eine Aktion für diese Objekte ausführen zu können, muss der Entwickler die entsprechende Objekt-ID zuweisen.

Der folgende Bildschirm zeigt die Objekt-ID "MyFlashMovie", die dem Flash zugewiesen ist:

So automatisieren Sie Flash mithilfe der Selenium IDE-Aufzeichnung

Sie können den Blitz auch mit Selenium IDE automatisieren.

Schritt 1) Sie müssen die Flash-Anwendung und dann die Selenium IDE öffnen, wie im folgenden Bildschirm gezeigt:

Schritt 2) Klicken Sie nun auf der rechten Seite auf "Rote Schaltfläche aufnehmen" und starten Sie den Vorgang für Flash-Filme. Anschließend finden Sie das aufgezeichnete Skript wie folgt:

Wenn der Benutzer nach der Aufnahme das Skript ausführen möchte, kann er auf die "grüne Ausführungsschaltfläche" klicken, wie im folgenden Bildschirm gezeigt. Die Selenium IDE führt das Skript Schritt für Schritt aus.

So automatisieren Sie Flash mit Selenium Webdriver.

Sie können den Flash-Vorgang auch mithilfe des Selenium-Webtreibers über das Flashwebdriver-Objekt automatisieren und anschließend eine Methode zum Bedienen des Flash-Objekts aufrufen. Sie müssen Flashwebdriver-JAR-Dateien herunterladen:

Schritt 1) Fügen Sie nach dem Download die JAR-Datei in Ihr Projekt ein, wie im folgenden Bildschirm gezeigt.

Schritt 2) Unter der Flash-JAR-Datei befindet sich eine separate Flashobjectwebdriver-Klasse. Implementieren Sie den FlashWeb-Treiber "myFlashmovie" in Ihrem Selenium-Skript, wie unten im Bildschirm gezeigt.

Nach dem Hinzufügen der Webtreiberklasse "MyFlashMovie" können Sie auf das Flash-Objekt zugreifen.

Wann werden Flash-Tests automatisiert?

Normalerweise müssen Sie Flash-Tests automatisieren, wenn das Flash-Objekt nicht leicht zugänglich ist. Dieses Ergebnis beim Testen wird abgebrochen und kann daher das Flash-Objekt nicht testen.

Erstellen eines Selenskripts für Flash-Tests.

Schritt 1) Sie verwenden den Flash-Film "Guru99", um das Flash-Szenario zu testen.

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

Schritt 2) Schreiben Sie ein Skript in Selenium Eclipse und führen Sie es aus. Wenn der folgende Code ausgeführt wird, werden die folgenden Aktionen ausgeführt

  • Öffnen Sie den Firefox-Browser.
  • Starten Sie die Guru99-Flash-Site.
  • Spielen Sie den Flash-Film und
  • Dann stoppen Sie den Film.
import org.openqa.selenium.firefox.FirefoxDriver;import Flash.FlashObjectWebDriver;öffentliche Klasse Flash {public static void main (String [] args) löst InterruptedException aus {// Firefox-Browser öffnenFirefoxDriver-Treiber = neuer FirefoxDriver ();// Browser maximierendriver.manage (). window (). maxim ();// Unter der Flash-JAR-Datei befindet sich eine separate FlashObjectWebDriver-KlasseFlashObjectWebDriver flashApp = neuer FlashObjectWebDriver (Treiber "myFlashMovie");// Übergebe die URL des Videosdriver.get ("http://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-Test mit Selenium Webdriver");System.out.println (flashApp.callFlashObject ("GetVariable", "/: message"));}}}}

Schritt 3) : Führen Sie das obige Skript aus.

Ausgabe: Bei Ausführung des obigen Skripts beginnt die Wiedergabe des Flash-Films und stoppt usw.

Herausforderungen beim Flash-Testen

  • Die Automatisierung der Flash-App ist eine Herausforderung. Um die Flash-App zu automatisieren, können Sie FlexMonkium verwenden, ein Add-On für Selenium IDE.
  • Möglicherweise treten Probleme beim Aktivieren der Aufnahme / Wiedergabe von Flex-Apps mithilfe der Selenium-Flexmonkium-Integration auf. Die Lösung besteht darin, dass der Benutzer die Flex monkium to selenium IDE sorgfältig installieren und integrieren muss. Durch die ordnungsgemäße Installation kann record Flash-Apps automatisieren.

Zusammenfassung:

  • Beim Flash-Testen müssen Sie überprüfen, ob Flash-Videos, Spiele, Filme usw. erwartungsgemäß funktionieren oder nicht.
  • Sie verwenden Flash-Attribute wie die Objekt-ID, um das Flash-Objekt zu lokalisieren. Und dadurch können Sie nach Bedarf Operationen wie Spielen, Stoppen usw. ausführen.
  • Der Hauptunterschied zwischen Flash und anderen Elementen besteht darin, dass Flash in SWF-Dateien eingebettet ist, während andere Elemente in HTML-Dateien eingebettet sind
  • Sie müssen den Flash-Test normal automatisieren, wenn das Flash-Objekt nicht leicht zugänglich ist.
  • Tools, die beim Flash-Testen nützlich sind, sind
  1. Selen
  2. Soap UI
  3. TestVervollständigen
  4. Test Studio etc.
  • Die Automatisierung der Flash-App ist eine Herausforderung. Um die Flash-App zu automatisieren, können Sie FlexMonkium verwenden, ein Add-On für Selenium IDE.