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.

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.
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 :
- Application Flash.
- Navigateur Web compatible.
- Plugins du lecteur Adobe Flash.
Outils- Vous trouverez ci-dessous les outils de test utiles pour les tests flash.
- Selenium
- Interface utilisateur du savon
- TestComplete
- 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 :
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 :
É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 :
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.
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.
É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.
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
É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.








