Tutorial do Robotium: seu primeiro framework Android

Índice:

Anonim

O que é o Robotium?

Robotium é uma estrutura de teste do Android para automatizar casos de teste para aplicativos nativos e híbridos. Usando o Robotium, o desenvolvedor pode criar um caso de teste de GUI automático forte para aplicativos Android. Além disso, o desenvolvedor poderia escrever um cenário de teste funcional, de sistema e de aceitação, espalhando muitas atividades Android.

Neste tutorial, você aprenderá-

  • Estrutura de teste Robotium
  • Como usar o Robotium
  • PASSO 1) Especificação do teste de projeto
  • ETAPA 2) Escreva o programa de TESTE
  • PASSO 3) Executar teste
  • PASSO 4) Obtenha o resultado do teste

Estrutura de teste Robotium

A estrutura de teste padrão do Android tem algumas limitações, conforme abaixo

  • Incapaz de lidar com várias atividades
  • O desempenho da execução do teste está lento
  • Os casos de teste são complexos e difíceis de implementar

A estrutura Robotium é a melhor escolha para realizar testes em aplicativos Android

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

Recursos avançados do Robotium

Classes de caso de teste Robotium

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

Integração Robotium e ActivityInstrumentationTestCase2

O testador pode escrever casos de teste sem conhecimento de design de aplicativo (teste de caixa preta) usando classes de caso de teste Robotium. É um recurso excelente em comparação com as classes de caso de teste do Android.

Como usar o Robotium

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

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

  1. Especificação de teste de design
  2. Desenvolver programa de teste
  3. Execute o caso de teste no dispositivo de destino
  4. Colete o resultado do teste

Procedimento de teste de aplicativo Android

PASSO 1) Especificação do teste de projeto

  • Esta é a primeira etapa para testar seu aplicativo. Nesta etapa, você define o destino a ser testado. Em seu aplicativo Android, há muitos alvos que precisam ser testados, como IU, Atividade, componentes, serviços. Definir claramente o destino em seu aplicativo ajudará a obter uma ampla cobertura de teste.
  • Planeje os tipos de teste que devem ser realizados (teste de unidade, teste funcional, teste de sistema).
  • Projete casos de teste para cobertura máxima, mas minimize o número de casos de teste. Quanto mais o código é testado, mais chances de detecção precoce do bug.

ETAPA 2) Escreva o programa de TESTE

Esta seção o orienta como escrever um programa de teste Android usando Android Junit Test e Robotium. Suponha que você já tenha desenvolvido um nome de programa Android HelloAndroid. Este programa possui algumas funções descritas a seguir:

  • Exibir um texto "Olá, mundo!" na tela.
  • Exibe uma mensagem HelloAndroid quando o usuário pressiona o botão "Iniciar"

Aplicativo HelloAndroid

Requisitos de sistema

  • A plataforma Android vem com a estrutura JUnit 3.0 pré-integrada.
  • Para criar o projeto de teste Android a partir do Eclipse, seu computador deve ter instalado:
    • Versão mais recente da plataforma Android (atualmente Android 8.1)

Você pode baixar Eclipse IDE com ADT (Android Developer Tools) integrado. Inclui os componentes essenciais do Android SDK e uma versão do Eclipse IDE.

Para a estrutura de teste do Robotium, você precisa baixar a biblioteca Robotium da página da web do Robotium.

Criar projeto de teste Android

  • Clique em Arquivo -> Novo -> Outro
  • Escolha: Android -> Projeto de teste do Android conforme a figura abaixo -> Escolha o próximo

Crie um novo projeto de teste Android

Escreva o nome do seu projeto de teste. Como convenção de nomenclatura, seu projeto de teste deve ser denominado "HelloAndroidTest"

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

Escolha o aplicativo de destino em teste. Neste caso, este é HelloAndroid clique em Concluir

Escolha o aplicativo de destino em teste

Criar suítes de teste

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

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

  • Implemente uma subclasse de TestCase.
  • Defina variáveis ​​de instância que armazenam o estado do aparelho
  • Inicialize o estado do aparelho substituindo setUp ()
  • Limpe após um teste substituindo tearDown ().

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 estende ActivityInstrumentationTestCase2  {HelloAndroid mActivity privado;TextView mView privado;private String resourceString;solo solo privado;public HelloAndroidTest () {// TODO stub do construtor gerado automaticamentesuper ("com.example.helloandroid", HelloAndroid.class);}@Sobreporprotected void setUp () lança Exception {// TODO stub do método gerado automaticamente// super.setUp ();mActivity = this.getActivity ();solo = novo Solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Sobreporprotected void tearDown () lança Exception {// TODO stub do método gerado automaticamente//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * O aplicativo de teste de destino contém uma exibição de texto "Hello World!" * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * teste A atividade HelloAndroid no aplicativo de destino existe * /public void testCurrentActivity () lança Exception {solo.assertCurrentActivity ("atividade errada", HelloAndroid.class);}/ * A IU do aplicativo de teste contém o botão "Iniciar" * // * enviar o botão de clique do evento para o aplicativo de destino * /public void testSearchButton () lança Exception {boolean found = solo.searchButton ("Iniciar");solo.clickOnButton ("Iniciar");assertTrue (encontrado);}}

Adicionando Casos de Teste

  • No mesmo pacote com TestSuite, criamos classes TestCase
  • Para testar determinada atividade, por exemplo, HelloAndroid, crie uma extensão de caso de teste ActivityInstrumentationTestCase2
  • Nesta classe, o testador pode obter a atividade de teste por meio do método getActivity ().
  • Você pode criar um teste livremente 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 a função Android JUnit para comparar o valor real e o valor esperado. Esses métodos são mostrados a seguir.

Métodos de exemplo de estrutura Robotium e Android Testing

Esses conjuntos de testes acima verificaram que a GUI do aplicativo deve exibir um texto "Hello World!" E contém um nome de botão "Iniciar".

PASSO 3) Executar teste

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

  • Conecte o dispositivo Android ao seu PC (ou inicie o emulador, caso você não tenha um dispositivo real).
  • Em seu IDE, clique com o botão direito àExecutar comoàTeste de unidade de Android

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.test. No terminal Linux , você pode usar o seguinte comando para executar todos os testes neste pacote:

$ adb shell am instrument -w -e pacote com.example.helloandroid.test

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. Nesse caso, todos os casos de teste são aprovados.

Saída do resultado do teste no caso de todos os casos de teste passarem

No caso de falha do caso de teste, a saída é exibida e mostra quais casos de teste falharam

Saída do resultado do teste no caso de todos os casos de teste falharem

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 recuperar o conhecimento técnico

  • HelloAndroid: aplicativo em teste.
  • HelloAndroidTest: programa de teste usando a estrutura de teste do Android