Solução de problemas do Test Lab e Perguntas frequentes

Esta página fornece ajuda para solução de problemas e respostas a perguntas frequentes sobre a execução de testes com Firebase Test Lab. Os problemas conhecidos também estão documentados. Caso você não encontre o que procura ou precise de ajuda, entre no canal #test-lab do Slack para o Firebase ou entre em contato com o suporte da plataforma.

Solução de problemas

Quando você seleciona um dispositivo com um nível alto de capacidade no catálogo de Test Lab, os testes podem começar mais rapidamente. Quando um dispositivo tem baixa capacidade, os testes podem levar mais tempo para serem executados. Se o número de testes invocados for muito maior do que a capacidade dos dispositivos selecionados, os testes poderão levar mais tempo para serem concluídos.

Os testes executados em qualquer nível de capacidade do dispositivo podem demorar mais por causa dos fatores a seguir:

  • Tráfego, que afeta a disponibilidade do dispositivo e a velocidade de teste.
  • Falhas no dispositivo ou na infraestrutura, que podem acontecer a qualquer momento. Para verificar se há uma infraestrutura relatada para Test Lab, consulte Painel de status do Firebase.

Para saber mais sobre a capacidade de dispositivos em Test Lab, consulte a capacidade do dispositivo para Android e iOS.

Os resultados inconclusivos geralmente acontecem devido a erros de infraestrutura ou testes cancelados.

Os erros de infraestrutura são causados por problemas internos do Test Lab, como erros de rede ou comportamentos inesperados em dispositivos. O Test Lab desativa internamente os testes que produzem erros de infraestrutura várias vezes antes de relatar um resultado inconclusivo. No entanto, é possível desativar essas tentativas usando a opção failFast.

Para determinar a causa do erro, faça o seguinte:

  1. Procure por falhas conhecidas no Painel de status do Firebase.
  2. Repita o teste em Test Lab para verificar se é possível reproduzir.

  3. Faça o teste em outro tipo de dispositivo, se aplicável.

Se o problema persistir, entre em contato com a equipe do Test Lab no canal #test-lab no Slack do Firebase.

A fragmentação pode fazer com que os testes sejam executados por mais tempo quando o número de fragmentos especificado exceder o número de dispositivos disponíveis para uso no Test Lab. Para evitar essa situação, tente usar outro dispositivo. Para mais informações sobre como escolher um dispositivo diferente, consulte Capacidade de dispositivos.

Quando solicitação de teste é enviada, o app é validado, assinado novamente etc. para se preparar para executar testes em um dispositivo. Normalmente, esse processo é concluído em menos de alguns segundos, mas pode ser afetado por fatores como o tamanho do app.

Depois que o app estiver preparado, as execuções de teste são programadas e permanecem em uma fila até que um dispositivo esteja pronto para a execução. Até que todas as execuções de teste terminem, o status da matriz será "Pendente", independentemente de estarem na fila ou sendo ativamente executadas.

Após a conclusão da execução do teste, é feito o download dos artefatos de teste no dispositivo, processado e enviado para Cloud Storage. A duração desta etapa pode ser afetada pela quantidade e pelo tamanho dos artefatos.

Perguntas frequentes

O Firebase Test Lab oferece cotas sem custos financeiros para testes em dispositivos e para uso em APIs do Cloud. A cota de teste usa o plano de preços padrão do Firebase, ao contrário das cotas da API do Cloud.

  • Cota de teste

    As cotas de testes são determinadas pelo número de dispositivos usados para executar testes. O plano Spark do Firebase tem uma cota de testes fixa sem custo para os usuários. No plano Blaze, suas cotas poderão aumentar se o uso do Google Cloud crescer com o tempo. Se você alcançar o limite da sua cota de testes, aguarde até o próximo dia ou faça upgrade para o plano Blaze se estiver no plano Spark. Você poderá solicitar um aumento de cota caso já esteja no plano Blaze. Para mais informações, consulte Cota de teste.

    É possível monitorar o uso da cota de testes no console do Google Cloud.

  • Cota da API Cloud Testing

    A API Cloud Testing vem com dois limites de cota: solicitações diárias e a cada 100 segundos, ambas por projeto. Você pode monitorar o uso no console do Google Cloud.

  • Cota da API Cloud Tool Results

    A API Cloud Tool Results tem dois limites de cota: consultas diárias e a cada 100 segundos, ambas por projeto. Você pode monitorar o uso no console do Google Cloud.

    Consulte Cotas da API Cloud para Test Lab para mais informações sobre os limites da API. Se você tiver alcançado o limite de uma cota de API:

    • Envie uma solicitação de aumento. Para fazer isso, edite suas cotas diretamente no console do Google Cloud. A maioria dos limites está definida como o máximo por padrão;

    • ou solicite mais cota de API preenchendo um formulário no Console do Google Cloud ou entrando em contato com o suporte do Firebase.

No seu back-end, é possível determinar se o tráfego vem de dispositivos de teste hospedados pelo Firebase ao verificar o endereço IP de origem em nossos intervalos de IP.

O Test Lab não funciona com o VPC SC, que bloqueia a atividade de cópia de apps e outros artefatos de teste entre o armazenamento interno do Test Lab e os buckets de resultados dos usuários.

Para detectar comportamentos instáveis nos testes, recomendamos o uso de --num-flaky-test-attempts . As novas execuções de flakes são faturadas ou contadas em relação à cota diária da mesma forma que as execuções de teste normais.

Lembre-se:

  • Toda a execução do teste é executada novamente quando uma falha é detectada. Não há suporte para repetir apenas casos de teste com falha.
  • As execuções de nova tentativa de despacho são programadas para serem executadas ao mesmo tempo, mas não há garantia de que serão executadas em paralelo, por exemplo, quando o tráfego exceder o número de dispositivos disponíveis.

Embora alguns desses itens estejam em nossos planos, não podemos garantir compromisso de suporte com essas plataformas de testes e desenvolvimento de apps.

As informações detalhadas do dispositivo estão disponíveis na API e podem ser acessadas no cliente gcloud usando o comando "describe":

gcloud firebase test ios models describe MODEL

A fragmentação não tem suporte nativo no Test Lab para iOS. Porém, é possível usar o cliente Flank para fragmentar casos de teste do iOS.

Para isso, defina a chave e os valores de OnlyTestIdentifiers no arquivo .xctestrun. Consulte a página man de xcodebuild.xctestrun para saber mais.

No iOS 18 ou versões mais recentes, não é possível usar vídeos nos resultados.

Problemas conhecidos

O teste Robo não pode ignorar as telas de login que exigem ação adicional do usuário além da inserção de credenciais para fazer login (como a conclusão de um CAPTCHA.

O login automático com uma Conta do Google não é compatível com testes Robo para iOS+ (Beta).