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.

  • ๐Ÿ“Œ Propรณsito principal: Las pruebas Flash validan que los archivos multimedia SWF integrados (vรญdeos, juegos y animaciones) se comporten exactamente como se diseรฑรณ.
  • ๐Ÿ”Ž Desafรญo de localizaciรณn: XPath no puede acceder a los objetos Flash, por lo que un objeto FlashObjectWebDriver especรญfico los localiza mediante el ID de objeto asignado.
  • ๐ŸŽฌ Mรฉtodo de grabaciรณn: Selenium El IDE registra las acciones realizadas en una pelรญcula Flash y las reproduce con el botรณn verde "Ejecutar".
  • ๐Ÿ’ป Mรฉtodo WebDriver: La clase FlashObjectWebDriver llama a Play, StopPlay y SetVariable para controlar Flash mediante programaciรณn.
  • โš ๏ธ Limitaciรณn clave: Flash estรก obsoleto; FlexMonkium lo extiende. Selenium IDE cuando falla la grabaciรณn y reproducciรณn nativa.

Pruebas flash con Selenium Controlador web

ยฟ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.

Pruebas flash

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:

  1. Aplicaciรณn Flash.
  2. Navegador web compatible.
  3. Complementos del reproductor Adobe Flash.

Herramientas- A continuaciรณn se muestran las herramientas de prueba que son รบtiles en las pruebas flash.

  1. Selenium
  2. UI de jabรณn
  3. TestComplete
  4. 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:

ID de objeto Flash de pelรญcula Flash/aplicaciรณn 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:

Automatizar Flash usando Selenium Grabaciรณn IDE

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:

Automatizar Flash usando Selenium Grabaciรณn IDE

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.

Automatizar Flash usando Selenium Grabaciรณn IDE

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.

Agregar archivo jar de Flash en Selenium Antecedentes

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.

Implementar flashWebdriver en Selenium guiรณn

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

Guru99 pelรญculas flash de demostraciรณn para Selenium las pruebas

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.

Preguntas Frecuentes

Adobe puso fin oficialmente al soporte para Flash Player el 31 de diciembre de 2020. Las pruebas de Flash ahora se aplican principalmente a sistemas heredados, ya que la mayorรญa de las aplicaciones han migrado a HTML5, que Selenium Se automatiza sin necesidad de bibliotecas Flash especiales.

El contenido Flash se renderiza dentro de un objeto SWF compilado e incrustado en la pรกgina, no como elementos DOM de HTML. Dado que XPath recorre el DOM, no puede acceder a los controles internos de Flash, por lo que se requiere un ID de objeto y FlashObjectWebDriver.

FlexMonkium es un complemento que se integra con Selenium IDE para habilitar la grabaciรณn y reproducciรณn de aplicaciones Flex y Flash. Una instalaciรณn correcta permite a los evaluadores capturar y reproducir acciones en objetos Flash que de otro modo serรญan inaccesibles.

Las herramientas de prueba visual basadas en IA reconocen los elementos Flash en pantalla mediante el reconocimiento de imรกgenes y patrones, en lugar del DOM. Esto permite a los equipos validar animaciones e interacciones que los localizadores tradicionales no pueden detectar.

Sรญ. Las herramientas asistidas por IA analizan los pasos de prueba de Flash existentes y sugieren localizadores y scripts HTML5 equivalentes. Esto acelera la migraciรณn a marcos modernos como Selenium WebDriver, a la vez que reduce el retrabajo manual.

Resumir este post con: