Qu’est-ce que le Test Flash?
Tester la fonctionnalité du flash est appelé Test Flash. Parfois, dans votre application, vous devrez peut-être vérifier les vidéos d’animation, les films, les jeux, etc. comme travaillant selon les attentes ou non. Ici, nous devons écrire le script pour vérifier la fonctionnalité de flash pour tester ce type d’application. Flash est un logiciel développé par Macromedia qui est maintenant acquis par Adobe. Il est utilisé pour développer des jeux vidéo, des films, des jeux mobiles pour iOS et Android, etc. Pour lire les applications Flash, nous avons besoin de plugins.
Pré-requis pour les tests Flash avec Selenium WebDriver
Nous devrions être prêts avec les exigences ci-dessous pour tester l’application flash avec Selenium WebDriver. Voici la liste des pré-requis:
- Application Web Flash
- Plugins Adobe Flash Player
- Prise en charge du navigateur natif
Sous le logiciel d’édition requis pour les applications flash.
- Adobe Animate
- Flash Builder
- Flash Develop
- Power Flasher
- Scaleform
Pour lire les applications Flash, nous avons besoin des plugins suivants qui sont répertoriés comme suit:
- OpenFL
- Adobe Air
- Flash Player
- Gnash
Voici les outils de test requis pour les tests flash.
- Sélénium
- TestComplete
- Interface utilisateur Soap
- Studio de test etc.
Comment tester le contenu Flash en utilisant du sélénium?
En général, pour interagir avec votre contenu Flash dans Selenium, il n’a pas d’interface. En ActionScript, les fichiers Flash sont programmés qui sont très similaires à JavaScript. Les fichiers Flash contiennent également des éléments de programmation. Par exemple, ils ont aussi des boutons, une zone de texte, des boutons radio, etc. Le fichier Flash doit appeler certaines méthodes internes pour effectuer la tâche. Par exemple, le contenu flash d’un bouton peut modifier la couleur d’arrière-plan du contenu flash. À la rescousse, nous utilisons ActionScript, il expose une classe appelée Interface externe pour les développeurs. Cette classe est la plus importante si vous souhaitez exposer les méthodes internes du fichier Flash au monde extérieur. Le monde extérieur est le navigateur qui héberge le contenu. Donc, si nous exposons nos méthodes internes du fichier Flash au navigateur, nous pouvons les appeler directement en utilisant JavaScript.
Différentes façons de tester les applications Flash
Les applications Flash peuvent être testées de deux manières Manuel & Automatisation:
Manuel: Il est simple et facile de tester en exécutant les cas de test manuellement pour tester l’objet Flash.
Automatisation: Pour exécuter le script, nous devons écrire un script à l’aide d’outils d’automatisation tels que TestComplete, Selenium, SoapUI et Test Studio.
Différence entre le Flash et les autres éléments
Flash est intégré dans des fichiers SWF où d’autres éléments sont intégrés dans des fichiers HTML. C’est pourquoi, comparé au HTML flash, il est facile à capturer.
Comment obtenir un film flash ou un ID d’objet d’application flash?
Dans toutes les pages Web, la balise <object > définit un objet intégré avec n’importe quel multimédia comme la vidéo, ActiveX, Flash, applets Java, ActiveX, PDF, etc. dans vos pages web. Il indique « intégrer » dans un document HTML. Cette balise décrit un conteneur intégré dans des balises <object/> ou <embed/> dans un HTML pour un contenu interactif ou une application externe. Pour localiser l’objet flash sur les pages Web, le nom de l’objet est utilisé. Vous pouvez également utiliser la balise < object > pour intégrer une autre page Web dans votre document HTML.
Par exemple, le film flash est défini dans une balise « intégrer » 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/movieplay.swf" type="application/flash"/></body></html>
Comment effectuer des tests Flash à l’aide de Selenium Webdriver?
Pour importer la bibliothèque Flash, vous devez télécharger le fichier jar Flash Selenium. Vous pouvez télécharger le Flash.fichier jar pour Selenium WebDriver via le lien https://drive.google.com/drive/folders/0B5v_nInLNoquN3hRbmJFYXpCb28. Une fois le téléchargement terminé, vous devez ajouter le fichier jar à votre projet.
Une fois que tous les prérequis requis sont terminés, vous devez appeler la classe FlashObjectWebDriver. Cette classe est utilisée pour effectuer les actions sur les lecteurs Flash.
Syntaxe:
FlashObjectWebDriver flash = new FlashObjectWebDriver(webDriver, " flash object");
L’application Flash peut être testée de deux manières:
- Le développeur fournira des méthodes flash pour les tester, en les contournant via du code JavaScript.
- Les testeurs indépendants n’ont pas accès au code source fourni par les développeurs, les testeurs utilisent donc un outil basé sur des images appelé Sikuli, qui utilise des images pour effectuer des actions de l’utilisateur.
Création de script sélénium pour les tests Flash.
Ci-dessous l’exemple, le programme agit comme un lecteur vidéo
Il existe des méthodes prédéfinies disponibles pour tester les applications flash youtube.
- playVideo
- pauseVideo
- mute
- setVolume
- seekTo
Exemple:
Step1: Écrivez un script Sélénium dans eclipse et exécutez-le. Le code ci-dessous effectuera les choses suivantes lorsque nous exécuterons le script.
- Lancer le navigateur Chrome
- Lancer le site
- Lire la vidéo
- Arrêter la vidéo
- Rembobiner la vidéo
Si les développeurs fournissent des méthodes flash, l’exemple ci-dessous montre que l’exemple d’application est conforme aux méthodes flash.Étape 1:
Créez la classe FlashWebDriver et effectuez des actions utilisateur sur l’application flash en utilisant JavaScript en interne.
package com.java.selenium;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;public class FlashTesting{ private final WebDriver webdriver; private final String flashObjectId ; public FlashWebDriver(final WebDriver webdriver,final String flashObjectId) { this.webdriver=webdriver; this.flashObjectId=flashObjectId; } public String click(final String objectId,final String buttonLabel) { return callFlashObject("DoFlashClick",objectId,buttonLabel); } public String click(final String objectId) { return callFlashObject(objectId,""); } public String callFlashObject(final String functionName,final String... args) { final Object result=((JavascriptExecutor) webdriver).executeScript (makeJsFuntion(functionName,args), new Object); return result!=null ? result.toString() :null;}private String makeJsFuntion(final String functionName,final String... args) {final StringBuffer functionArgs=new StringBuffer(); if(args.length>0) { for(int i=0;i<args.length;i++) { if(i>0) { functionArgs.append(","); } functionArgs.append(String.format("'%1$s'", args)); } }return String.format("return document.%1$s.%2$s(%3$s);", flashObjectId, functionName,functionArgs); }}
Étape 2:
package com.java.selenium;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;public class FlashTesting { public static void main(String args) throws InterruptedException {WebDriver driver;System.setProperty("webdriver.gecko.driver", "C:\drivers\geckodriver.exe");driver = new FirefoxDriver();driver.get("http://www.permadi.com/tutorial/flashjscommand/");driver.manage().window().maximize();FlashWebDriver flashApp = new FlashWebDriver(driver, "myFlashMovie");flashApp.callFlashObject("Play"); // first numberThread.sleep(3000L);flashApp.callFlashObject("StopPlay"); // operationThread.sleep(3000L);flashApp.callFlashObject("Rewind"); System.out.println(flashApp.callFlashObject("GetVariable","/:message"));flashApp.callFlashObject("SetVariable","/:message","Learn Flash testing with Webdriver");System.out.println(flashApp.callFlashObject("GetVariable","/:message")); }}
Étape 2: Exécutez le script ci-dessus.
Sortie: Une fois que nous avons exécuté le script ci-dessus, la vidéo commence à être lue, arrêtée et rembobinée.
Défis des tests Flash
- Pour automatiser l’application flash, vous pouvez utiliser FlexMonkium qui est un add-on pour l’E Selenium.
- En utilisant l’intégration Selenium-Flexmonkium, vous pouvez rencontrer un problème pour activer les applications Flex d’enregistrement/lecture. Pour résoudre le problème, l’utilisateur doit installer et intégrer Flexmonkium à selenium ID très soigneusement. Une installation correcte permettra à l’enregistrement d’automatiser les applications flash.
Conclusion:
- Dans les tests Flash, vous devez vérifier les vidéos d’animation, les films, les jeux, etc. particuliers. comme fonctionnant selon prévu ou non
- La différence entre flash et les autres éléments est que Flash est intégré dans des fichiers SWF, tandis que d’autres éléments sont intégrés dans des fichiers HTML
- Pour localiser l’objet flash, vous utilisez des attributs tels que l’id d’objet. Et par conséquent, vous pouvez effectuer des opérations telles que la lecture, l’arrêt, la mise en sourdine, la reprise, etc.
- Outils de test requis pour les tests flash.
- Selenium
- TestComplete
- Soap UI
- Studio de test etc.
- Pour lire les applications Flash, nous avons besoin des plugins suivants qui sont répertoriés comme suit:
- OpenFL
- Adobe Air
- Lecteur flash
- Gnash