Test flash con Selenium webdriver

โšก Riepilogo intelligente

Test flash con Selenium WebDriver verifica che i video, i giochi e le animazioni basati su Flash funzionino correttamente. Questa risorsa spiega come acquisire oggetti SWF incorporati, assegnare ID oggetto e automatizzare la riproduzione utilizzando Selenium Registrazione IDE e classe FlashObjectWebDriver per una convalida affidabile.

  • ???? Scopo principale: Flash Testing verifica che i contenuti multimediali SWF incorporati (video, giochi e animazioni) si comportino esattamente come previsto.
  • ๐Ÿ”Ž Sfida di localizzazione: XPath non puรฒ raggiungere gli oggetti Flash, quindi un oggetto FlashObjectWebDriver dedicato li individua tramite l'ID oggetto assegnato.
  • ๐ŸŽฌ Metodo di registrazione: Selenium IDE registra le azioni eseguite su un filmato Flash e le riproduce tramite il pulsante verde "Esegui".
  • ๐Ÿ’ป Metodo WebDriver: La classe FlashObjectWebDriver chiama i metodi Play, StopPlay e SetVariable per controllare Flash a livello di programmazione.
  • โš ๏ธ Limitazione chiave: Flash รจ obsoleto; FlexMonkium estende Selenium IDE quando la registrazione e la riproduzione native non funzionano.

Test flash con Selenium webdriver

Che cos'รจ il test Flash?

Il test di Flash รจ un tipo di test utilizzato per verificare che video, giochi, film, ecc. basati su Flash funzionino come previsto. In altre parole, il test della funzionalitร  di Flash รจ noto come Test flash. Flash รจ un software popolare sviluppato da Macromedia (ora acquisita da Adobe). Viene utilizzato per sviluppare giochi, applicazioni, animazioni basate sulla grafica, film, Mobile giochi, programmi, ecc.

In Selenium Automazione, se gli elementi non vengono trovati dai localizzatori generali come ID, classe, nome, ecc, poi XPath รจ necessario trovare un elemento sulla pagina web per eseguire un'operazione su quell'elemento particolare. Ma nei test Flash, XPath Impossibile accedere a un oggetto Flash. Pertanto, รจ necessario un oggetto Flashwebdriver per trovare un oggetto Flash in qualsiasi applicazione.

Test flash

Qui vedrai come eseguire flash Collaudo e come eseguire i test flash con Selenium.

Prerequisito per il test Flash

Prima di iniziare, ecco i requisiti necessari per testare un'applicazione Flash:

  1. Applicazione Flash.
  2. Browser web supportati.
  3. Plugin di Adobe Flash Player.

Utensili- Di seguito sono riportati gli strumenti di test utili nei test flash.

  1. Selenium
  2. Interfaccia utente del sapone
  3. TestComplete
  4. Studio di prova ecc.

Selenium รจ uno strumento molto popolare per il test di applicazioni web. Permette di creare framework per diverse piattaforme e in diversi linguaggi di programmazione. รˆ uno strumento open source e puรฒ essere scaricato dal sito web ufficiale. รˆ facile da configurare, utilizzare e implementare.

In che modo il test Flash si differenzia dagli altri elementi?

Ora che i prerequisiti sono pronti, รจ utile capire perchรฉ Flash si comporta in modo diverso dagli elementi HTML standard durante la fase di test.

  • Perchรฉ รจ difficile catturare oggetti con il flash? Come si risolve questo problema?

Flash รจ una tecnologia obsoleta. รˆ difficile acquisire un oggetto Flash perchรฉ รจ diverso dall'HTML. Inoltre, Flash รจ un file SWF (Small Web Format) incorporato. รˆ anche difficile accedere a un oggetto Flash su un dispositivo mobile.

Sviluppareping Flash รจ piรน difficile dello sviluppoping Una pagina HTML presenta problemi dal punto di vista della SEO (ottimizzazione per i motori di ricerca) perchรฉ Flash non รจ completamente leggibile dai motori di ricerca. Tuttavia, tecnologie avanzate come HTML5 sono state introdotte per superare problemi come le prestazioni e la sicurezza.

  • In che modo viene testata un'applicazione Flash?

