Jornadas para o Android Studio

O recurso Jornadas para Android Studio usa as capacidades de visão e raciocínio da IA para navegar e testar seu app com base nas suas instruções em linguagem natural. Seu conjunto de instruções, chamado de jornada, é convertido em ações que a IA realiza no app. Além disso, você pode escrever e descrever declarações mais complexas, que a IA avalia com base no que vê no dispositivo.

Jornadas para o Android Studio.
Jornadas para o Android Studio.

Como o Gemini analisa quais ações realizar para atingir as metas, as jornadas são mais resilientes a mudanças sutis no layout ou comportamento do app, resultando em menos testes instáveis ao serem executados em diferentes versões do app e configurações de dispositivos.

É possível escrever e executar jornadas diretamente no Android Studio ou na linha de comando em qualquer dispositivo Android local ou remoto. O IDE oferece uma nova experiência de editor para criar jornadas, além de resultados avançados que ajudam você a entender melhor o raciocínio e a execução do Gemini.

Escrever uma jornada

O Android Studio oferece um modelo de arquivo e uma nova experiência de editor que facilita a criação e edição de jornadas. As jornadas são escritas usando a sintaxe XML para organizar a descrição e as etapas.

O editor de jornada no Android Studio, mostrando um arquivo XML com
        etapas da jornada.

Para criar e começar a editar uma jornada, faça o seguinte:

  1. No painel Project do Android Studio, clique com o botão direito do mouse no módulo do app para o qual você quer escrever uma jornada.
  2. Selecione Novo > Teste > Arquivo de jornada.
  3. Na caixa de diálogo que aparece, informe o nome e a descrição da jornada.

    Uma caixa de diálogo no Android Studio usada para criar um arquivo de jornada.
    Uma caixa de diálogo no Android Studio usada para criar um arquivo de jornada.

  4. Clique em Finish. O Android Studio cria um arquivo XML para sua jornada com o nome escolhido. Use a visualização Code para editar o XML diretamente ou a visualização Design para uma experiência de edição simplificada.

  5. Ao visualizar sua jornada na visualização Design, use o campo de texto para descrever cada etapa. Cada etapa pode incluir ações descritivas que você quer que o Gemini execute ou declarações que você quer que ele avalie.

  6. Pressione Enter no teclado para iniciar uma nova etapa na mesma jornada. Repita esse processo conforme necessário para cada etapa da jornada que você quer definir.

Dicas para escrever jornadas

Embora a IA seja capaz de entender a maioria das etapas escritas nos idiomas aceitos, seguir estas dicas para escrever jornadas pode gerar resultados mais precisos e esperados:

  • Suponha que o app já esteja em primeiro plano:executar uma jornada inicia automaticamente o app. As etapas da jornada devem começar depois que o app for totalmente iniciado. Ou seja, não é necessário incluir "iniciar app" como uma etapa.
  • Use uma linguagem sem ambiguidades:ser preciso minimiza interpretações erradas e melhora a confiabilidade.
Em vez de Faça isso
"Selecione o botão de dispensar" "Toque em 'Dispensar'" ou apenas "Dispensar"
"Digite 'aipo'" "Digite 'aipo' na barra de pesquisa na parte de cima da tela inicial"
"Deslize para dispensar" "Deslize para a esquerda para dispensar. O card não vai mais aparecer."
  • Inclua os critérios de sucesso como parte da etapa:isso ajuda o Gemini a entender melhor sua intenção e esclarece quando a ação é concluída e a próxima pode começar.
Em vez de Faça isso
"Selecione o botão de envio" "Envie o e-mail tocando no botão "Enviar". Isso vai fechar o e-mail e levar você de volta à caixa de entrada."
"Ir para o carrinho de compras" "Toque no ícone do carrinho de compras para acessar a página do carrinho. Verifique se ele contém zero itens"
"Clique no primeiro vídeo" "Clique no primeiro vídeo e aguarde o carregamento completo"
  • Refine sua jornada:se a jornada não estiver sendo executada como esperado, confira os resultados e inspecione "Ação realizada" e o "Raciocínio" correspondente para entender por que o Gemini não executou as etapas como você esperava. Use essas informações para dar mais clareza às suas instruções.
  • Divida sua jornada em etapas mais específicas:embora a IA possa interpretar etapas de várias ações, às vezes, etapas discretas mais granulares podem melhorar a precisão e a capacidade de reprodução da jornada.
    • "Erro: não foi possível concluir a ação na tentativa máxima permitida": se você encontrar esse erro, tente dividir as etapas com falha em duas ou mais etapas menores. Isso acontece porque esse erro ocorre quando a IA não consegue concluir a ação depois de tentar um número máximo de interações com seu app.

Recursos compatíveis e incompatíveis

Confira uma visão geral dos recursos compatíveis e ainda não totalmente compatíveis ao escrever jornadas. As listas a seguir não estão completas.

As seguintes ações são compatíveis em jornadas:

  • Toque nos elementos da interface.
  • Digitar para inserir texto em campos de texto.
  • Deslize/role a tela em uma determinada direção para navegar na interface.

No momento, os seguintes recursos não são totalmente compatíveis ou podem ter um desempenho inconsistente:

  • Gestos com vários dedos (por exemplo, pinçar para ampliar): interações que exigem dois ou mais pontos de contato na tela simultaneamente, como pinçar para ampliar ou reduzir o zoom ou deslizar com dois dedos.
  • Toque e mantenha pressionado: pressionar e manter o dedo pressionado por um período maior do que um toque padrão.
  • Toque duplo: tocar rapidamente no mesmo local da tela duas vezes em rápida sucessão.
  • Rotação/dobra da tela: processamento de mudanças na orientação do dispositivo (por exemplo, entre retrato e paisagem) ou no estado físico de dispositivos dobráveis (por exemplo, abertura ou fechamento).
  • Memória: retenção e recuperação de informações, contexto ou comandos específicos do usuário em interações ou etapas anteriores.
  • Contagem: rastreamento preciso de quantidades, frequências ou progresso.
  • Instruções condicionais: execução de ações com base no atendimento de outras condições especificadas.

Os recursos e as funcionalidades estão em constante melhoria. Recomendamos que você consulte esta página mais tarde para saber sobre outros recursos e funcionalidades. Para nos ajudar a melhorar os programas, compartilhe seu feedback.

Executar sua jornada

Você pode executar a jornada em qualquer dispositivo local ou remoto disponível, assim como qualquer outro teste instrumentado, e o Android Studio gera resultados avançados que ajudam a entender a execução da jornada.

Para testar uma jornada, faça o seguinte:

  1. Selecione um dispositivo de destino na barra de ferramentas principal, como faria ao executar um teste instrumentado.
  2. Navegue até o arquivo XML da jornada que você quer testar e abra-o no editor.
  3. No editor, faça uma destas ações:
    1. Se você estiver na visualização Design, clique em Executar jornada.
    2. Se você estiver na visualização Código, clique em Executar "teste" na margem ao lado de onde o nome da jornada é definido no XML.

O Android Studio cria uma configuração Teste de trajetos para você e a executa no dispositivo de destino. Durante a execução, o Android Studio cria e implanta seu app, além de se conectar ao Gemini para determinar quais ações realizar em cada etapa da jornada.

O painel de resultados do teste de jornada no Android Studio, mostrando detalhes da etapa e o raciocínio do Gemini.
O painel de resultados do teste de jornada no Android Studio, mostrando detalhes da etapa e o raciocínio do Gemini.

Executar jornadas em qualquer app pré-instalado

Você pode executar uma jornada em um app pré-instalado no dispositivo de teste. Isso é útil se você quiser testar uma versão de produção do app ou se ainda não atualizou o app para o Plug-in do Android para Gradle 9.0.0 ou mais recente.

  1. Abra ou crie um projeto atualizado para o Plug-in do Android para Gradle 9.0.0 ou mais recente.
  2. Escreva uma jornada.
  3. Edite a configuração de execução para a jornada e adicione as seguintes variáveis de ambiente. Uma configuração de execução é criada automaticamente quando você tenta executar uma jornada no Android Studio.
    • JOURNEYS_CUSTOM_APP_ID define o ID do pacote do app de destino.
  4. Execute a jornada que você editou. O Android Studio vai executar as etapas da jornada no app de destino especificado.

