Selendroid Tutorial para iniciantes com exemplo

Você já desenvolveu um Android aplicativo e publicá-lo no Google Play? O que você fará se receber uma avaliação de usuário como –

Selendroid Tutorial

Quando você publica um aplicativo no Google Play, ele deve ser bem testado para evitar possíveis bugs. Existem vários cenários de teste que devem ser executados antes de publicar um aplicativo. Para salvar o ensaio esforço, você precisa de uma ferramenta de teste. Uma das melhores ferramentas de teste para Android app é Selendroid.

O que é a Selendroid?

Selendroid é uma estrutura de automação de teste para vários tipos de aplicativos móveis: nativo e híbrido Android aplicativo e móvel teia.

O que é a Selendroid

Você pode escrever os testes usando o Selenium 2 APIs de cliente. Porque Selendroid ainda reutiliza o existente Selenium infraestrutura para a web

Selendroid é uma ferramenta de teste poderosa. Pode ser usado em emuladores e real dispositivos

O que é a Selendroid

Por que precisamos Selendroid?

Selendroid é uma ótima ferramenta de teste. Mas você ainda pode duvidar de sua utilidade.

Por que precisamos Selendroid

Esta seção apresentará os recursos importantes do Selendroid para responder à pergunta por que você precisa Selendroid.

Por que precisamos Selendroid

  • Você pode testar o aplicativo em teste usando Selendroid sem qualquer modificação do aplicativo. Você só precisa do arquivo binário (APK) instalado no computador. Para instalar o arquivo binário no dispositivo, o aplicativo de teste e o aplicativo móvel devem ser assinados com a mesma chave de sinal
  • Selendroid aplicativo de teste pode interagir com vários dispositivos ou simuladores simultaneamenteneogeralmente. É uma grande vantagem Selendroid. Assim, você pode testar seu aplicativo com vários Android dispositivos para verificar a compatibilidade.
  • Selendroid pode simular ações de usuários humanos em um aplicativo, como tocar, deslizar, arrastar e soltar em dispositivos
  • Você pode alterar os dispositivos de hardware (conectar e desconectar) durante o teste sem reiniciar ou interromper o teste. Selendroid reconhece os novos dispositivos automaticamente
  • Correspondente a Android Versão da API ativada, Selendroid também suporta o novo Android API (da API 10 à API 19)
  • Selendroid também possui alguma ferramenta de inspetor integrada para ajudá-lo a identificar o elemento da interface do usuário de um aplicativo em teste. Por exemplo, o botão ID, campo de texto, visualização de texto…

Selendroid Archiarquitetura

Selendroid baseia-se na Android estrutura de instrumentação. Selendroid os testes são escritos com base no Selenium API do cliente do driver da Web, portanto, suporta integração total com o atual Selenium estruturas.

O seguintewing figura descreve o archiarquitetura de Selendroid

Selendroid Archiarquitetura

Selendroid contém 4 componentes principais:

Selendroid Archiarquitetura

  • Cliente de driver da Web – O Java biblioteca cliente baseada em Selenium. Esta biblioteca deve ser instalada no computador (que é utilizado para desenvolver os casos de teste)
  • Selendroid-Servidor – O servidor que roda no aplicativo em teste em Android dispositivo ou simulador. Estes são os principais componentes de um Selendroid archiarquitetura
  • Android Driver-App – Um integrado Android driver, aplicativo Web View para testar a web móvel.
  • Selendroid-Standalone – Este componente é usado para instalar o Selendroid servidor e o aplicativo em teste (AUT)

Começando com Selendroid

Você já sabe a importância do Selendroid. Agora vamos sujar as mãos com Selendroid.

Existem 3 etapas que devem ser executadas antes do primeiro teste com Selendroid

Começando com Selendroid

Configurando um Selendroid meio Ambiente

Selendroid pode trabalhar na janela, Linux e Mac OS. Neste tutorial, iremos configurar Selendroid no sistema operacional Windows.

