¿Qué es la prueba de Flash?
Probar la funcionalidad del flash se denomina Prueba de flash. A veces, en su aplicación, es posible que tenga que verificar los videos de animación, películas, juegos, etc. particulares. como trabajando según las expectativas o no. Aquí necesitamos escribir el script para comprobar la funcionalidad de flash para probar este tipo de aplicaciones. Flash es un software desarrollado por Macromedia que ahora es adquirido por Adobe. Se utiliza para desarrollar videojuegos, películas, juegos móviles para iOS y Android, etc. Para reproducir las aplicaciones Flash necesitamos algunos complementos.
Requisitos previos para pruebas de Flash con Selenium WebDriver
Deberíamos estar listos con los requisitos a continuación para probar la aplicación flash con Selenium WebDriver. Aquí está la lista de requisitos previos:
- Aplicación Web Flash
- Complementos de Adobe Flash Player
- Compatibilidad con navegadores nativos
Debajo del software de edición necesario para las aplicaciones flash.
- Adobe Animar
- Flash Builder
- Flash Desarrollar
- Alimentación Intermitente
- Scaleform
Para reproducir el Flash aplicaciones necesitamos los siguientes plugins que se enumeran de la siguiente manera:
- OpenFL
- Adobe Air
- Flash Player
- Gnash
a Continuación son las herramientas de Prueba requerida en flash pruebas.
- Selenio
- TestComplete
- Soap UI
- Test Studio etc.
¿Cómo probar contenido Flash con Selenio?
En general, para interactuar con su contenido Flash en Selenium no tiene una interfaz. En ActionScript, se programan archivos Flash que son muy similares a JavaScript. Los archivos Flash también contienen elementos de programación. Por ejemplo, también tienen botones, cuadro de texto, botones de opción, etc. El archivo Flash necesita llamar a algunos métodos internos para realizar la tarea. Por ejemplo, el contenido flash de un botón puede hacer que cambie el color de fondo del contenido flash. Para el rescate utilizamos ActionScript, expone una clase llamada Interfaz Externa para los desarrolladores. Esta clase es muy importante si desea exponer los métodos internos del archivo Flash al mundo exterior. El mundo exterior es el Navegador que aloja el contenido. Así que si exponemos nuestros métodos internos desde el archivo Flash al Navegador, podemos llamarlos directamente usando JavaScript.
Diferentes formas de probar aplicaciones Flash
Las aplicaciones Flash se pueden probar de dos maneras Manual & Automatización:
Manual: Es simple y fácil de probar ejecutando los casos de prueba manualmente para probar el objeto Flash.
Automatización: Para ejecutar el script, necesitamos escribir un script utilizando herramientas de automatización como TestComplete, Selenium, SoapUI y Test Studio.
Diferencia entre Flash y otros elementos
Flash está incrustado en archivos SWF donde otros elementos están incrustados en archivos HTML. Por lo tanto, es por eso que en comparación con flash HTML es fácil de capturar.
¿Cómo puede obtener un ID de objeto de película o aplicación flash?
En todas las páginas Web, la etiqueta < object > define un objeto incrustado con cualquier multimedia como Video, ActiveX, Flash,applets Java, ActiveX, PDF, etc. en sus páginas web. Indica «incrustar» dentro de un documento HTML. Esta etiqueta describe un contenedor incrustado en etiquetas< object /> o< embed / > en un HTML para contenido interactivo o aplicación externa. Para localizar el objeto flash en páginas web, se utiliza el nombre del objeto. También puede usar la etiqueta < object> para incrustar otra página web en el documento HTML.
Por ejemplo, la película flash se define en una etiqueta «incrustar» en un documento o archivo HTML.
Ejemplo:
/* 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>
¿Cómo realizar pruebas de Flash usando Selenium Webdriver?
Para importar la biblioteca Flash, debe descargar el archivo Flash Selenium jar. Puedes descargar el Flash.archivo jar para Selenium WebDriver a través del enlace https://drive.google.com/drive/folders/0B5v_nInLNoquN3hRbmJFYXpCb28. Una vez completada la descarga, debe agregar el archivo jar a su proyecto.
Una vez finalizados todos los requisitos previos necesarios, debe llamar a la clase FlashObjectWebDriver. Esta clase se utiliza para realizar las acciones en reproductores Flash.Sintaxis
:
FlashObjectWebDriver flash = new FlashObjectWebDriver(webDriver, " flash object");
La aplicación Flash se puede probar de dos maneras:
- El desarrollador proporcionará métodos flash para las pruebas, omitiéndolos a través del código JavaScript.
- Los evaluadores independientes no tienen acceso al código fuente proporcionado por los desarrolladores, por lo que los evaluadores utilizan una herramienta basada en imágenes llamada Sikuli, que utiliza imágenes para realizar acciones del usuario.
Creación de script de selenio para pruebas de Flash.
A continuación, el programa actúa como reproductor de vídeo
Hay algunos métodos predefinidos disponibles para probar aplicaciones flash de youtube.
- playVideo
- pauseVideo
- mute
- setVolume
- seekTo
Ejemplo:
Paso 1: Escribir un Selenio secuencia de comandos en eclipse y ejecutarlo. El siguiente código realizará las siguientes cosas cuando ejecutemos el script.
- Iniciar el navegador Chrome
- Iniciar el sitio
- Reproducir el vídeo
- Detener el vídeo
- Rebobinar el vídeo
Si los desarrolladores proporcionan algunos métodos flash, el siguiente ejemplo muestra que la aplicación de ejemplo cumplió con los métodos flash.Paso 1:
Cree la clase FlashWebDriver y realice acciones de usuario en la aplicación flash utilizando JavaScript internamente.
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); }}
Paso 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")); }}
Paso 2: Ejecuta el script anterior.Salida
: Una vez que ejecutamos el script anterior, el video comienza a reproducirse, detenerse y rebobinarse.
Desafíos en pruebas de Flash
- Para automatizar la aplicación flash, puede usar FlexMonkium, que es un complemento para Selenium IDE.
- Al usar la integración Selenium-Flexmonkium, es posible que tenga un problema para habilitar las aplicaciones Flex de grabación / reproducción. Para superar el problema, el usuario necesita instalar e integrar Flexmonkium en selenium IDE con mucho cuidado. La instalación adecuada permitirá que el registro automatice las aplicaciones flash.
Conclusión:
- En las pruebas de Flash, debe verificar los videos de animación, películas, juegos, etc. particulares. como funciona según lo esperado o no
- La diferencia entre flash y otros elementos es que Flash está incrustado en archivos SWF, mientras que otros elementos están incrustados en archivos HTML
- Para localizar el objeto flash, utilice atributos como id de objeto. Y por lo tanto, puede realizar operaciones como reproducir, detener, silenciar, reanudar, etc.
- Herramientas de prueba requeridas en pruebas flash.
- Selenio
- TestComplete
- Soap UI
- Estudio de pruebas, etc.
- Para jugar las aplicaciones Flash necesitamos los siguientes plugins que se enumeran de la siguiente manera:
- OpenFL
- Adobe Air
- Flash Player
- Gnash