selendroid tutorial android mobile test automation framework
Automação móvel usando Selendroid (Parte I):
Até agora, milhões de aplicativos já foram desenvolvidos usando o Android como plataforma e a contagem continua aumentando a cada dia.
O problema é: como validar cada aplicativo? Como vamos exigir recursos dedicados, como mão de obra, dispositivos reais (por exemplo, móveis), etc., e novamente, é uma tarefa demorada. Por outro lado, a versão do Android, a versão dos aplicativos (.apk), a dimensão do dispositivo, etc., não são constantes.
Portanto, torna-se muito difícil definir os critérios de saída do teste, pois não podemos definir o escopo completo do teste, portanto, a estimativa exata do esforço do teste não pode ser feita.
Para superar a dependência do dispositivo, estão sendo desenvolvidos emuladores, que podem fornecer um ambiente semelhante a tempo real, onde podemos testar o aplicativo sem nos preocupar com a versão do android, dispositivos e sua versão. Mas, ainda assim, o teste de aplicativos (.apk) sobre o emulador é uma atividade manual e até uma tarefa demorada. Portanto, a ideia de automatizar o teste móvel está sendo desenvolvida.
Para realizar a automação móvel, é desenvolvida uma estrutura de automação de teste, que permite a automação de aplicativos baseados no Android usando uma linguagem de script.
Existem muitos frameworks de automação desenvolvidos, como Selendroid, Appium, Robotium, Espresso.
Este tutorial é dividido em duas partes:
Tutorial # 1 : Introdução ao Selendroid: Android Mobile Test Automation Framework
Tutorial # 2: Como usar a estrutura Selendroid para automatizar as interações do usuário em um aplicativo móvel (em breve)
O que você aprenderá:
- O que é Selendroid?
- Componentes Selendroid
- Configuração Ambiental
- Escrevendo o primeiro script usando arquivos APK em dispositivos reais
- Conclusão
- Leitura recomendada
O que é Selendroid?
Selendroid é uma incrível ferramenta de estrutura de automação de teste de aplicativo móvel Android com vários recursos importantes. Selendroid é uma ferramenta de automação muito poderosa que pode interagir com vários dispositivos simultaneamente e um aplicativo pode ser testado sem qualquer modificação ou alteração usando Selendroid.
Também é chamado “Selenium para Android” para testar aplicativos móveis nativos e híbridos e web móvel.
Por que Selendroid?
- É um código aberto (de uso gratuito)
- Suporta Selenium como uma linguagem de script
- Suporta linguagens compatíveis com drivers da web, como Java, C #, Perl
- Suporta todas as versões do Android
- Funciona tanto em um emulador quanto no dispositivo real
- Funciona em um aplicativo nativo, híbrido e baseado na web
- Eficaz ao executar aplicativos nativos e aplicativos baseados em nuvem. uma vez que suporta grade de selênio
- Ele suporta o reconhecimento de objetos usando propriedades de objetos
- Fácil de implementar
- Os dispositivos de hardware podem ser plugados ou desconectados do PC durante a execução do teste, sem reiniciar ou interromper o teste. Selendroid pode reconhecer os novos dispositivos automaticamente. Este recurso é conhecido como “Hotplugging”
Uma arquitetura simples de Selendroid
Componentes Selendroid
Selendroid - Cliente
Basicamente, é uma biblioteca cliente Java. A partir deste componente, a solicitação HTTP e WebDriver estão sendo enviadas usando JSON para o servidor Selendroid Standalone.
Selendroid - autônomo
Este componente gerencia diferentes dispositivos, bem como os .apk, instalando o servidor Selendroid e o aplicativo em teste. A solicitação Http (a ser executada no dispositivo / simulador real) está sendo enviada do servidor autônomo Selendroid para o dispositivo e o apk em teste.
Selendroid - Servidor
Este servidor é executado no dispositivo junto com o aplicativo em teste. Há uma comunicação bidirecional entre o servidor e o aplicativo em teste.
AndroidDriverApp
É um driver Android integrado, bem como um aplicativo Web View para testar a web móvel.
Outra estrutura de teste chamada APPI funciona semelhante a um Selendroid.
Aqui está uma pequena comparação entre os dois.
Recurso | Selendroid | appium |
---|---|---|
Suporte para versão inferior do Android (<4.1) | sim | Não |
Hot plugging | sim | Não |
Teste de agente de usuário | Não | sim |
Suporte para aplicativo baseado em iOS | Não | sim |
Requisito Ambiental | Para Android - Mac, Linux, Windows (qualquer versão) | Para iOS - Mac OSX 107. Para Android - Windows 7 ou superior, Linux, Mac OSX 107. |
Pré-requisitos:
Para começar, o público-alvo deve estar bem ciente do uso de selênio, qualquer ferramenta IDE como Eclipse etc. Conceitos básicos de programação, como Java, C, etc ... e deve estar ciente do uso de Maven e outras ferramentas de TESTE.
- Instale o Intel x86 Emulator Accelerator (não obrigatório) para visualizar o simulador de aqui
- Java SDK, JRE já instalado em ambiente de teste. Alternativamente, você pode baixar o mesmo em aqui
Anote o caminho do SDK durante a instalação.
Defina as variáveis ambientais presentes em Meu Computador -> clique com o botão direito -> Propriedades -> Configuração Avançada do Sistema
programa grátis para baixar vídeos do youtube
- O Eclipse já está instalado em sua máquina. Se não, você também pode baixar o mesmo em aqui
- Arquivos jar Selenium devem ser baixados. Você pode baixar o mesmo daqui também
- Os jars TestNG já foram baixados
- Android SDK a ser baixado e instalado. Você também pode baixar o mesmo em aqui
Anote o caminho do Android SDK durante a instalação
Depois de baixado o ANDROID_HOME deve ser definido nas variáveis ambientais presentes em:
Meu computador -> clique com o botão direito -> Propriedades -> Configuração avançada do sistema
- Arquivos jar Selendroid devem ser baixados. Você também pode baixar o mesmo em aqui
Lembrar para baixar o arquivo jar autônomo do Selendroid do local acima. Normalmente, o nome é como selendroid-standalone-0.9.0-with-dependencies.jar. Além disso, baixe um arquivo APK de amostra, digamos selendroid-test-app-0.8.0.apk do local acima
Observação:
- Nós também podemos usar repositório maven para dar a referência a todos os jars ou então você tem que baixá-los manualmente e anexá-los ao caminho de construção (Over Eclipse Project)
- Dispositivos / Emuladores - No android todos os aplicativos instalados terão a extensão .apk. De outras maneiras, você pode baixar aplicativos como APK Info, que irá informá-lo sobre a lista de aplicativos instalados em seu dispositivo Android e seu nome real, tamanho, etc ...
Configuração Ambiental
# 1) Mantenha o APK que precisa ser instalado em um local adequado
No meu caso eu guardei G: \ Jars \ selendroid-test-app-0.8.0.apk
# 2) Em seguida, mantenha o aplicativo sobre a pasta do projeto
No meu caso é 500: AppiumAutomation SelendroidFirst
# 3) Conecte o dispositivo real ao PC
Certifique-se de que o modo de depuração USB esteja ativado e também que você esteja permitindo que aplicativos externos sejam instalados por meio da conexão USB.
Pontas:
- Consulte a configuração de depuração USB necessária para celular, digamos Redmi Note 3 de aqui
- Permitir aplicativo externo instalado usando USB, digamos Redmi note 3 de aqui
# 4) Abra o prompt de comando no Windows
Navegue até a pasta onde o jar autônomo do Selendroid, bem como o arquivo apk baixado, estão presentes.
Agora especifique o comando semelhante e pressione Enter no prompt de comando
Por exemplo. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Ou java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Arquivo APK: selendroid-test-app-0.8.0.apk
Observação: Quando o comando acima for executado, certifique-se de que o APK está assinado e também que o dispositivo real está conectado ao PC e a depuração está habilitada no dispositivo.
(Observação: Clique na imagem para ampliá-la)
como implementar uma tabela de hash em java
Verifique os seguintes pontos no prompt de comando para garantir que o ambiente esteja pronto para automação:
- Verifique a mensagem “Dispositivo especificado com número válido”
- Verifique a mensagem 'o servidor é iniciado na porta padrão, diga (4444) ...'
- Verifique a mensagem “Sessão sendo criada…”
Novamente, podemos sempre reconfirmar se um servidor foi iniciado ou não usando a seguinte URL em qualquer um dos seus navegadores da web.
por exemplo. http: // localhost: 4444 / wd / hub / status
# 5) Inspecionar o APK
- Podemos usar aplicativos reais conectando dispositivos móveis reais
- Podemos usar qualquer arquivo APK offline baixado
Selendroid Inspector é útil para depurar / inspecionar os elementos da web do APK.
Uma vez que o dispositivo é identificado e iniciado, podemos ver o APK (no modo virtual) e encontrar as referências, o que é útil para escrever os scripts, usando a seguinte URL em qualquer um dos seus navegadores da web.
Por exemplo: http: // localhost: 4444 / inspector
Aqui temos a captura de tela do aplicativo em teste e também podemos inspecionar o elemento.
Ou você sempre pode usar uiautomatorviewer para localizar os objetos do aplicativo em teste.
O caminho padrão para isso é mencionado abaixo:
C: Usuários admin android-sdks tools
C: Usuários admin - Este é o local onde instalei Android SDKs, mas pode ser diferente de acordo com o local especificado durante a instalação.
Escrevendo o primeiro script usando arquivos APK em dispositivos reais
Objetivo:
- Inicie o servidor (na porta padrão, diga 4444)
- Crie uma sessão
- Instale o aplicativo (arquivo .apk) no dispositivo real conectado
- Automatize o campo de texto com alguns dados
- Clique automaticamente no botão
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
Conclusão
Selendroid é uma ferramenta de estrutura de teste de automação muito poderosa que pode ser usada para testar aplicativos nativos, híbridos e da web em qualquer dispositivo Android, bem como um simulador.
Ele suporta Hotplugging, o que significa que um usuário pode ter vários dispositivos testados ao mesmo tempo, portanto, a execução de testes em paralelo é possível em vários dispositivos. Suporta vários tipos de interações, como toque longo, ações de toque, etc ...
A única complexidade com isso é a configuração do ambiente, que também está presente em outros frameworks. Assim que estiver configurado corretamente, podemos ter nossos scripts rodando sem dificuldades.
Noparte 2deste tutorial do Selendoid, iremos cobrir - Como usar o framework Selendroid para automatizar as interações do usuário em um aplicativo móvel.
Em nosso próximo artigo, discutiremos mais sobre Tutorial de revisão prática do pCloudy.
Leitura recomendada
- Tutoriais detalhados do Eclipse para iniciantes
- Tutorial SeeTest Automation: um guia de ferramenta de automação de teste móvel
- Tutorial do Java Collections Framework (JCF)
- Tutorial de reflexão Java com exemplos
- Tutorial de Ranorex: uma ferramenta poderosa de teste de automação de desktop, web e celular
- Tutorial da Appium para testar aplicativos móveis Android e iOS
- Usando Selendroid para automatizar as interações do usuário em um aplicativo móvel (Parte 2)
- Uso avançado de SeeTest Automation no projeto de automação móvel em tempo real