Teste de Flash com Selenium webdriver

โšก Resumo Inteligente

Teste de Flash com Selenium O WebDriver verifica se vรญdeos, jogos e animaรงรตes em Flash funcionam corretamente. Este recurso explica como capturar objetos SWF incorporados, atribuir IDs de objetos e automatizar a reproduรงรฃo usando o WebDriver. Selenium Gravaรงรฃo no ambiente de desenvolvimento integrado (IDE) e a classe FlashObjectWebDriver para validaรงรฃo confiรกvel.

  • ๐Ÿ“Œ Objetivo principal: O Flash Testing valida se a mรญdia SWF incorporada โ€” vรญdeos, jogos e animaรงรตes โ€” se comporta exatamente como projetado.
  • ๐Ÿ”Ž Desafio de localizaรงรฃo: O XPath nรฃo consegue acessar objetos Flash, portanto, um objeto FlashObjectWebDriver dedicado os localiza por meio do ID de objeto atribuรญdo.
  • ๐ŸŽฌ Mรฉtodo de gravaรงรฃo: Selenium O IDE grava as aรงรตes realizadas em um filme Flash e as reproduz com o botรฃo verde "Executar".
  • ๐Ÿ’ป Mรฉtodo WebDriver: A classe FlashObjectWebDriver chama os mรฉtodos Play, StopPlay e SetVariable para controlar o Flash programaticamente.
  • โš ๏ธ Limitaรงรฃo principal: Flash estรก obsoleto; FlexMonkium estende Selenium IDE quando a gravaรงรฃo e reproduรงรฃo nativas falham.

Teste de Flash com Selenium webdriver

O que รฉ teste de Flash?

O teste de Flash รฉ um tipo de teste usado para verificar se vรญdeos, jogos, filmes, etc., baseados em Flash estรฃo funcionando conforme o esperado. Em outras palavras, testar a funcionalidade do Flash รฉ conhecido como Teste de Flash. O Flash รฉ um software popular desenvolvido pela Macromedia (agora adquirida pela Adobe). ร‰ usado para desenvolver jogos, aplicativos, animaรงรตes grรกficas, filmes, Mobile jogos, programas, etc.

In Selenium Automaรงรฃo, caso os elementos nรฃo sejam encontrados pelos localizadores gerais como id, classe, nome, etc., Em seguida XPath ร‰ necessรกrio encontrar um elemento na pรกgina da web para realizar uma operaรงรฃo nesse elemento especรญfico. Mas, em testes Flash, XPath Nรฃo consegue acessar um objeto Flash. Portanto, um objeto Flashwebdriver รฉ necessรกrio para encontrar um objeto Flash em qualquer aplicaรงรฃo.

Teste Flash

Aqui vocรช verรก como executar o flash Testes e como fazer testes de flash com Selenium.

Prรฉ-requisito para teste de Flash

Antes de comeรงar, veja os requisitos a seguir para testar um aplicativo Flash:

  1. Aplicativo Flash.
  2. Navegador web compatรญvel.
  3. Plug-ins do Adobe Flash Player.

Ferramentas- Abaixo estรฃo as ferramentas de teste que sรฃo รบteis em testes de flash.

  1. Selenium
  2. IU de sabรฃo
  3. TestComplete
  4. Estรบdio de teste etc.

Selenium ร‰ uma ferramenta muito popular para testes web. Vocรช pode criar um framework que funcione em diferentes plataformas e em diferentes linguagens. ร‰ uma ferramenta de cรณdigo aberto e pode ser baixada do site oficial. ร‰ fรกcil de configurar, usar e implementar.

Como o teste Flash difere de outros elementos

Agora que os prรฉ-requisitos estรฃo prontos, รฉ รบtil entender por que o Flash se comporta de maneira diferente dos elementos HTML padrรฃo durante os testes.

  • Por que a captura de objetos com flash รฉ difรญcil? Como isso รฉ resolvido?

O Flash รฉ uma tecnologia obsoleta. ร‰ difรญcil capturar um objeto Flash, pois ele รฉ diferente do HTML. Alรฉm disso, o Flash รฉ um arquivo SWF (Small Web Format) incorporado. Tambรฉm รฉ difรญcil acessar um objeto Flash em um dispositivo mรณvel.

