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.









