Test Flash avec Selenium pilote web

⚡ Résumé intelligent

Test Flash avec Selenium WebDriver vérifie le bon fonctionnement des vidéos, jeux et animations Flash. Cette ressource explique comment capturer les objets SWF intégrés, leur attribuer des identifiants et automatiser leur lecture. Selenium Enregistrement IDE et classe FlashObjectWebDriver pour une validation fiable.

  • 📌 Objectif principal : Les tests Flash vérifient que les médias SWF intégrés (vidéos, jeux et animations) se comportent exactement comme prévu.
  • ???? Défi de localisation : XPath ne peut pas accéder aux objets Flash, c'est pourquoi un objet FlashObjectWebDriver dédié les localise grâce à l'ID d'objet attribué.
  • 🎬 Méthode d'enregistrement: Selenium L'IDE enregistre les actions effectuées sur un film Flash et les rejoue avec le bouton vert Exécuter.
  • 💻 Méthode WebDriver : La classe FlashObjectWebDriver appelle les fonctions Play, StopPlay et SetVariable pour contrôler Flash par programmation.
  • ⚠️ Limitation clé : Flash est obsolète ; FlexMonkium l'étend Selenium IDE lorsque l'enregistrement et la lecture natifs échouent.

Test Flash avec Selenium pilote web

Qu’est-ce que le test Flash ?

Les tests Flash sont un type de test utilisé pour vérifier que les vidéos, jeux, films, etc. basés sur Flash fonctionnent comme prévu. En d'autres termes, tester la fonctionnalité de Flash est appelé Tests flash. Flash est un logiciel populaire développé par Macromedia (désormais racheté par Adobe). Il est utilisé pour développer des jeux, des applications, des animations graphiques, des films, etc. Mobile jeux, programmes, etc.

In Selenium Automatisation, si les éléments ne sont pas trouvés par les localisateurs généraux comme l'identifiant, la classe, le nom, etc., puis XPath Il est nécessaire de trouver un élément sur la page web pour effectuer une opération sur cet élément particulier. Mais lors des tests Flash, XPath L'accès à un objet Flash échoue. Un objet FlashWebDriver est donc nécessaire pour localiser un objet Flash dans n'importe quelle application.

Tests flash

Ici vous verrez comment exécuter Flash Tests et comment faire des tests flash avec Selenium.

Pré-requis pour les tests Flash

Avant de commencer, voici les exigences pour tester une application Flash :

  1. Application Flash.
  2. Navigateur Web compatible.
  3. Plugins du lecteur Adobe Flash.

Outils- Vous trouverez ci-dessous les outils de test utiles pour les tests flash.

  1. Selenium
  2. Interface utilisateur du savon
  3. TestComplete
  4. Studio d'essais, etc.

Selenium est un outil très populaire pour les tests web. Il permet de créer un framework multiplateforme et multilangage. C'est un logiciel libre, téléchargeable depuis le site officiel. Il est facile à configurer, à utiliser et à mettre en œuvre.

En quoi les tests Flash diffèrent-ils des autres éléments ?

Maintenant que les prérequis sont réunis, il est utile de comprendre pourquoi Flash se comporte différemment des éléments HTML standard lors des tests.

  • Pourquoi la capture d'objets au flash est-elle difficile ? Comment ce problème est-il résolu ?

Flash est une technologie obsolète. Il est difficile de capturer un objet Flash car il diffère du HTML. De plus, Flash est un fichier SWF (Small Web Format) intégré. Il est également difficile d'accéder à un objet Flash sur un appareil mobile.

Développerping Flash est plus difficile que le développementping Du point de vue du référencement (SEO), une page HTML est à proscrire car Flash n'est pas entièrement lisible par les moteurs de recherche. Cependant, des technologies avancées comme HTML5 ont été introduites pour pallier les problèmes de performance et de sécurité.

  • De quelles manières une application Flash est-elle testée ?

Les applications Flash sont testées de deux manières :

  • Manuel - Vous pouvez tester l'objet Flash en exécutant des cas de test manuellement car il est simple et facile à tester. Après la correction du bug, vous vous assurez que Flash fonctionne correctement comme prévu et vous vous déconnectez.
  • Automatisation - Vous écrivez un script à l'aide d'un outil d'automatisation comme Selenium, SoapUI, TestComplete, etc. et exécutez le script.
  • Différence entre Flash et les autres éléments.

Comme indiqué précédemment, la principale différence entre Flash et les autres éléments réside dans leur intégration : Flash est intégré dans des fichiers SWF, tandis que les autres éléments sont intégrés dans des fichiers HTML. C’est pourquoi le HTML est plus facile à capturer que Flash.

Comment obtenir l'identifiant d'objet Flash d'un film ou d'une application Flash ?

Une fois que vous savez en quoi Flash diffère de HTML, l'étape suivante consiste à localiser l'objet Flash lui-même grâce à son identifiant d'objet.

Sur toute page web, la balise `<object>` est utilisée pour tout élément multimédia intégré (comme Flash, ActiveX, vidéo, etc.). Elle indique qu'un élément est « intégré » dans un document HTML. Cette balise définit un conteneur intégré dans les balises `<object />` ou `<embed />` d'un document HTML pour du contenu interactif ou une application externe. Le nom de l'objet permet de localiser l'élément Flash sur les pages web.

Par exemple, dans l'exemple ci-dessous, vous pouvez voir que le film Flash est défini dans une balise « embed » dans un document ou un fichier HTML.

Exemple :

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

Utilisation de l'identifiant d'objet pour trouver les éléments Flash.

Vous pouvez utiliser des attributs Flash tels que l'identifiant de l'objet pour localiser l'objet Flash. Et ainsi, vous pouvez effectuer des opérations dessus selon vos besoins, comme lire, arrêter, etc.