Developing O Flash รฉ mais difรญcil de usar do que o Revelator.ping Do ponto de vista de SEO (otimizaรงรฃo para mecanismos de busca), uma pรกgina HTML nรฃo รฉ totalmente legรญvel pelo Flash, pois este nรฃo รฉ totalmente compatรญvel com os mecanismos de busca. No entanto, tecnologias avanรงadas como o HTML5 foram introduzidas para superar problemas como desempenho e seguranรงa.

  • De que forma um aplicativo Flash รฉ testado?

Os aplicativos Flash sรฃo testados de duas maneiras:

  • Manual - Vocรช pode testar o objeto Flash executando casos de teste manualmente, pois รฉ simples e fรกcil de testar. Apรณs a correรงรฃo do bug, certifique-se de que o flash esteja funcionando corretamente conforme o esperado e forneรงa aprovaรงรฃo.
  • Automaรงรฃo - Vocรช escreve um script usando qualquer ferramenta de automaรงรฃo como Selenium, SoapUI, TestComplete, etc. e execute o script.
  • Diferenรงa entre Flash e outros elementos.

Como mencionado anteriormente, a principal diferenรงa entre o Flash e outros elementos รฉ que o Flash estรก incorporado em arquivos SWF, enquanto outros elementos estรฃo incorporados em arquivos HTML. ร‰ por isso que o HTML รฉ mais fรกcil de capturar em comparaรงรฃo com o Flash.

Como posso obter o ID do objeto Flash de um filme Flash/aplicativo Flash?

Depois de entender as diferenรงas entre Flash e HTML, o prรณximo passo รฉ localizar o prรณprio objeto Flash atravรฉs de seu ID de objeto.

Em qualquer pรกgina web, a tag <object> รฉ usada para qualquer conteรบdo multimรญdia incorporado (como Flash, ActiveX, vรญdeo etc.). Ela implica "incorporar" dentro de um documento HTML. Essa tag define um contรชiner incorporado em tags <object /> ou <embed /> em um documento HTML para conteรบdo interativo ou um aplicativo externo. O nome do objeto รฉ usado para localizar o objeto Flash nas pรกginas web.

Por exemplo, no exemplo abaixo, vocรช pode ver que o filme em Flash estรก definido em uma tag "embed" em um documento ou arquivo HTML.

Exemplo:

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

Utilizando o ID do objeto para encontrar elementos Flash.

Vocรช pode usar atributos flash como ID do objeto para localizar o objeto flash. E assim vocรช pode realizar operaรงรตes conforme necessรกrio, como reproduzir, parar, etc.

Conforme jรก discutido, os objetos Flash nรฃo podem ser acessados โ€‹โ€‹usando XPath. Portanto, para realizar qualquer aรงรฃo nesses objetos, o desenvolvedor precisa atribuir um ID de objeto apropriado.

A tela abaixo mostra o ID do objeto โ€œMyFlashMovieโ€ atribuรญdo ao Flash:

ID do objeto Flash do filme Flash/aplicativo Flash

Como automatizar o Flash usando Selenium Gravaรงรฃo IDE

Com o ID do objeto atribuรญdo, vocรช pode gravar interaรงรตes no filme Flash diretamente atravรฉs de Selenium IDE.

Vocรช tambรฉm pode automatizar o flash usando Selenium IDE.

Passo 1) Vocรช precisa abrir o aplicativo Flash e entรฃo Selenium IDE conforme mostrado na tela abaixo:

Automatize o Flash usando Selenium Gravaรงรฃo IDE

Passo 2) Agora clique no botรฃo vermelho โ€œgravarโ€ no lado direito e comece a realizar operaรงรตes no filme Flash. Em seguida, vocรช encontrarรก o roteiro gravado, como mostrado abaixo:

Automatize o Flash usando Selenium Gravaรงรฃo IDE

Apรณs a gravaรงรฃo, se o usuรกrio desejar executar o script, poderรก clicar no botรฃo verde "Executar", conforme mostrado na imagem abaixo. Selenium O IDE executarรก o script passo a passo.

Automatize o Flash usando Selenium Gravaรงรฃo IDE

Como automatizar o Flash usando Selenium Driver da Web

Para obter mais controle do que as ofertas de gravaรงรฃo, Selenium O WebDriver permite controlar o objeto Flash programaticamente.