Executar uma jornada na linha de comando

Também é possível executar uma jornada na linha de comando como uma tarefa do Gradle.

Configuração

Você precisa se autenticar no Google Cloud para usar o recurso Jornadas na linha de comando.

Observação:estas etapas usam a gcloud CLI para fornecer credenciais de usuário, o que pode não se aplicar a todos os ambientes de desenvolvimento. Para mais informações sobre qual processo de autenticação usar para suas necessidades, consulte Como o Application Default Credentials funciona.

Para instalar a CLI do Google Cloud, siga as etapas em Instalar a gcloud CLI.

Para credenciais de usuário

É possível autorizar manualmente usando o seguinte comando do terminal:

gcloud auth application-default login

Para credenciais de conta de serviço

Se você ainda não fez isso, siga o guia para criar credenciais de conta de serviço para seu projeto.

  • Verifique se a API IAM Service Account Credentials está ativada para o projeto em que você criou as chaves da conta de serviço.
  • Verifique se o usuário administrador e a conta de serviço têm a permissão Service Account Token Creator concedida.

Para autenticar, execute o seguinte comando:

gcloud auth application-default login --impersonate-service-account SERVICE_ACCOUNT_EMAIL

Executar como uma tarefa do Gradle

Execute o Journeys executando diretamente a tarefa do Gradle na linha de comando. Depois de executar a tarefa, os resultados do teste vão aparecer nos registros, e arquivos de resultados de teste HTML e XML serão gerados.

Para executar todas as jornadas É possível executar todas as jornadas no conjunto de testes com o seguinte comando.

./gradlew :app:testJourneysTestDefaultDebugTestSuite

Para executar uma única jornada Use JOURNEYS_FILTER para especificar o nome da jornada que você quer executar, assim:

JOURNEYS_FILTER=your_journey_name.journey.xml ./gradlew :app:testJourneysTestDefaultDebugTestSuite

Para executar todas as jornadas em um subdiretório Defina JOURNEYS_FILTER como o nome do subdiretório. Por exemplo, o comando a seguir executa todas as jornadas no subdiretório home dentro do diretório raiz do pacote de testes.

JOURNEYS_FILTER=home ./gradlew :app:testJourneysTestDefaultDebugTestSuite

Ver resultados

Quando o Android Studio conclui o teste da sua jornada, o painel de resultados do teste aparece automaticamente para mostrar os resultados.

O painel de resultados do teste de jornada no Android Studio, mostrando detalhes da etapa e o raciocínio do Gemini.
O painel de resultados do teste de jornada no Android Studio, mostrando detalhes da etapa e o raciocínio do Gemini.

Em comparação com outros testes instrumentados que você pode executar no Android Studio, há algumas diferenças na forma como os resultados das jornadas são exibidos.

  • O painel Testes divide a jornada em etapas discretas. Clique em cada etapa para saber mais sobre como o Gemini a executou.
  • O painel Resultados mostra informações detalhadas para ajudar você a entender como o Gemini entendeu e raciocinou sobre sua jornada e como ela foi executada.
    • As capturas de tela enviadas ao Gemini são mostradas para ajudar visualmente em cada ação da etapa.
    • Cada ação realizada e o motivo do Gemini para isso são descritos ao lado de cada captura de tela.
    • Cada ação na etapa é numerada.

Problemas conhecidos

  • Ao testar uma jornada, todas as permissões do app são concedidas por padrão.
  • Ao testar uma jornada em um dispositivo com o Android 15 (nível 35 da API), talvez você veja um aviso no dispositivo informando que o App não seguro foi bloqueado para AndroidX Crawler. Clique em Instalar mesmo assim para ignorar essa verificação. Também é possível configurar as opções do desenvolvedor no dispositivo e desativar a opção Verificar apps por USB.