o que é teste em Flash?
testar a funcionalidade do flash é chamado de teste Flash. Às vezes, em seu aplicativo, você pode ter que verificar os vídeos de animação específicos, filmes, jogos, etc. como trabalhar conforme a expectativa ou não. Aqui precisamos escrever o script para verificar a funcionalidade do flash para testar esse tipo de aplicativo. Flash é um software desenvolvido pela Macromedia que agora é adquirido pela Adobe. É usado para desenvolver videogames, filmes, jogos móveis para iOS e Android, etc. Para reproduzir os aplicativos Flash, precisamos de alguns plug-ins.
Pré-Requisitos para o Flash Testes com Selenium WebDriver
, devemos estar prontos com os requisitos abaixo para testar o aplicativo flash com Selenium WebDriver. Aqui está a lista de pré-requisitos:
- aplicação web Flash
- Adobe Flash Player plugins
- suporte ao navegador nativo
abaixo do software editor necessário para aplicativos flash.
- Adobe Animar
- Flash Builder
- Flash Desenvolver
- > Alimentação pisca-pisca
- Scaleform
Para reproduzir as aplicações Flash temos os seguintes plugins, que são listados como se segue:
- OpenFL
- Adobe Air
- Flash Player
- Ranger
Abaixo estão as ferramentas de Teste necessários em flash de teste.
- Selenium
- TestComplete
- Soap UI
- Test Studio etc.
como testar o conteúdo Flash usando Selenium?
em geral, para interagir com seu conteúdo Flash no Selenium, ele não possui uma interface. No ActionScript, os arquivos Flash são programados que são muito semelhantes ao JavaScript. Os arquivos Flash também contêm elementos de programação. Por exemplo, eles também têm botões, caixa de texto, botões de opção, etc. O arquivo Flash precisa chamar alguns métodos internos para executar a tarefa. Por exemplo, o conteúdo flash de um botão pode fazer com que a cor de fundo do conteúdo flash mude. Para o resgate, usamos o ActionScript, ele expõe uma classe chamada interface externa para os desenvolvedores. Esta classe é mais importante se você quiser expor os métodos internos do Arquivo Flash para o mundo exterior. O mundo exterior é o navegador que hospeda o conteúdo. Portanto, se expusermos nossos métodos internos do Arquivo Flash ao navegador, podemos chamá-los diretamente usando JavaScript.
formas Diferentes para testar Aplicações Flash
Aplicações Flash pode ser testado em duas maneiras Manual & Automação:
Manual: é simples e fácil de testar, executar os casos de teste manualmente para testar o objeto Flash.
Automação: Para executar o script, precisamos escrever um script usando ferramentas de automação como TestComplete, Selenium, SoapUI e Test Studio.
diferença entre o Flash e outros elementos
o Flash está incorporado em arquivos SWF onde outros elementos estão incorporados em arquivos HTML. Então, é por isso que comparado ao Flash HTML é fácil de capturar.
como você pode obter um flash movie ou flash app object ID?
em todas as páginas da Web, a tag < object > define um objeto incorporado com qualquer multimídia como vídeo, ActiveX, Flash, applets Java, ActiveX, PDF, etc. em suas páginas da web. Indica “incorporar” dentro de um documento HTML. Esta tag descreve um contêiner incorporado em< object /> ou< embed / > tags em um HTML para conteúdo interativo ou aplicativo externo. Para localizar o objeto flash em páginas da Web, o nome do objeto é usado. Você também pode usar a tag< object > para incorporar outra página da Web em seu documento HTML.
por exemplo, o filme flash é definido em uma tag “embed” em documento ou arquivo HTML.
exemplo:
/* Html page*/<html><body marginwidth="0" marginheight="0"><embed width="100%" height="100%" name="plugin" src="http://video/movieplay.swf" type="application/flash"/></body></html>
como realizar testes em Flash usando o Selenium Webdriver?
para importar a biblioteca Flash, você precisa baixar o arquivo Flash Selenium jar. Você pode baixar o Flash.arquivo jar para Selenium WebDriver através do link https://drive.google.com/drive/folders/0B5v_nInLNoquN3hRbmJFYXpCb28. Depois que o download for concluído, você precisará adicionar o arquivo jar ao seu projeto.
depois que todos os pré-requisitos necessários forem concluídos,você precisará chamar a classe FlashObjectWebDriver. Esta classe é usada para executar as ações em Flash players.
sintaxe:
FlashObjectWebDriver flash = new FlashObjectWebDriver(webDriver, " flash object");
o aplicativo Flash pode ser testado de duas maneiras:
- o desenvolvedor fornecerá métodos flash para teste, contornando – os por meio de código JavaScript.Os testadores independentes não têm acesso ao código – fonte fornecido pelos desenvolvedores, portanto, os testadores usam uma ferramenta baseada em imagem chamada Sikuli, que usa imagens para executar ações do Usuário.
criação de script selenium para testes em Flash.
abaixo da amostra, o programa atua como um reprodutor de vídeo
existem alguns métodos predefinidos disponíveis para testar aplicativos Flash do youtube.
- playVideo
- pauseVideo
- sem
- setVolume
- seekTo
Exemplo:
Passo 1: Escrever um script do Selenium no eclipse e execute-o. O código abaixo executará as seguintes coisas quando executarmos o script.
- Lançamento do navegador Chrome
- Lançamento do site
- Reproduzir o vídeo
- Parar o vídeo
- Retroceder o vídeo
Se os desenvolvedores a fornecer algumas flash métodos, em seguida, o exemplo abaixo mostra o aplicativo de exemplo cumprido com o flash métodos.Passo 1:
Crie a classe FlashWebDriver e execute ações do usuário no aplicativo flash usando JavaScript internamente.
package com.java.selenium;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;public class FlashTesting{ private final WebDriver webdriver; private final String flashObjectId ; public FlashWebDriver(final WebDriver webdriver,final String flashObjectId) { this.webdriver=webdriver; this.flashObjectId=flashObjectId; } public String click(final String objectId,final String buttonLabel) { return callFlashObject("DoFlashClick",objectId,buttonLabel); } public String click(final String objectId) { return callFlashObject(objectId,""); } public String callFlashObject(final String functionName,final String... args) { final Object result=((JavascriptExecutor) webdriver).executeScript (makeJsFuntion(functionName,args), new Object); return result!=null ? result.toString() :null;}private String makeJsFuntion(final String functionName,final String... args) {final StringBuffer functionArgs=new StringBuffer(); if(args.length>0) { for(int i=0;i<args.length;i++) { if(i>0) { functionArgs.append(","); } functionArgs.append(String.format("'%1$s'", args)); } }return String.format("return document.%1$s.%2$s(%3$s);", flashObjectId, functionName,functionArgs); }}
Passo 2:
package com.java.selenium;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;public class FlashTesting { public static void main(String args) throws InterruptedException {WebDriver driver;System.setProperty("webdriver.gecko.driver", "C:\drivers\geckodriver.exe");driver = new FirefoxDriver();driver.get("http://www.permadi.com/tutorial/flashjscommand/");driver.manage().window().maximize();FlashWebDriver flashApp = new FlashWebDriver(driver, "myFlashMovie");flashApp.callFlashObject("Play"); // first numberThread.sleep(3000L);flashApp.callFlashObject("StopPlay"); // operationThread.sleep(3000L);flashApp.callFlashObject("Rewind"); System.out.println(flashApp.callFlashObject("GetVariable","/:message"));flashApp.callFlashObject("SetVariable","/:message","Learn Flash testing with Webdriver");System.out.println(flashApp.callFlashObject("GetVariable","/:message")); }}
Etapa 2: Execute o script acima.
saída: uma vez que executamos o script acima, o vídeo começa a reproduzir, parar e retroceder o vídeo.
desafios em testes Flash
- para automatizar o aplicativo flash, você pode usar o FlexMonkium, que é um complemento para o Selenium IDE.
- usando a integração Selenium-Flexmonkium, você pode enfrentar um problema para habilitar aplicativos Flex de gravação / reprodução. Para superar o problema, o usuário precisa instalar e integrar o Flexmonkium ao selenium IDE com muito cuidado. A instalação adequada permitirá que o registro automatize aplicativos flash.
conclusão:
- no teste Flash, você precisa verificar os vídeos de animação específicos, filmes, jogos, etc. como funciona conforme o esperado ou não
- a diferença entre flash e outro elemento é que o Flash está incorporado em arquivos SWF, enquanto outros elementos estão incorporados em arquivos HTML
- para localizar o objeto flash você usa atributos como ID do objeto. E, portanto, você pode executar operações como play, stop, mute, resume, etc.
- Ferramentas de teste necessárias em testes flash.
- Selenium
- TestComplete
- Soap UI
- Test Studio etc.
- jogar Flash aplicações temos os seguintes plugins, que são listados como se segue:
- OpenFL
- Adobe Air
- Flash Player
- Ranger