Comme nous l'avons déjà évoqué, les objets Flash ne sont pas accessibles via XPath. Par conséquent, pour interagir avec ces objets, le développeur doit leur attribuer un identifiant approprié.

La capture d'écran ci-dessous montre que l'identifiant d'objet « MyFlashMovie » est attribué à Flash :

ID d'objet Flash de l'animation Flash/de l'application Flash

Comment automatiser Flash en utilisant Selenium Enregistrement IDE

Une fois l'identifiant de l'objet attribué, vous pouvez enregistrer les interactions sur le film Flash directement via Selenium IDE

Vous pouvez également automatiser le flash en utilisant Selenium IDE

Étape 1) Vous devez ouvrir l'application Flash, puis Selenium IDE tel qu'illustré dans la capture d'écran ci-dessous :

Automatisez Flash en utilisant Selenium Enregistrement IDE

Étape 2) Cliquez maintenant sur le bouton rouge « Enregistrer » situé à droite et commencez à effectuer des opérations sur le film Flash. Vous trouverez ensuite le script enregistré comme indiqué ci-dessous :

Automatisez Flash en utilisant Selenium Enregistrement IDE

Après l'enregistrement, si l'utilisateur souhaite exécuter le script, il peut cliquer sur le bouton vert « Exécuter », comme indiqué dans la capture d'écran ci-dessous. Selenium IDE exécutera le script étape par étape.

Automatisez Flash en utilisant Selenium Enregistrement IDE

Comment automatiser Flash en utilisant Selenium Pilote Web

Pour un contrôle plus poussé que celui offert par l'enregistrement, Selenium WebDriver vous permet de piloter l'objet Flash par programmation.

Vous pouvez également automatiser le flash en utilisant Selenium Utilisez le pilote web via l'objet FlashWebDriver, puis appelez une méthode pour interagir avec l'objet Flash. Vous devez… télécharger les fichiers jar flashwebdriver:

Étape 1) Après le téléchargement, ajoutez le fichier jar à votre projet comme indiqué dans la capture d'écran ci-dessous.

Ajouter le fichier JAR Flash dans Selenium Projet

Étape 2) Sous le fichier JAR Flash se trouve une classe FlashObjectWebDriver distincte. Implémentez le FlashWebDriver « myFlashmovie » dans votre script Selenium comme indiqué ci-dessous.

Implémenter flashWebdriver dans Selenium scénario

Après avoir ajouté la classe du pilote Web « MyFlashMovie », vous pouvez accéder à l'objet Flash.

Quand automatiser les tests flash

Il est généralement nécessaire d'automatiser les tests Flash lorsque l'objet Flash est difficilement accessible. Dans ce cas, le test est interrompu et l'objet Flash ne peut donc pas être testé.

Création d'un script Selenium pour les tests Flash

En rassemblant les étapes précédentes, voici un script fonctionnel complet qui lance et contrôle le Guru99 vidéos de démonstration en flash.

Étape 1) Vous utilisez le «GuruFilm flash de 99 secondes pour tester le scénario flash.

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

Guru99 films de démonstration Flash pour Selenium vers les tests

Étape 2) Écrivez un script dans Selenium Ouvrez Eclipse et exécutez-le. Le code ci-dessous, une fois exécuté, effectuera les opérations suivantes :

  • Ouvrez le Firefox navigateur,
  • Lancez le site flash guru99,
  • Jouez l'animation flash et
  • Puis arrêtez le 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"));
    }
}

Étape 3) Exécutez le script ci-dessus.

Sortie : Lors de l'exécution du script ci-dessus, le film flash démarre et s'arrête, etc.

Défis des tests Flash

  • L'automatisation d'une application Flash représente un défi. Pour automatiser une application Flash, vous pouvez utiliser FlexMonkium, un module complémentaire pour Selenium IDE
  • Vous pourriez rencontrer des problèmes lors de l'activation de l'enregistrement/de la lecture des applications Flex à l'aide de Selenium-Intégration de Flexmonkium. La solution consiste pour l'utilisateur à installer et à intégrer Flexmonkium à Selenium Utilisez l'IDE avec précaution. Une installation correcte permettra l'enregistrement pour automatiser les applications Flash.

FAQ

Adobe a officiellement mis fin à la prise en charge de Flash Player le 31 décembre 2020. Les tests Flash concernent désormais principalement les systèmes anciens, la plupart des applications ayant migré vers HTML5. Selenium Automatisation sans bibliothèques Flash spéciales.

Le contenu Flash s'affiche dans un objet SWF compilé, intégré à la page, et non sous forme d'éléments DOM HTML. Comme XPath parcourt le DOM, il ne peut pas accéder aux contrôles Flash internes ; un identifiant d'objet et FlashObjectWebDriver sont donc nécessaires.

FlexMonkium est un module complémentaire qui s'intègre avec Selenium IDE permettant l'enregistrement et la lecture d'applications Flex et Flash. Une installation correcte permet aux testeurs de capturer et de rejouer des actions sur des objets Flash autrement inaccessibles.

Les outils de test visuel basés sur l'IA reconnaissent les éléments Flash à l'écran grâce à la reconnaissance d'images et de motifs, plutôt qu'à l'analyse du DOM. Cela permet aux équipes de valider les animations et les interactions que les localisateurs traditionnels ne peuvent pas détecter.

Oui. Les outils d'IA analysent les étapes de test Flash existantes et suggèrent des localisateurs et des scripts HTML5 équivalents. Cela accélère la migration vers des frameworks modernes comme Selenium WebDriver tout en réduisant les interventions manuelles.

Résumez cet article avec :