Execute um script Robo (iOS+)

Este documento descreve como usar scripts Robo , que são testes que automatizam tarefas manuais de controle de qualidade para aplicativos móveis e permitem integração contínua (CI) e estratégias de teste de pré-lançamento. Por exemplo, você pode usar scripts Robo para testar uma jornada de usuário comum ou fornecer entradas específicas da interface do usuário (IU), como nome de usuário e senha. Os scripts Robo são um recurso do teste Robo .

Os scripts Robo usam o teste Robo como mecanismo de teste. Em sua forma mais básica, um script Robo consiste em uma sequência de ações da interface do usuário, como inserir o texto 'nome de usuário' e tocar no botão OK . Os scripts Robo também podem incluir ações como esperar que um elemento apareça, tocar em um ponto específico dentro de um elemento e executar comandos shell do Android Debug Bridge ( adb ).

Os scripts Robo têm as seguintes vantagens sobre as estruturas de teste tradicionais:

Capacidade Descrição
Altamente robusto Os scripts Robo podem tolerar diferenças estruturais e comportamentais significativas entre as versões do aplicativo e a instabilidade do aplicativo.
Aberto Após a conclusão de um script Robo, o teste base do Robo pode assumir e continuar testando o aplicativo. Essa abordagem de testes contínuos permite vários casos de uso importantes. Por exemplo, você pode usar um script Robo para colocar um aplicativo em um estado específico executando um fluxo de login personalizado.
Gravável Você não precisa codificar scripts Robo manualmente. Eles podem ser gravados usando o gravador de script Robo no Android Studio. Criar ou modificar scripts Robo normalmente não requer nenhum conhecimento de desenvolvimento móvel.
Flexível Os scripts Robo podem interagir com elementos de UI não nativos que são comuns em jogos.

Os scripts Robo são acionados condicionalmente durante um teste Robo, o que permite aos usuários aumentar o comportamento do Robo - normalmente para obter maior cobertura ou atingir funcionalidades específicas. Em contraste com as estruturas de teste tradicionais, os scripts Robo suportam o seguinte:

  • Várias condições de acionamento, por exemplo, um nome de pacote de aplicativo específico estando ativo (ou não) ou um elemento específico sendo exibido na tela (ou não).
  • A execução controla, por exemplo, um número máximo de execuções, prioridade, estágio de rastreamento relevante.
  • Tipos de ação não convencionais (condicional, ignorar elemento, fechar tela).

Recomendamos que você use scripts Robo sempre que possível porque eles podem ser mantidos sem esforço. Por exemplo, você pode usar um script Robo para fazer o seguinte:

  • Navegue por fluxos de trabalho significativos para chegar ao núcleo da funcionalidade de um aplicativo. Por exemplo, você pode fazer login, configurar o estado de um aplicativo após a primeira inicialização e registrar um novo usuário.
  • Concentre o Robo em uma parte específica de um aplicativo para aproveitar ao máximo o tempo de teste do Robo. O script Robo orienta o teste Robo para chegar à parte relevante de um aplicativo, onde o teste Robo retoma um rastreamento totalmente automatizado.
  • Coloque um aplicativo em um estado ou tela específico para realizar uma análise, por exemplo, para analisar uma mensagem no aplicativo, uma política de privacidade ou um nível específico de um jogo.
  • Execute um teste de instrumentação de ponta a ponta, com ou sem teste Robo, retomando um rastreamento totalmente automatizado após a conclusão do script Robo.

Use recursos de script Robo mais avançados para fazer o seguinte:

  • Execute ações antes que o Robo comece a rastrear o aplicativo em teste ou após a conclusão de um rastreamento, por exemplo, limpe os dados do aplicativo em teste antes de um rastreamento ou altere as configurações do dispositivo.
  • Altere aspectos do comportamento do Robo durante um rastreamento, em particular:
    • Faça o Robo ignorar alguns widgets da interface do usuário ou telas de aplicativos.
    • Forneça uma ação personalizada para o Robo executar ao voltar de uma tela específica.
    • Faça com que o Robo execute ações específicas sempre que uma tela específica do aplicativo for encontrada durante um rastreamento.
  • Personalize completamente como o Robo realiza um rastreamento. Por exemplo, use uma combinação de ações condicionais e não condicionais para manter o aplicativo em teste em segundo plano durante todo o rastreamento, enquanto executa manipulações do dispositivo e descarta quaisquer caixas de diálogo pop-up que aparecem ao longo do caminho.

Tenha em mente que os scripts Robo não substituem todos os tipos de testes. Você ainda precisa de testes de unidade para detectar bugs lógicos de baixo nível em seu aplicativo; esses testes normalmente não exigem um ambiente Android ou iOS. Recomendamos que você complemente os testes de script Robo com testes de instrumentação direcionados que possam ter afirmações específicas e detalhadas sobre a lógica de negócios, que são melhor expressas em código.

Próximos passos