Automatizando o processo de teste do Android

É possível automatizar o processo de teste dos aplicativos Android usando a interface da linha de comandos com o utilitário Android Debug Bridge (adb) e uma ferramenta da linha de comandos, como curl. É possível então combinar as instruções da linha de comandos em scripts e arquivos em lote.

Antes de Iniciar

Sobre Esta Tarefa

O processo de automação inclui as seguintes etapas:

Procedimento

  1. Instrumentar a última liberação do AUT.

    É possível instrumentar aplicativos Android manualmente fazendo upload do aplicativo a partir de um dispositivo móvel ou emulador para o test workbench ou clicando no botão Incluir aplicativo a lista de dentro do test workbench. Para automatizar o processo, use uma ferramenta como curl.

    1. Inicie o Rational Test Workbench Eclipse Client.
    2. No test workbench, clique no ícone Exibir URL do Workbench URL do Workbench e tome nota da URL do Workbench. Você precisará do endereço IP e porta da URL do Workbench para a próxima etapa.
    3. Execute a seguinte linha de comando para instrumentar o AUT:
      curl -F "appfile=@MyApp.apk" 
      -F "appdescription=My App Description" 
      http://Workbench-URL:port/moeb/service/com.ibm.rational.test.lt.core.moeb.services.buildchain.IBuildChainService/?action=upload

      Por exemplo:

      curl -F "appfile=@MyExpenses.apk" 
      -F "appdescription=Expense report app" 
      http://192.0.2.24:7878/moeb/service/com.ibm.rational.test.lt.core.moeb.services.buildchain.IBuildChainService/?action=upload

    Essa etapa resulta em três novos arquivos .apk:

    • R-original apk name.apk - Aplicativo pronto para playback
    • T-original apk name.apk - Mecanismo de teste para o aplicativo
    • I-original apk name.apk - Aplicativo pronto para gravação

    Para obter detalhes sobre arquivo .apk, instrumentação e o processo de construção do Android, consulte Visão geral de testes do Android.

  2. Use adb para instalar a última liberação do AUT em um dispositivo Android ou emulador. Tanto o aplicativo pronto para playback .apk como o arquivo de mecanismo de teste .apk devem estar instalados. O utilitário adb é normalmente instalado em Android-SDK-install-location\sdk\platform-tools.
    1. Localize o aplicativo pronto para playback .apk e o arquivo de mecanismo de teste .apk no seguinte local da sua área de trabalho do Eclipse.
      your-workspace/.metadata/.plugins/com.ibm.rational.test.lt.models.behavior.moeb/builds/AUT-uid/R-original-apk-name.apk

      em que AUT-uid é o nome da pasta da subpasta modificada por último da pasta de construções. Normalmente, o AUT-uid é um número hexadecimal longo.

      Exemplo:

      C:\workspaces\rtw86\.metadata\.plugins\com.ibm.rational.test.lt.models.behavior.moeb\builds\b01714617a0a34788898e05c9696e0bf\R-expenses.apk

      É possível localizar o aplicativo de mecanismo de teste no mesmo local. Apenas substitua o prefixo R por T.

    2. Execute o seguinte comando da linha de comandos:
      adb install -r Workspace/.metadata/.plugins/com.ibm.rational.test.lt.models.behavior.moeb/builds//AUT-uid/R-AUT-name.apk
      adb install -r Workspace/.metadata/.plugins/com.ibm.rational.test.lt.models.behavior.moeb/builds//AUT-uid/T-AUT-name.apk

      Para instalar o AUT a vários dispositivos ou emuladores, use a opção -s (número de série), por exemplo:

      adb install -s emulator-5556 -r 
      C:\workspaces\rtw86\.metadata\.plugins\com.ibm.rational.test.lt.models.behavior.moeb\builds\b01714617a0a34788898e05c9696e0bf\R-expenses.apk
      adb install -s emulator-5558 -r 
      C:\workspaces\rtw86\.metadata\.plugins\com.ibm.rational.test.lt.models.behavior.moeb\builds\b01714617a0a34788898e05c9696e0bf\T-expenses.apk

      Para obter detalhes, consulte Direcionando comando a um emulador ou dispositivo específico.

  3. Instale o cliente de teste móvel e inicie-o no modo passivo. O modo passivo permite que a execução de teste seja controlada por um script ou arquivo em lote no test workbench.

    Execute os seguintes comandos adb para desinstalar uma versão existente do cliente de teste móvel, reinstale uma versão mais recente do cliente, e configure os clientes para o modo passivo.

    adb uninstall com.ibm.rational.test.mobile.android.client.ui
    adb install "Eclipse client path/com.ibm.rational.test.mobile.android.client.ui-release.apk"
    adb shell am start 
    -n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "Workbench-Url" --ez passive_mode “true”

    Por exemplo:

    adb uninstall com.ibm.rational.test.mobile.android.client.ui
    adb install "C:\Program Files\IBM\IBMIMShared\com.ibm.rational.test.mobile.android.client.ui-release.apk"
    adb shell am start 
    -n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "9.44.55.666:7878" --ez passive_mode “true”
  4. Execute um teste no modo de linha de comandos.

    Agora é possível executar um teste. Para obter detalhes sobre como executar um teste ou planejamento no modo da linha de comandos, consulte Executando um teste ou planejamento a partir da linha de comandos.

    Nota: Não é possível executar um teste a partir da linha de comandos no Mac OS X.

    Por padrão, o test workbench seleciona o primeiro dispositivo conectado que se adequa melhor aos requisitos de execução de teste (Android OS e Android API). Para executar o teste em um ou mais dispositivos específicos, use a opção adb -s device ID. Para localizar o ID do dispositivo, abra o editor Dispositivos Móveis no test workbench, selecione um dispositivo e procure pelo ID em Propriedades Detalhadas.

    É possível também usar uma variável para selecionar um dispositivo especifico. Para obter detalhes, consulte Definindo uma variável para executar um teste com um dispositivo móvel selecionado.

    Todos os scripts de teste são vinculados a uma versão especifica do AUT. Se você fizer upload de uma nova versão do AUT, sempre deverá executar o teste na versão mais recente do AUT. Para obter detalhes, consulte Definindo uma variável em um teste para executar a versão mais recente de um aplicativo.


Feedback