Android - Teste

A estrutura do Android inclui uma estrutura de teste integrada que ajuda a testar todos os aspectos de seu aplicativo e as ferramentas SDK incluem ferramentas para configurar e executar aplicativos de teste. Esteja você trabalhando no Eclipse com ADT ou trabalhando na linha de comando, as ferramentas do SDK o ajudam a configurar e executar seus testes em um emulador ou dispositivo de destino.

Estrutura de Teste

As ferramentas de construção e teste do Android assumem que os projetos de teste são organizados em uma estrutura padrão de testes, classes de casos de teste, pacotes de teste e projetos de teste.

Ferramentas de teste no Android

Existem muitas ferramentas que podem ser usadas para testar aplicativos Android. Alguns são oficiais como Junit, Monkey e alguns são ferramentas de terceiros que podem ser usadas para testar aplicativos Android. Neste capítulo, vamos explicar essas duas ferramentas para testar aplicativos Android.

  • JUnit
  • Monkey

JUnit

Você pode usar o JUnit TestCaseclasse para fazer testes de unidade em uma classe que não chama APIs Android. TestCase também é a classe base para AndroidTestCase, que você pode usar para testar objetos dependentes do Android. Além de fornecer a estrutura JUnit, o AndroidTestCase oferece métodos específicos de configuração, desmontagem e ajuda do Android.

Para usar TestCase, estenda sua classe com a classe TestCase e implemente uma chamada de método setUp (). Sua sintaxe é fornecida abaixo -

public class MathTest extends TestCase {
   protected double fValue1;
   protected double fValue2;

   protected void setUp() {
      fValue1= 2.0;
      fValue2= 3.0;
   }
}

Para cada teste, implemente um método que interaja com o aparelho. Verifique os resultados esperados com as asserções especificadas chamando assertTrue (String, boolean) com um booleano.

public void testAdd() {
   double result= fValue1 + fValue2;
   assertTrue(result == 5.0);
}

Os métodos assert comparam os valores que você espera de um teste com os resultados reais e lançam uma exceção se a comparação falhar.

Assim que os métodos forem definidos, você pode executá-los. Sua sintaxe é fornecida abaixo -

TestCase test= new MathTest("testAdd");
test.run();

Macaco

O UI / Application Exerciser Monkey, geralmente chamado de "monkey", é uma ferramenta de linha de comando que envia fluxos pseudoaleatórios de teclas, toques e gestos para um dispositivo. Você o executa com a ferramenta Android Debug Bridge (adb).

Você pode usá-lo para testar a carga de seu aplicativo e relatar os erros encontrados. Você pode repetir um fluxo de eventos executando a ferramenta a cada vez com a mesma semente de número aleatório.

Características do macaco

O Monkey tem muitos recursos, mas tudo pode ser resumido nessas quatro categorias.

  • Opções básicas de configuração
  • Restrições operacionais
  • Tipos e frequências de eventos
  • Opções de depuração

Uso do macaco

Para usar o monkey, abra um prompt de comando e navegue até o seguinte diretório.

android ->sdk ->platform-tools

Uma vez dentro do diretório, conecte seu dispositivo ao PC e execute o seguinte comando.

adb shell monkey -p your.package.name -v 500

Este comando pode ser dividido nessas etapas.

  • adb - Android Debug Bridge. Uma ferramenta usada para conectar e enviar comandos para o seu telefone Android a partir de um desktop ou laptop.
  • shell - shell é apenas uma interface no dispositivo que traduz nossos comandos em comandos do sistema.
  • macaco - o macaco é a ferramenta de teste.
  • v - v significa método detalhado.
  • 500- é o conut de frequência ou o número de eventos a serem enviados para teste.

Isso também é mostrado na figura -

No comando acima, você executa a ferramenta monkey no aplicativo de IU do Android padrão. Agora, para executá-lo em seu aplicativo, aqui está o que você deve fazer.

finalmente você obterá o acabamento conforme mostrado abaixo

Isso também foi mostrado na figura abaixo. Ao digitar este comando, você está gerando 500 eventos aleatórios para teste.

Exemplo

O exemplo a seguir demonstra o uso de teste. Ele cria um aplicativo básico que pode ser usado para o macaco.

Para experimentar este exemplo, você precisa executá-lo em um dispositivo real e, em seguida, seguir as etapas do macaco explicadas no início.

Passos Descrição
1 Você usará o Android Studio para criar um aplicativo Android em um pacote com.tutorialspoint.myapplication.
2 Modifique o arquivo src / MainActivity.java para adicionar o código de atividade.
3 Modifique o arquivo XML layouta res / layout / activity_main.xml e adicione qualquer componente GUI, se necessário.
4 Crie o arquivo src / second.java para adicionar o código de atividade.
5 Modifique o arquivo XML de layout res / layout / view.xml e adicione qualquer componente GUI, se necessário.
6 Execute o aplicativo e escolha um dispositivo Android em execução, instale o aplicativo nele e verifique os resultados.

Aqui está o conteúdo de MainActivity.java.

package com.tutorialspoint.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
   Button b1;
   @Override

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      b1=(Button)findViewById(R.id.button);
   }

   public void button(View v){
      Intent in =new Intent(MainActivity.this,second.class);
      startActivity(in);
   }

}

Aqui está o conteúdo de second.java.

package com.tutorialspoint.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class second extends Activity{
   @Override

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.view);
      Button b1=(Button)findViewById(R.id.button2);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Toast.makeText(second.this,"Thanks",Toast.LENGTH_SHORT).show();
         }
      });
   }
}

Aqui está o conteúdo de activity_main.xml.

No código abaixo abc indica o logotipo de tutorialspoint.com
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="UI Animator Viewer"
      android:id="@+id/textView"
      android:textSize="25sp"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView"
      android:textColor="#ff36ff15"
      android:textIsSelectable="false"
      android:textSize="35dp" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_centerHorizontal="true" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Button"
      android:onClick="button"
      android:id="@+id/button"
      android:layout_below="@+id/imageView"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="100dp" />

</RelativeLayout>

Aqui está o conteúdo de view.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent" android:layout_height="match_parent">
   
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="button"
      android:id="@+id/button2"
      android:layout_centerVertical="true"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point "
      android:id="@+id/textView3"
      android:textColor="#ff3aff22"
      android:textSize="35dp"
      android:layout_above="@+id/button2"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="90dp" />
      
</RelativeLayout>

Aqui está o conteúdo de Strings.xml.

<resources>
   <string name="app_name">My Application</string>
</resources>

Aqui está o conteúdo de AndroidManifest.xml.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.tutorialspoint.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
      <activity android:name=".second"></activity>
      
   </application>
</manifest>

Vamos tentar executar seu aplicativo de teste do Android. Presumo que você tenha conectado o seu dispositivo Android Mobile real ao computador. Para executar o aplicativo do Android Studio, abra um dos arquivos de atividade do seu projeto e clique no ícone Executar na barra de ferramentas. Antes de iniciar seu aplicativo, o Android Studio exibirá a janela a seguir para selecionar uma opção onde você deseja executar seu aplicativo Android.

Selecione seu dispositivo móvel como uma opção e, em seguida, verifique seu dispositivo móvel, que exibirá a tela do aplicativo. Agora, basta seguir as etapas mencionadas na parte superior da seção do macaco para realizar o teste neste aplicativo.