Le applicazioni Flash vengono testate in due modi:

  • Manuale - รˆ possibile testare l'oggetto Flash eseguendo manualmente i casi di test poichรฉ รจ semplice e facile da testare. Dopo la correzione del bug, ti assicuri che Flash funzioni correttamente come previsto e fornisci l'approvazione.
  • Automazione - Scrivi uno script utilizzando qualsiasi strumento di automazione come Selenium, SoapUI, TestComplete, ecc. ed eseguire lo script.
  • Differenza tra Flash e altri elementi.

Come accennato in precedenza, la principale differenza tra Flash e gli altri elementi รจ che Flash รจ incorporato nei file SWF, mentre gli altri elementi sono incorporati nei file HTML. Ecco perchรฉ l'HTML รจ piรน facile da acquisire rispetto a Flash.

Come si ottiene l'ID oggetto Flash di un filmato Flash / di un'app Flash?

Una volta comprese le differenze tra Flash e HTML, il passo successivo consiste nell'individuare l'oggetto Flash stesso tramite il suo ID oggetto.

In qualsiasi pagina web, il tag <object> viene utilizzato per qualsiasi elemento multimediale incorporato (come Flash, ActiveX, video, ecc.). Implica l'"incorporamento" all'interno di un documento HTML. Questo tag definisce un contenitore incorporato nei tag <object/> o <embed/> in un documento HTML per contenuti interattivi o un'applicazione esterna. Il nome dell'oggetto viene utilizzato per individuare l'oggetto Flash nelle pagine web.

Ad esempio, nell'esempio seguente si puรฒ notare che il filmato Flash รจ definito in un tag "embed" all'interno di un documento o file HTML.

Esempio:

