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, Mobile jogos, programas, etc.
In Selenium Automação, caso os elementos não sejam 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.
Aqui você verá como executar o flash Ensaios e como fazer testes de flash com Selenium.
Pré-requisito para teste de Flash
Abaixo estão os requisitos para testar o aplicativo flash
- Aplicativo Flash.
- Suporte ao navegador da web.
- Plug-ins do Adobe Flash Player.
Ferramentas-Abaixo estão as ferramentas de teste que são úteis em testes de flash.
- Selenium
- IU de sabão
- TestComplete
- Estúdio de teste etc.
Selenium é uma ferramenta muito popular para testes na 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. e execute o script.
- 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:
Como automatizar o Flash usando Selenium Gravação IDE
Você também pode automatizar o flash usando Selenium IDE.
Passo 1) Você precisa abrir o aplicativo flash e depois Selenium IDE conforme mostrado na tela abaixo:
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:
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 O IDE executará o script passo a passo.
Como automatizar o Flash usando Selenium Driver da Web.
Você também pode automatizar o flash usando Selenium driver da web por meio do objeto Flashwebdriver e, em seguida, 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.
Passo 2) No arquivo flash jar, há uma classe flashobjectwebdriver separada. Implemente o flashWebdriver “myFlashmovie” em seu script Selenium conforme mostrado abaixo na tela.
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.
https://demo.guru99.com/test/flash-testing.html
Passo 2) Escreva um roteiro em Selenium eclipse e execute-o. O código abaixo, quando executado, fará as seguintes coisas
- 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 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: 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 Selenium IDE.
- Você pode enfrentar problemas para ativar aplicativos Flex de gravação/reprodução usando Selenium-Integração Flexmonkium. A solução é que o usuário precisa instalar e integrar o Flex Monkium ao Selenium IDE cuidadosamente. A instalação adequada permitirá que o registro automatize 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
- Selenium
- IU de sabão
- TestComplete
- Estúdio de teste etc.
- Automatizar aplicativos flash é um desafio. Para automatizar o aplicativo flash, você pode usar o FlexMonkium, que é um complemento para Selenium IDE.