Teste de Flash com Selenium WebDriver

O que é teste de Flash?

Flash Testing é 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. Flash é um software muito popular desenvolvido pela Mircomedia (agora adquirida pela Adobe). É usado para desenvolver jogos, aplicativos, animações gráficas, filmes, Móvel Esteira jogos, programas, etc.

No Selenium Automation, se os elementos não forem encontrados pelos localizadores gerais como id, classe, nome, etc.. então XPath é necessário encontrar um elemento na página da web para executar a operação nesse elemento específico. Mas nos testes de Flash, XPath não consegue acessar o objeto flash. Portanto, o objeto Flashwebdriver é necessário para localizar o objeto flash em qualquer aplicativo.

Teste Flash

Aqui você verá como executar o flash ensaio e como fazer testes de flash com Selenium.

Pré-requisito para teste de Flash

Abaixo estão os requisitos para testar o aplicativo flash

  1. Aplicativo Flash.
  2. Suporte ao navegador da web.
  3. Plug-ins do Adobe Flash Player.

Ferramentas-Abaixo estão as ferramentas de teste que são úteis em testes de flash.

  1. Selênio
  2. IU de sabão
  3. TestComplete
  4. Estúdio de teste etc.

Selenium é uma ferramenta muito popular para testes web. Você pode criar uma estrutura em diferentes plataformas e em um idioma diferente. É uma ferramenta de código aberto e pode ser baixada do site oficial. É fácil de configurar, usar e implementar.

Como o teste de Flash é diferente de outro elemento

  • Por que a captura de objetos em flash é difícil? Como isso é resolvido?

Flash é uma tecnologia desatualizada. É difícil capturar um objeto flash porque é diferente do HTML. Além disso, o Flash é um arquivo SWF incorporado (Small Web Format). Também é difícil acessar o objeto Flash em um dispositivo móvel.

Desenvolver flash é mais difícil do que desenvolver uma página HTML com a perspectiva SEO (Search Engine Optimization) porque o flash não é totalmente legível pelo mecanismo de busca. No entanto, tecnologias avançadas como HTML 5 são introduzidas para superar problemas como desempenho e segurança.

  • Como o 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ê usa para escrever um script usando qualquer ferramenta de automação como Selenium, SoapUI, TestComplete, etc.
  • Diferença entre o Flash e outro elemento.

Conforme mencionado acima, 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 é fácil de capturar em comparação com o flash.

Como você pode obter o ID do objeto flash do filme / aplicativo flash em flash

Em qualquer página da Web, a tag < object > é usada para qualquer multimídia incorporada (como Flash, ActiveX, Vídeo etc.). Implica “incorporar” em um documento HTML. Esta tag define um contêiner incorporado nas tags < object /> ou < embed /> em um HTML) para conteúdo interativo ou aplicativo externo. O nome do objeto é usado para localizar objetos flash em páginas da web.

Por exemplo, no exemplo abaixo você pode ver que o filme em flash está definido em uma tag “incorporar” 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>

Usando o ID do objeto para localizar 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 o ID do 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 gravação Selenium IDE

Você também pode automatizar o flash usando Selenium IDE.

Passo 1) Você precisa abrir o aplicativo flash e depois o Selenium IDE conforme mostrado na tela abaixo:

Automatize o Flash usando gravação Selenium IDE

Passo 2) Agora clique no “botão vermelho gravar” no lado direito e comece a fazer a operação no filme Flash e então você encontrará o script gravado conforme mostrado abaixo:

Automatize o Flash usando gravação Selenium IDE

Após a gravação, caso o usuário queira executar o script poderá clicar no “botão verde executar” conforme mostrado na tela abaixo. O Selenium IDE executará o script passo a passo.

Automatize o Flash usando gravação Selenium IDE

Como automatizar o Flash usando Selenium Webdriver.

Você também pode automatizar o flash usando o driver web Selenium por meio do objeto Flashwebdriver e então chamar um método para operar o objeto flash. Você precisa baixar arquivos jar do flashwebdriver:

Passo 1) Após o download, adicione o arquivo jar ao seu projeto conforme mostrado na tela abaixo.

Automatize o Flash usando gravação Selenium IDE

Passo 2) No arquivo flash jar, há uma classe flashobjectwebdriver separada. Implemente o flashWebdriver “myFlashmovie” em seu script Selenium conforme mostrado abaixo na tela.

Automatize o Flash usando gravação Selenium IDE

Depois de adicionar a classe de driver da web “MyFlashMovie”, você pode acessar o objeto Flash.

Quando automatizar o teste de flash

Normalmente, você precisa automatizar o teste do Flash quando o objeto flash não é facilmente acessível. Este resultado no teste é abortado e, portanto, falha no teste do objeto Flash.

Criando script Selenium para testes de Flash.

Passo 1) Você usa o filme flash “Guru99” para testar o cenário flash.

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

Automatize o Flash usando gravação Selenium IDE

Passo 2) Escreva um script em Selenium eclipse e execute-o. O código abaixo, quando executado, fará o seguintewing coisas

  • Abra o Firefox browser,
  • 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 separate FlashObjectWebDriver class		
	FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie");		
  	// Pass the URL of video		
	driver.get("http://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: Na execução do script acima, o filme em flash começa a ser reproduzido e parado, etc.

Desafios em testes de Flash

  • Automatizar aplicativos flash é um desafio. Para automatizar o aplicativo flash, você pode usar o FlexMonkium, que é um complemento para o Selenium IDE.
  • Você pode enfrentar problemas para ativar aplicativos Flex de gravação/reprodução usando a integração Selenium-Flexmonkium. A solução é que o usuário precisa instalar e integrar o Flex Monkium ao Selenium IDE com cuidado. A instalação adequada permitirá a gravação para automatizar aplicativos flash.

Resumo

  • No teste de Flash, você precisa verificar se o vídeo em flash, jogos, filmes, etc. estão funcionando conforme o esperado ou não.
  • Você usa atributos flash como object id para localizar o objeto flash. E assim você pode realizar operações conforme necessário, como reproduzir, parar, etc.
  • 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.
  • Você precisa automatizar o teste do Flash normalmente quando o objeto flash não estiver facilmente acessível.
  • Ferramentas úteis em testes de flash são
  1. Selênio
  2. IU de sabão
  3. TestComplete
  4. Estúdio de teste etc.
  • Automatizar aplicativos flash é um desafio. Para automatizar o aplicativo flash, você pode usar o FlexMonkium, que é um complemento para o Selenium IDE.