Antes de usar Selendroid, você precisa instalar o seguintewing pacote primeiro

  • SDK Java (mínimo 1.6)

    Você deve aceitar o contrato de licença e baixar o instalador java (escolha x64 ou x86 base em seu sistema operacional)

    Configurando um Selendroid Meio Ambiente

    Baixe e instale o Java SDK como software normal

  • Última versão do Android SDK
  • Seu computador deve ter pelo menos um Android Dispositivo Virtual (AVD) ou um dispositivo real Android dispositivo conectado ao PC.
  • Selendroid Autônomo com dependências, Selendroid Cliente e Selenium Cliente
  • Eclipse Programas
  • Configure o JAVA_HOME e ANDROID_LAR

    Passo 1) Na janela, clique com o botão direito em Computador -> Propriedades -> Configuração avançada do sistema

    Configurando um Selendroid Meio Ambiente

    Passo 2) Exibição da janela Propriedades do sistema, selecione a guia Avançado -> variáveis ​​ambientais

    Configurando um Selendroid Meio Ambiente

    Passo 3) A janela Ambiente é exibida, clique em Novo -> Insira uma variável ANDROID_HOME conforme a seguirwing

    Configurando um Selendroid Meio Ambiente

    O valor da variável é o caminho para android-sdks que você já instalou.

    Encontre a variável do sistema Path -> Editar -> Adicione o seguintewing linha após a linha atual

    Configurando um Selendroid Meio Ambiente

    Configurando um Selendroid Meio Ambiente

    Semelhante a ANDROID_HOME, adicione nova variável JAVA_HOME com valor conforme abaixo

    Configurando um Selendroid Meio Ambiente

    O valor é o caminho para a instalação do Java JDK

    Etapa 4) Reinicie o seu PC -> Pronto

Como lançar Selendroid

Etapa 1) Colocar um aplicativo em teste

Você pode usar Selendroid teste o aplicativo para verificar como Selendroid trabalho (Ligação para amostrar aplicativo em teste)

Assim que o download for concluído, copie este APK e o acima Selendroid Jar independente arquivo para uma pasta com o nome “Guru99″

Etapa 2) Inicie o Selendroid

Abra o terminal em Windows e navegue até a pasta Guru99 criada na etapa 1.

Execute o seguintewing comando

Apresentação livro Selendroid

A saída será exibida como seguewing

Apresentação livro Selendroid

Depois de executar este comando, Selendroid-servidor HTTP independente é iniciado! O número da porta padrão deste servidor é 4444. Todos os dispositivos de hardware, bem como Android Dispositivo Virtual, será verificado e reconhecido automaticamente. Selendroid identificará o Android versão de destino e tamanho da tela do dispositivo.

Para verificar o Android versão de destino, bem como as informações do dispositivo, você pode iniciar o seguintewing URL em um navegador: http://localhost:4444/wd/hub/status.

Apresentação livro Selendroid

Selendroid comando básico

Esta seção apresenta alguns conceitos básicos Selendroid-Linha de comando independente. Você pode usá-los para configurar o Selendroid ambiente de teste

  1. Configurando a porta de Selendroid

    A porta padrão de Selendroid é 4444. Mas você pode mudar para outra porta adicionando um parâmetro ao comando para iniciar Selendroid

    Parâmetro: -porta [número da porta]

    Por exemplo:

    Selendroid Comando Básico

    No comando acima, 5555 é a nova porta.

Portanto, o URL para verificar o Android a versão de destino é alterada para: http://localhost:5555/wd/hub/status

  1. Especifique a localização do aplicativo em teste (arquivo APK binário). Selendroid frequentemente exigia o caminho absoluto para este arquivo

    Parâmetro: -app [caminho de arquivo]

    Por exemplo:

    Selendroid Comando Básico

    No comando acima, o Selendroid encontre automaticamente o arquivo binário baseado em “C:\Guru99App.apk” para obter as informações do aplicativo em teste.

    Verifique o URL http://localhost:4444/wd/hub/status, você verá esta informação

    Selendroid Comando Básico

  2. Mude a porta Selendroid usa para se comunicar com o servidor de instrumentação. Selendroid usa a porta 8080 como padrão

    Parâmetro: -selendroidPorta do servidor [número da porta]

    Exemplo

    Selendroid Comando Básico

    A porta agora foi alterada para 9000

  3. Altere o tempo limite para iniciar emuladores. A unidade é milissegundos.

    Parâmetro: -timeoutEmulatorStart

    Por padrão, o Selendroid esperará 300,000 milissegundos até que o emulador seja iniciado. Você pode alterar para um novo tempo limite (200,000 ms) por comando

    Selendroid Comando Básico

    Após esse tempo, nosso expirado, se o emulador não puder iniciar, o Selendroid lançará o erro de exceção (ocorreu um erro ao procurar dispositivos/emuladores.) e interromperá a execução

  4. Quando você começa o Selendroid comando no terminal, você verá um log impresso na tela. Você pode alterar o tipo de registro que vê adicionando o seguintewing parâmetro

    Parâmetro: -logLevel [tipo de registro]

    Os valores de nível de log são ERROR, WARNING, INFO, DEBUG e VERBOSE. Padrão: ERRO.

    Por exemplo, defina Selendroid para imprimir apenas o log WARNING, você pode usar este comando

    Selendroid Comando Básico

    A Selendroid imprima apenas o log de AVISO

Comece seu primeiro teste com Selendroid

Esta seção é um guia passo a passo para criar seu primeiro script de teste usando Selendroid

Suponha que temos um Android aplicativo com o nome de teste Guru99App. O aplicativo inclui um campo de texto e um botão com o nome “Mostrar Texto”.

BAIXE O APK AQUI

Primeiro teste com Selendroid

Precisamos executar o seguintewing Caso de teste utilização Selendroid

Casos de teste Condição Saída esperada
  1. Inicie o aplicativo
  2. Digite um texto “Teste Guru99” para o campo de texto
  3. Pressione o botão “Mostrar Texto”
O binário da aplicação em teste está disponível

Um dispositivo está conectado ao PC

O texto “Text Show here” é alterado para o texto

qual usuário insere em um campo de texto

Passo 1) Crie um projeto Java em Eclipse

Passo 2) Adicionar selenium e Selendroid arquivo jar em eclipse ambientes

Clique com o botão direito em Projeto Guru99Test -> Caminho de construção -> Adicionar externo Archives

Primeiro teste com Selendroid

Navegue até a pasta que armazenou os arquivos jar

Existem 3 arquivos jar que devem ser adicionados

  • selendroid-cliente-0.10.0.jar: Selendroid biblioteca cliente java
  • selendroid-standalone-0.11.0-com-dependências: Selendroid biblioteca de servidor independente
  • selenium-java-2.40.0.jar: Selenium Biblioteca de drivers da Web

Selecionar todos -> Escolha Abrir para adicionar um arquivo jar ao projeto

Primeiro teste com Selendroid

Passo 3) após adicionar a biblioteca acima, essas bibliotecas serão adicionadas às Bibliotecas de Referência do projeto de teste. Um testador pode usar as APIs dessas bibliotecas para desenvolver o programa de teste

Crie o pacote “com.guru.test” e adicione o arquivo java “Guru99Test.java” como abaixo

Clique com o botão direito Guru99Test -> Novo -> Pacote

Primeiro teste com Selendroid

Digite com.guru.test no campo Nome na caixa de diálogo Novo pacote Java à Concluir

Primeiro teste com Selendroid

A Eclipse criará listas de pastas e subpastas como esta na estrutura do código-fonte

Primeiro teste com Selendroid

Passo 4) Instale TestNG para Eclipse

In Eclipse, Ajuda -> Instale novo software, na caixa de diálogo Instalar, clique em Adicionar e digite o seguintewing

pressione OK -> Próximo para instalar o TestNG

Primeiro teste com Selendroid

Passo 5) Copie o Guru99App.apk para a pasta do aplicativo de teste

Primeiro teste com Selendroid

Passo 6) Obtenha o ID de um aplicativo em teste.

Suponha que temos um arquivo APK chamado Guru99App.apk. Siga o passo descrito na seção anterior, execute o comando no terminal

Primeiro teste com Selendroid

Abrir acompanhamentowing link em um navegador: http://localhost:4444/wd/hub/status.

As informações do dispositivo são exibidasyed, copie o valor appId “com.guru99app:1.0”

Primeiro teste com Selendroid

Passo 7) Abra o arquivo Guru99Test.java (no código de exemplo) e altere conforme a seguirwing

Primeiro teste com Selendroid

Para criar uma nova sessão de teste com Selendroid, você deve fornecer o ID do aplicativo no formato: com.guru99app:1.0. Este ID do aplicativo pode ser identificado na etapa 6. Se você não definir o ID do aplicativo correspondente ao Android dispositivo, a sessão de teste gerará um erro e não será iniciada.

Depois de inicializar o dispositivo encontrado, Selendroid cria um personalizado selendroid-server e instala o Selendroid servidor nele

Selendroid também instala o aplicativo em teste e inicia o selendroid-servidor no dispositivo

Depois de inicializar a sessão de teste com sucesso, o comando de teste começa a ser executado em um dispositivo. (Como inserir texto, pressione o botão…). Se o teste anexar a sessão de teste, o emulador irá parar automaticamente

Passo 8) Iniciar a nova sessão de teste

Lançar o Selendroid servidor usando o seguintewing comando no terminal como passo 6

Primeiro teste com Selendroid

Após Selendroid Servidor iniciado, abra o projeto de teste de amostra Guru99test em Eclipse, defina um ponto de interrupção na linha 77 no arquivo Guru99Test.java por double clique na linha 77 -> Um ponto será exibido como abaixo

Primeiro teste com Selendroid

Inicie uma sessão de teste clicando com o botão direito no projeto Guru99Test -> Depurar como -> Testng Teste.

Uma sessão de teste começará como abaixo

Primeiro teste com Selendroid

Passo 9) Obtenha o ID do elemento GUI de um aplicativo em teste

Após o início da sessão de teste com sucesso, abra o navegador e navegue até o URL http://localhost:4444/inspector

Você verá que o aplicativo em teste foi iniciado como abaixo

Primeiro teste com Selendroid

Passe o mouse sobre cada elemento da UI do AUT (Button, TextField, Text Label), o ID de cada elemento será destacado no painel direito

Primeiro teste com Selendroid

Após esta etapa, você pode obter o ID de cada elemento da UI acima

  • Botão Mostrar ID do texto: “btnMostrar"
  • ID do campo de texto: “edtTexto"
  • ID do texto do rótulo: “txtVer"

Esses IDs serão usados ​​na próxima etapa

Passo 10) Entre no programa de teste como abaixo

Um programa de teste usando Selendroid inclui 3 seções

Teste de configuração:

Following é o código para teste de configuração, ele configurará a condição para uma sessão de teste. Em caso de erro, o Selendroid lançará a exceção e o aplicativo de teste será interrompido.

O código inclui comentários para explicar cada instrução.

package com.guru.test;
		
 import io.selendroid.SelendroidCapabilities;
		import io.selendroid.SelendroidConfiguration;
		import io.selendroid.SelendroidDriver;
		import io.selendroid.SelendroidLauncher;
		import io.selendroid.device.DeviceTargetPlatform;
		
		import org.openqa.selenium.By;
		import org.openqa.selenium.WebDriver;
		import org.openqa.selenium.WebElement;
		import org.testng.Assert;
		import org.testng.annotations.AfterSuite;
		import org.testng.annotations.BeforeSuite;
		import org.testng.annotations.Test;
		
 /**
		 * @author Guru99 Test App using Selendroid
			 * Application under test: Guru99App
		 *
		 */
		public
				class Guru99Test {
				
				     //Declare web driver variable
		    private WebDriver driver;
					   
   
		    /**
		     * Setup the environment before testing
		     * @throws Exception
			     */
		    @BeforeSuite
		    public
					void setUp() throws Exception {
							
        //Start selendroid-standalone during test
		        SelendroidConfiguration config = new SelendroidConfiguration();
			        
		      // Add the selendroid-test-app to the standalone server
		        config.addSupportedApp("Guru99App.apk");
			        
                 
		        //start the standalone server
		        SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
			        selendroidServer.launchSelendroid();
		        
		       // Create the selendroid capabilities
		        SelendroidCapabilities capa = new SelendroidCapabilities();
			        
        
		       // Specify to use selendroid's test app
		        capa.setAut("com.guru99app:1.0");
			       
		       // Specify to use the Android device API 19
		        capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
			        
		        // Don't request simulator, use real device
		        capa.setEmulator(false);
			        
         
		        //capa.wait(10000000);
		        
		        // Create instance of Selendroid Driver
		        driver = new SelendroidDriver(capa);
					       
		    }
		

Executar teste

Abaixo está o código para executar um teste. O código inclui os comentários

Aqui estão as etapas do teste novamente

  1. Digite o texto “Olá Guru”
  2. Clique no botão Mostrar texto
  3. Espere um pouco
  4. Verifique se o aplicativo exibe o texto conforme o usuário insere em um campo de texto (por exemplo, exibir o texto “Olá Guru”)
 /**
		     * Start execute the test case
		     * 01. Enter the text "Selendroid" to the textfield
		     * 02. Press OK button
		     * @throws Exception
			     */
		    @Test
		    public
					void selendroidTest() throws Exception {
							        
		        // Print the log 
		        System.out.print("Start executing test");
					        
		        // Find the input text field on screen
        // The id of this text field was get from step 9
		        WebElement inputField = driver.findElement(By.id("edtText"));
					        
		        // Verify that the text field enabled so user can enter text
		        Assert.assertEquals("true", inputField.getAttribute("enabled"));
					        
		        // Enter a text to text field
		        inputField.sendKeys("Hello Guru");        
			
         // click Show Text button
        // The id of this button was get from step 9
		        WebElement button = driver.findElement(By.id("btnShow"));
					        button.click();
		        
		        // Delay time to take effect
		        Thread.sleep(5000);
		        
		        //Find the label "Text Show Here" on screen
        // The id of this label was get from step 9
		        WebElement txtView = driver.findElement(By.id("txtView"));
					        
		        //Get the text display on screen
		        String expected = txtView.getText();
		        
		// Verify that the text which user enter on text field is same as text display on screen
		        Assert.assertEquals(expected, inputField.getText());        
		
     }

Finalizar teste

O seguintewing código irá completar o teste parando o Selendroid motorista.

 /**
		     * Stop the Selendroid driver
		     * 
		     */
		    @AfterSuite
		    public
					void tearDown() {
					        driver.quit();
			    }

Você pode ver os detalhes no código de exemplo incluído neste artigo.

Passo 10) Contato Android dispositivo ao PC via cabo USB. Pontos a observar –

  • Certifique-se de que o dispositivo não tenha nenhum bloqueio de tela configurado.
  • Os dispositivos devem ser conectados via USB ao computador que o selendroid-o componente autônomo está em execução.
  • O dispositivo deve instalar pelo menos Android Versão de destino API 10

Passo 11) Execute o aplicativo de teste: clique com o botão direito em Guru99test -> Correr como -> TestNG teste

Primeiro teste com Selendroid

Passo 10) O script começa a ser executado conforme a seguirwing

Primeiro teste com Selendroid

Passo 12) Após o teste terminar a execução, TestNG auto gera o relatório de teste conforme a seguirwing

Primeiro teste com Selendroid

Primeiro teste com Selendroid

Bom trabalho, você concluiu o teste agora.

Resumo

  • Selendroid é uma ferramenta muito poderosa para testar Android aplicativo nativo, o aplicativo híbrido e também o aplicativo da web.
  • Ele pode ser usado em dispositivos reais e também no simulador.
  • Ele também permite executar testes em paralelo, executando um teste em vários dispositivos.
  • A totalidade Selendroid suíte é composta por quatro componentes:
    • Cliente de driver da Web,
    • Selendroid-Servidor,
    • Android Aplicativo de driver
    • Selendroid-estar sozinho
  • Para utilizar o Selendroid você precisa do Java JDK, Android SDK e Eclipse instalado.