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.

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.
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:
- Aplicativo Flash.
- Navegador web compatรญvel.
- 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 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:
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:
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:
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.
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.
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.
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
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.