Vocรช tambรฉm pode automatizar o flash usando Selenium Vocรช precisa acessar o objeto FlashWebDriver e, em seguida, chamar um mรฉtodo para operar no objeto Flash. baixar arquivos jar do flashwebdriver:

Passo 1) Apรณs o download, adicione o arquivo JAR ao seu projeto, conforme mostrado na imagem abaixo.

Adicione o arquivo JAR do Flash em Selenium projeto

Passo 2) Dentro do arquivo JAR do Flash, existe uma classe separada chamada `flashobjectwebdriver`. Implemente o `flashWebdriver` "myFlashmovie" no seu script Selenium, conforme mostrado na imagem abaixo.

Implemente o flashWebdriver em Selenium escrita

Apรณs adicionar a classe do driver da web โ€œMyFlashMovieโ€, vocรช poderรก acessar o objeto Flash.

Quando automatizar o teste de flash

Normalmente, รฉ necessรกrio automatizar os testes de Flash quando o objeto Flash nรฃo รฉ facilmente acessรญvel. Isso resulta na interrupรงรฃo do teste e, consequentemente, na falha ao testar o objeto Flash.

Criando um script Selenium para testes em Flash

Reunindo os passos anteriores, aqui estรก um script completo e funcional que inicia e controla o Guru99 filmes flash de demonstraรงรฃo.

Passo 1) Vocรช usa o โ€œGuruFilme flash de 99 segundos para testar o cenรกrio de flash.

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

Guru99 filmes flash de demonstraรงรฃo para Selenium ensaio

Passo 2) Escreva um roteiro em Selenium e execute o cรณdigo abaixo. O cรณdigo, quando executado, farรก o seguinte:

  • Abra o Firefox navegador,
  • Lance o site flash guru99,
  • Reproduza o filme em flash e
  • Entรฃo pare o filme.
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) Execute o script acima.

Saรญda: Ao executar o script acima, o filme em Flash comeรงa a ser reproduzido e para, etc.

Desafios em testes de Flash

  • Automatizar um aplicativo Flash รฉ um desafio. Para automatizar um aplicativo Flash, vocรช pode usar o FlexMonkium, que รฉ um complemento para... Selenium IDE.
  • Vocรช pode enfrentar problemas ao ativar a gravaรงรฃo/reproduรงรฃo de aplicativos Flex usando o Selenium-Integraรงรฃo com Flexmonkium. A soluรงรฃo รฉ que o usuรกrio precisa instalar e integrar o Flexmonkium com Selenium Use o IDE com cuidado. A instalaรงรฃo correta permitirรก a gravaรงรฃo para automatizar aplicativos Flash.

Perguntas Frequentes

A Adobe encerrou oficialmente o suporte ao Flash Player em 31 de dezembro de 2020. Os testes em Flash agora se aplicam principalmente a sistemas legados, jรก que a maioria dos aplicativos migrou para HTML5. Selenium Automatiza sem bibliotecas Flash especiais.

O conteรบdo Flash รฉ renderizado dentro de um objeto SWF compilado e incorporado na pรกgina, e nรฃo como elementos DOM HTML. Como o XPath percorre o DOM, ele nรฃo consegue acessar os controles internos do Flash, sendo necessรกrio um ID de objeto e o FlashObjectWebDriver.

FlexMonkium รฉ um complemento que se integra com Selenium IDE para habilitar a gravaรงรฃo e reproduรงรฃo de aplicativos Flex e Flash. A instalaรงรฃo correta permite que os testadores capturem e reproduzam aรงรตes em objetos Flash que, de outra forma, seriam inacessรญveis.

As ferramentas de teste visual baseadas em IA reconhecem elementos Flash na tela por meio de reconhecimento de imagem e padrรฃo, em vez do DOM. Isso permite que as equipes validem animaรงรตes e interaรงรตes que os localizadores tradicionais nรฃo conseguem detectar.

Sim. Ferramentas com auxรญlio de IA analisam etapas de teste Flash existentes e sugerem localizadores e scripts HTML5 equivalentes. Isso acelera a migraรงรฃo para frameworks modernos como... Selenium WebDriver, ao mesmo tempo que reduz o retrabalho manual.

Resuma esta postagem com: