Pruebas flash con Selenium Controlador web
⚡ Resumen inteligente
Pruebas flash con Selenium WebDriver verifica que los videos, juegos y animaciones basados en Flash funcionen correctamente. Este recurso explica cómo capturar objetos SWF incrustados, asignar identificadores de objetos y automatizar la reproducción mediante Selenium Grabación en el IDE y la clase FlashObjectWebDriver para una validación fiable.

¿Qué son las pruebas flash?
Las pruebas de Flash son un tipo de prueba que se utiliza para comprobar que los vídeos, juegos, películas, etc. basados en Flash funcionan como se espera. En otras palabras, probar la funcionalidad de Flash se conoce como Pruebas de destello. Flash es un software popular desarrollado por Macromedia (ahora adquirida por Adobe). Se utiliza para desarrollar juegos, aplicaciones, animaciones basadas en gráficos, películas, Móvil juegos, programas, etc.
In Selenium Automatización, si los elementos no son encontrados por los localizadores generales. como id, clase, nombre, etc., luego XPath es necesario encontrar un elemento en la página web para realizar una operación en ese elemento en particular. Pero en las pruebas de Flash, XPath No se puede acceder a un objeto Flash. Por lo tanto, se requiere un objeto Flashwebdriver para encontrar un objeto Flash en cualquier aplicación.
Aquí verás cómo ejecutar flash. Pruebas y cómo hacer pruebas flash con Selenium.
Requisito previo para las pruebas flash
Antes de comenzar, tenga en cuenta los siguientes requisitos para probar una aplicación Flash:
- Aplicación Flash.
- Navegador web compatible.
- Complementos del reproductor Adobe Flash.
Herramientas- A continuación se muestran las herramientas de prueba que son útiles en las pruebas flash.
- Selenium
- UI de jabón
- TestComplete
- Estudio de prueba, etc.
Selenium Es una herramienta muy popular para pruebas web. Permite crear frameworks para diferentes plataformas y lenguajes de programación. Es de código abierto y se puede descargar desde su sitio web oficial. Es fácil de configurar, usar e implementar.
En qué se diferencia la prueba Flash de otros elementos.
Ahora que se cumplen los requisitos previos, resulta útil comprender por qué Flash se comporta de manera diferente a los elementos HTML estándar durante las pruebas.
- ¿Por qué es difícil capturar objetos con flash? ¿Cómo se soluciona?
Flash es una tecnología obsoleta. Es difícil capturar un objeto Flash, ya que es diferente de HTML. Además, Flash es un archivo SWF (Small Web Format) incrustado. También es difícil acceder a un objeto Flash en un dispositivo móvil.
Desarrollarping Flash es más difícil que Develop.ping Una página HTML presenta problemas de posicionamiento en buscadores (SEO), ya que Flash no es totalmente legible para los motores de búsqueda. Sin embargo, se han introducido tecnologías avanzadas como HTML5 para superar problemas de rendimiento y seguridad.
- ¿De qué maneras se prueba una aplicación Flash?
Las aplicaciones Flash se prueban de dos maneras:
- Manual - Puede probar el objeto Flash ejecutando casos de prueba manualmente, ya que es sencillo y fácil de probar. Después de corregir el error, debe asegurarse de que el flash funcione correctamente como se esperaba y aprobarlo.
- Automatización - Escribes un script usando cualquier herramienta de automatización como Selenium, SoapUI, TestComplete, etc. y ejecutar el script.
- Diferencia entre Flash y otros elementos.
Como se mencionó anteriormente, la principal diferencia entre Flash y otros elementos es que Flash está integrado en archivos SWF, mientras que otros elementos están integrados en archivos HTML. Por eso, HTML es más fácil de capturar que Flash.
¿Cómo se puede obtener el ID del objeto Flash de una película Flash o una aplicación Flash?
Una vez que sepa en qué se diferencia Flash de HTML, el siguiente paso es localizar el objeto Flash en sí a través de su ID de objeto.
En cualquier página web, la etiqueta <object> se utiliza para cualquier contenido multimedia incrustado (como Flash, ActiveX, vídeo, etc.). Implica "incrustar" dentro de un documento HTML. Esta etiqueta define un contenedor incrustado entre las etiquetas <object/> o <embed/> en un documento HTML para contenido interactivo o una aplicación externa. El nombre del objeto se utiliza para localizar el objeto Flash en las páginas web.
Por ejemplo, en el siguiente ejemplo puede ver que la película Flash está definida en una etiqueta "embed" 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/movie_play.swf" type="application/flash"/> </body> </html>
Utilizar el ID del objeto para encontrar elementos Flash.
Puede utilizar atributos flash como la identificación del objeto para localizar el objeto flash. Y así puede realizar operaciones en él según sea necesario, como reproducir, detener, etc.
Como ya se ha comentado, no se puede acceder a los objetos Flash mediante XPath. Por lo tanto, para realizar cualquier acción sobre estos objetos, el desarrollador debe asignarles un ID de objeto adecuado.
La siguiente pantalla muestra que el ID de objeto “MyFlashMovie” está asignado a Flash:
Cómo automatizar Flash usando Selenium Grabación IDE
Con el ID de objeto asignado, puede grabar interacciones en la película Flash directamente a través de Selenium IDE
También puedes automatizar el flash usando Selenium IDE
Paso 1) Necesitas abrir la aplicación Flash y luego Selenium IDE como se muestra en la siguiente pantalla:
Paso 2) Ahora haga clic en el botón rojo de grabación que se encuentra en el lado derecho y comience a realizar operaciones en la película Flash, y luego encontrará el guion grabado como se muestra a continuación:
Después de grabar, si el usuario desea ejecutar el script, puede hacer clic en el botón verde de ejecución, como se muestra en la siguiente pantalla. Selenium IDE ejecutará el script paso a paso.
Cómo automatizar Flash usando Selenium controlador web
Para un mayor control que el que ofrece la grabación, Selenium WebDriver permite controlar el objeto Flash mediante programación.
También puedes automatizar el flash usando Selenium Controlador web a través del objeto Flashwebdriver y luego llamar a un método para operar en el objeto flash. Necesitas descargar archivos jar flashwebdriver:
Paso 1) Tras la descarga, añade el archivo jar a tu proyecto como se muestra en la siguiente pantalla.
Paso 2) Dentro del archivo JAR de Flash, hay una clase FlashObjectWebDriver independiente. Implementa la clase FlashWebDriver “myFlashmovie” en tu script de Selenium como se muestra en la siguiente captura de pantalla.
Tras añadir la clase de controlador web “MyFlashMovie”, podrá acceder al objeto Flash.
Cuándo automatizar las pruebas flash
Normalmente, es necesario automatizar las pruebas de Flash cuando el objeto Flash no es fácilmente accesible. Esto provoca que la prueba se interrumpa y, por lo tanto, que no se pueda probar el objeto Flash.
Creación de un script de Selenium para pruebas de Flash
Reuniendo los pasos anteriores, aquí hay un script completo y funcional que inicia y controla el Guru99 películas Flash de demostración.
Paso 1) Usted utiliza el “GuruPelícula Flash de 99 segundos para probar el escenario Flash.
https://demo.guru99.com/test/flash-testing.html
Paso 2) Escribir un guión en Selenium Eclipse y ejecútalo. El siguiente código, al ejecutarse, hará lo siguiente:
- Abra el panel de Firefox navegador,
- Inicie el sitio flash guru99,
- Reproduzca la película flash y
- Entonces detén la película.
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")); } }
Paso 3) Ejecuta el script anterior.
Salida: Al ejecutar el script anterior, la película Flash comienza a reproducirse y se detiene, etc.
Desafíos en las pruebas flash
- Automatizar una aplicación Flash es un desafío. Para automatizar una aplicación Flash, puede usar FlexMonkium, que es un complemento para Selenium IDE
- Es posible que experimente problemas al habilitar la grabación/reproducción de aplicaciones Flex mediante el uso de Selenium-Integración de Flexmonkium. La solución es que el usuario necesita instalar e integrar Flexmonkium con Selenium IDE con atención. Una instalación correcta permitirá grabar para automatizar aplicaciones Flash.








