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.