/* 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>

Utilizzo dell'ID oggetto per individuare gli elementi Flash.

รˆ possibile utilizzare attributi flash come ID oggetto per individuare l'oggetto flash. E in questo modo puoi eseguire le operazioni su di esso come richiesto come riproduci, ferma, ecc.

Come giร  accennato, non รจ possibile accedere agli oggetti Flash tramite XPath. Pertanto, per poter eseguire qualsiasi operazione su questi oggetti, lo sviluppatore deve assegnare un ID oggetto appropriato.

La schermata seguente mostra l'ID oggetto "MyFlashMovie" assegnato al Flash:

ID oggetto Flash del filmato Flash/app Flash

Come automatizzare Flash utilizzando Selenium Registrazione dell'IDE

Con l'ID oggetto assegnato, รจ possibile registrare le interazioni sul filmato Flash direttamente tramite Selenium SDI.

Puoi anche automatizzare il flash usando Selenium SDI.

Passo 1) Devi aprire l'applicazione flash e poi Selenium IDE come mostrato nella schermata seguente:

Automatizza Flash utilizzando Selenium Registrazione IDE

Passo 2) Ora clicca sul pulsante rosso "registra" a destra e inizia a lavorare sul filmato Flash; troverai quindi la registrazione come mostrato di seguito:

Automatizza Flash utilizzando Selenium Registrazione IDE

Dopo la registrazione, se l'utente desidera eseguire lo script, puรฒ fare clic sul "pulsante di esecuzione verde" come mostrato nella schermata sottostante. Selenium L'IDE eseguirร  lo script passo dopo passo.

Automatizza Flash utilizzando Selenium Registrazione IDE

Come automatizzare Flash utilizzando Selenium Webdriver

Per un controllo maggiore rispetto a quello offerto dalla registrazione, Selenium WebDriver consente di controllare l'oggetto Flash a livello di programmazione.

Puoi anche automatizzare il flash usando Selenium driver web tramite l'oggetto Flashwebdriver e quindi chiama un metodo per operare sull'oggetto flash. Devi scarica i file jar di flashwebdriver:

Passo 1) Dopo aver scaricato il file, aggiungilo al tuo progetto come mostrato nella schermata sottostante.

Aggiungi il file jar di Flash in Selenium progetto

Passo 2) All'interno del file JAR di Flash รจ presente una classe separata denominata flashobjectwebdriver. Implementa il flashWebdriver "myFlashmovie" nel tuo script Selenium come mostrato nella schermata seguente.

Implementare flashWebdriver in Selenium copione

Dopo aver aggiunto la classe del driver web "MyFlashMovie", รจ possibile accedere all'oggetto Flash.

Quando automatizzare il test flash

Solitamente, รจ necessario automatizzare i test Flash quando l'oggetto Flash non รจ facilmente accessibile. Ciรฒ comporta l'interruzione del test e, di conseguenza, il fallimento del test dell'oggetto Flash.

Creazione di uno script Selenium per il test di Flash

Mettendo insieme i passaggi precedenti, ecco uno script funzionante completo che avvia e controlla il Guru99 filmati dimostrativi in โ€‹โ€‹Flash.

Passo 1) Si utilizza il โ€œGuruFilmato Flash da 99 secondi per testare lo scenario Flash.

https://demo.guru99.com/test/flash-testing.html

Guru99 film flash dimostrativi per Selenium analisi

Passo 2) Scrivi una sceneggiatura Selenium Apri Eclipse ed esegui il codice. Il codice seguente, una volta eseguito, svolgerร  le seguenti operazioni:

  • Aprire il Firefox del browser,
  • Avvia il sito flash guru99,
  • Riproduci il filmato flash e
  • Quindi interrompi il film.
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"));
    }
}

Passo 3) Eseguire lo script sopra riportato.

Produzione: All'esecuzione dello script sopra riportato, il filmato flash inizia a essere riprodotto e si arresta, ecc.

Sfide nei test Flash

  • Automatizzare un'app Flash รจ una sfida. Per automatizzare un'app Flash, puoi usare FlexMonkium, che รจ un componente aggiuntivo per Selenium SDI.
  • Potresti riscontrare problemi nell'abilitare la registrazione/riproduzione delle app Flex utilizzando Selenium-Integrazione Flexmonkium. La soluzione รจ che l'utente deve installare e integrare Flexmonkium con Selenium Utilizzare l'IDE con attenzione. Una corretta installazione consentirร  la registrazione per automatizzare le applicazioni Flash.

DOMANDE FREQUENTI

Adobe ha ufficialmente interrotto il supporto di Flash Player il 31 dicembre 2020. I test di Flash ora si applicano principalmente ai sistemi legacy, poichรฉ la maggior parte delle applicazioni รจ migrata a HTML5, che Selenium automatizza senza bisogno di librerie Flash speciali.

Il contenuto Flash viene renderizzato all'interno di un oggetto SWF compilato incorporato nella pagina, non come elementi DOM HTML. Poichรฉ XPath attraversa il DOM, non puรฒ raggiungere i controlli Flash interni, quindi sono necessari un ID oggetto e FlashObjectWebDriver.

FlexMonkium รจ un componente aggiuntivo che si integra con Selenium IDE per abilitare la registrazione e la riproduzione di applicazioni Flex e Flash. Una corretta installazione permette ai tester di acquisire e riprodurre azioni su oggetti Flash altrimenti inaccessibili.

Gli strumenti di test visivo basati sull'intelligenza artificiale riconoscono gli elementi Flash sullo schermo tramite il riconoscimento di immagini e modelli, anzichรฉ tramite il DOM. Ciรฒ consente ai team di convalidare animazioni e interazioni che i localizzatori tradizionali non sono in grado di rilevare.

Sรฌ. Gli strumenti assistiti dall'IA analizzano i passaggi di test Flash esistenti e suggeriscono localizzatori e script HTML5 equivalenti. Ciรฒ accelera la migrazione verso framework moderni come Selenium WebDriver, riducendo al contempo le rilavorazioni manuali.

Riassumi questo post con: