Tutorial Robotium: seu primeiro Android Quadro

O que é o Robotium?

Robotium é um android Estrutura de teste para automatizar casos de teste para aplicações nativas e híbridas. Usando Robotium, o desenvolvedor pode criar strong caso de teste automático de GUI para Android formulários. Além disso, o desenvolvedor poderia escrever um cenário de teste funcional, de sistema e de aceitação, espalhando muitos Android actividades.

Estrutura de teste Robotium

Padrão Android estrutura de teste tem algumas limitações como abaixo

  • Incapaz de lidar com múltiplas atividades
  • O desempenho da execução do teste é lento
  • Os casos de teste são complex e difícil de implementar

Robôquadro é a melhor escolha para realizar testes em Android Formulário on line

Robotium é uma estrutura de código aberto e é considerada uma extensão do Android estrutura de teste. Usando o Robotium, o desenvolvedor pode criar casos de teste de GUI automáticos e robustos para Android formulários. Além disso, o desenvolvedor pode escrever cenários de testes funcionais, de sistema e de aceitação, abrangendo vários Android actividades.

Recursos avançados do Robotium
Recursos avançados do Robotium

Classes de casos de teste do Robotium

Robotium usa um conjunto de classes (com.jayway.android.robotium.solo) para teste. Esta classe oferece suporte a casos de teste que abrangem diversas atividades. Solo está integrado ao ActivityInstrumentationTestCase2.

Classes de casos de teste do Robotium
Integração Robotium e ActivityInstrumentationTestCase2

O testador pode escrever casos de teste sem conhecimento do design do aplicativo (preto box testes) usando classes de casos de teste do Robotium. É uma característica notável em comparação com Android classes de casos de teste.

Como usar o Robotium

Para usar o Robotium em seu Android projeto de teste, você precisa seguir as etapas abaixo

Usar Robotium

Usando Robotium para realizar testes em Android aplicativo. Para garantir a qualidade do seu Android aplicação, você deve seguir o procedimento abaixo

  1. Especificação de teste de projeto
  2. Desenvolver programa de teste
  3. Execute Caso de teste no dispositivo de destino
  4. Coletar o resultado do teste
Android Formulário on line
Android Procedimento de teste de aplicativo ensaio procedimentos

ETAPA 1) Especificação do teste de projeto

  • Esta é a primeira etapa para testar seu aplicativo. Nesta etapa você define o destino a ser testado. Na tua Android aplicativo, há muitos alvos que precisam ser testados, como UI, atividade, componentes, serviços. Definir claramente o alvo em sua aplicação ajudará a obter ampla cobertura de testes.
  • Planeje os tipos de teste que devem ser realizados (teste unitário, teste funcional, teste de sistema).
  • Projete casos de teste para cobertura máxima, mas minimize o número de casos de teste. Quanto mais código é testado, maiores são as chances de detecção precoce de bugs.

PASSO 2) Escreva o programa TEST

Esta seção orienta você sobre como escrever um Android programa de teste usando Android Junit Teste e Robotium. Suponha que você já tenha desenvolvido um Android nome do programa OláAndroid. Este programa possui algumas funções descritas abaixo:

  • Exiba um texto “Olá, mundo!” na tela.
  • Exibir uma mensagem OláAndroid quando o usuário pressiona o botão “Iniciar”
OláAndroid Aplicação
OláAndroid Aplicação

Requerimentos do sistema

  • Android plataforma vem com pré-integrado JUnit Estrutura 3.0.
  • A fim de criar Android Projeto de teste de Eclipse, seu computador deve ter instalado:
  • Última versão Android Plataforma (atualmente Android 8.1)

Você pode download Eclipse IDE com ADT integrado (Android Ferramentas de desenvolvimento). Inclui o essencial Android Componentes do SDK e uma versão do Eclipse IDE.

Para a estrutura de testes do Robotium, você precisa baixar a biblioteca do Robotium de Página da Robotium.

Crie Android Projeto de Teste

  • Clique em Arquivo -> Novo -> Outro
  • Escolha: Android -> Android Projeto de teste conforme figura abaixo -> Escolha Próximo
Crie um novo Android projeto de teste
Criar Nova Android Projeto de Teste

Escreva o nome do seu projeto de teste. Como convenção de nomenclatura, seu projeto de teste deve ter o nome “HelloAndroidTeste"

Adicionar base de nome de projeto de teste na convenção de nomenclatura
Adicione o nome do projeto de teste com base na convenção de nomenclatura

Escolha o aplicativo de destino em teste. Neste caso, é OláAndroid clique em Terminar

Escolha o aplicativo de destino em teste
Escolha o aplicativo alvo em teste

Criar suítes de testes

Com base em sua especificação de teste, você começou a criar conjuntos de testes para seu programa de teste. Você pode escolher várias estruturas de teste. Neste tutorial, eu escolho padrão Android estrutura de teste AtividadeInstrumentaçãoTestCase2. Você deve adicionar o arquivo da biblioteca Robotium a um diretório libs na pasta do projeto caso queira testar com a estrutura Robotium. (Você cria a pasta lib na pasta do seu projeto).

Um caso de teste define o equipamento para executar vários testes. Para definir um caso de teste, deve-se seguir a estrutura do programa abaixo:

  • Implemente uma subclasse de TestCase.
  • Defina variáveis ​​de instância que armazenam o estado do fixture
  • Inicialize o estado do fixture substituindo setUp()
  • Limpeza após um teste substituindo tearDown().
Estrutura do Programa de Teste
Estrutura do programa de teste
package com.example.helloandroid.test;

import com.example.helloandroid.HelloAndroid;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.TextView;

public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> {
    
	private HelloAndroid mActivity;
	private TextView mView;
	private String resourceString;
	private Solo solo;
	
	public HelloAndroidTest () {
		// TODO Auto-generated constructor stub
		super("com.example.helloandroid",HelloAndroid.class);	
	}
	
	 @Override
	protected void setUp() throws Exception {
		// TODO Auto-generated method stub
	//	super.setUp();
		 
	 	mActivity = this.getActivity();
		solo = new Solo(getInstrumentation(),getActivity());
		mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2);
		resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world);
		
	}
	 
	 @Override
	protected void tearDown() throws Exception {
		// TODO Auto-generated method stub
		//super.tearDown();
		solo.finishOpenedActivities();
	}
	
	public void testPrecondition() {
		assertNotNull(mView);
	}
	
	/* test Target application contains a text display "Hello World!"*/
	public void testSearchText() {
		assertEquals(resourceString,(String) mView.getText());
	}
	
	/* test HelloAndroid Activity on target application is exist*/
	public void testCurrentActivity() throws Exception  {
    	solo.assertCurrentActivity("wrong activity", HelloAndroid.class);
    }
    
	/* test Application UI contains "Start" button */
	/* send event click button to target application */
    public void testSearchButton() throws Exception {
    	boolean found = solo.searchButton("Start");
    	solo.clickOnButton("Start");
    	assertTrue(found);
    }

	

}

Adicionando casos de teste

  • No mesmo pacote do TestSuite, criamos classes TestCase
  • Para testar determinada atividade, ou seja, OláAndroid, crie uma extensão de caso de teste ActivityInstrumentationTestCase2Android>
  • Nesta classe, o testador pode obter atividades de teste por meio do método getActivity().
  • Você pode criar livremente um teste para uma atividade de teste criando um método com o nome “teste + nome do método original”
  • No método de teste, o testador pode usar Android JUnit função para comparar o valor real e o valor esperado. Esses métodos são mostrados abaixo.
Exemplos de métodos de Robotium e Android Estrutura de teste
Exemplos de métodos de Robotium e Android Estrutura de teste

Esses conjuntos de testes acima verificaram que a GUI do aplicativo deve exibir um texto “Hello World!” e conter um botão chamado “Iniciar”.

ETAPA 3) Executar teste

Depois de terminar de escrever seu programa de teste, execute o teste seguindo as etapas abaixo

  • Contato Android dispositivo para o seu PC (ou inicie o emulador caso você não tenha um dispositivo real).
  • No seu IDE, clique com o botão direito em Executar comoAndroid Teste unitário
Executando programa de teste
Executando programa de teste

Além de executar o teste no IDE, você pode executar o teste na linha de comando. Neste programa de teste, o pacote de teste é com.example.helloandroid.teste . Em Linux terminal, você pode usar o seguintewing comando para executar todos os testes neste pacote:

$ adb shell am instrumento -w -e pacote com.example.helloandroid.teste

PASSO 4) Obtenha o resultado do teste

Após a execução do teste, você obtém os resultados do teste.

Neste programa de teste, 4 métodos de teste são executados. Neste caso, todos os casos de teste são aprovados.

Saída do resultado do teste caso todos os casos de teste sejam aprovados
Saída do resultado do teste caso todos os casos de teste sejam aprovados

Caso o caso de teste falhe, a saída será exibida e mostrará quais casos de teste falharam

Saída do resultado do teste caso todos os casos de teste tenham falhado
Saída do resultado do teste caso todos os casos de teste falhem

Exemplos de código-fonte

Este artigo inclui alguns exemplos de código-fonte que ajudam você a entender o tutorial de forma mais clara e a adquirir rapidamente o conhecimento técnico