Esta página fornece ajuda para solução de problemas e respostas a perguntas frequentes sobre a execução de testes com o Firebase Test Lab. Problemas conhecidos também são documentados. Se você não encontrar o que procura ou precisar de ajuda adicional, participe do canal #test-lab no Firebase Slack ou entre em contato com o suporte do Firebase .
Solução de problemas
Ao selecionar um dispositivo com alto nível de capacidade no catálogo do Test Lab, os testes podem iniciar mais rapidamente. Quando um dispositivo tem baixa capacidade, os testes podem demorar mais para serem executados. Se o número de testes invocados for muito maior que a capacidade dos dispositivos selecionados, os testes poderão demorar mais para serem concluídos.
Os testes executados em qualquer nível de capacidade do dispositivo podem demorar mais devido aos seguintes fatores:
- Tráfego, que afeta a disponibilidade do dispositivo e a velocidade do teste.
- Falhas de dispositivos ou infraestrutura, que podem acontecer a qualquer momento. Para verificar se existe uma infraestrutura reportada para o Test Lab, consulte o painel de status do Firebase .
Para saber mais sobre a capacidade do dispositivo no Test Lab, consulte informações de capacidade do dispositivo para Android e iOS .
Resultados de testes inconclusivos geralmente ocorrem devido a execuções de testes canceladas ou erros de infraestrutura.
Erros de infraestrutura são causados por problemas internos do Test Lab, como erros de rede ou comportamentos inesperados do dispositivo. O Test Lab descontinua internamente as execuções de testes que produzem erros de infraestrutura diversas vezes antes de relatar um resultado inconclusivo; no entanto, você pode desabilitar essas tentativas usando failFast .
Para determinar a causa do erro, siga estas etapas:
- Verifique se há interrupções conhecidas no painel de status do Firebase .
Tente novamente o teste no Test Lab para verificar se ele é reproduzível.
Tente executar o teste em um dispositivo ou tipo de dispositivo diferente, se aplicável.
Se o problema persistir, entre em contato com a equipe do Test Lab no canal #test-lab no Firebase Slack.
A fragmentação pode fazer com que seus testes sejam executados por mais tempo quando o número de estilhaços especificado exceder o número de dispositivos disponíveis para uso no Test Lab. Para evitar esta situação, tente mudar para um dispositivo diferente. Para obter mais informações sobre como escolher um dispositivo diferente, consulteCapacidade do dispositivo .
Quando você envia uma solicitação de teste, seu aplicativo é primeiro validado, assinado novamente, etc., em preparação para a execução de testes em um dispositivo. Normalmente, esse processo é concluído em menos de alguns segundos, mas pode ser afetado por fatores como o tamanho do seu aplicativo.
Depois que seu aplicativo estiver preparado, as execuções de teste serão agendadas e permanecerão em fila até que um dispositivo esteja pronto para executá-lo. Até que todas as execuções de teste terminem de ser executadas, o status da matriz será "Pendente" (independentemente de as execuções de teste estarem na fila ou em execução ativa).
Após a conclusão da execução do teste, os artefatos de teste são baixados do dispositivo, processados e enviados para o Cloud Storage. A duração desta etapa pode ser afetada pela quantidade e tamanho dos artefatos.
Perguntas frequentes
O Firebase Test Lab oferece cotas gratuitas para testes em dispositivos e para uso de APIs do Cloud. Observe que a cota de teste usa o plano de preços padrão do Firebase, enquanto as cotas da API Cloud não.
Cota de testes
As cotas de teste são determinadas pelo número de dispositivos usados para executar testes. O plano Firebase Spark possui uma cota fixa de testes sem nenhum custo para os usuários. Para o plano Blaze, suas cotas poderão aumentar se o uso do Google Cloud aumentar ao longo do tempo. Se você atingir sua cota de testes, espere até o dia seguinte ou atualize para o plano Blaze se você estiver atualmente no plano Spark. Se você já está no plano Blaze, pode solicitar um aumento de cota. Para obter mais informações, consulte Testando cota .
Você pode monitorar o uso da cota de teste no console do Google Cloud .
Cota da API Cloud Testing
A API Cloud Testing vem com dois limites de cota: solicitações por dia por projeto e solicitações a cada 100 segundos por projeto. Você pode monitorar seu uso no console do Google Cloud .
Cota da API Cloud Tool Results
A API Cloud Tool Results vem com dois limites de cota: consultas por dia por projeto e consultas a cada 100 segundos por projeto. Você pode monitorar seu uso no console do Google Cloud .
Consulte Cotas da API Cloud para Test Lab para obter mais informações sobre os limites da API. Se você atingiu uma cota de API:
Envie uma solicitação de cotas mais altas editando-as diretamente no console do Google Cloud (observe que a maioria dos limites é definida como máximo por padrão) ou
Solicite cotas de API mais altas preenchendo um formulário de solicitação no console do Google Cloud ou entrando em contato com o suporte do Firebase .
No back-end, você pode determinar se o tráfego vem de dispositivos de teste hospedados no Firebase verificando o endereço IP de origem em relação aos nossos intervalos de IP .
O Test Lab não funciona com VPC-SC, que bloqueia a cópia de aplicativos e outros artefatos de teste entre o armazenamento interno do Test Lab e os buckets de resultados dos usuários.
Para detectar comportamento instável em seus testes, recomendamos usar a opção--num-flaky-test-attempts. As novas execuções do Deflake são cobradas ou contabilizadas em sua cota diária da mesma forma que as execuções normais de teste.
Tenha o seguinte em mente:
- 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 novas tentativas do Deflake são programadas para execução ao mesmo tempo, mas não há garantia de execução em paralelo, por exemplo, quando o tráfego excede o número de dispositivos disponíveis.
Embora alguns desses itens estejam em nosso roteiro, no momento não podemos nos comprometer a oferecer suporte a essas plataformas de teste e desenvolvimento de aplicativos.
Informações detalhadas do dispositivo estão disponíveis por meio da API e podem ser acessadas no cliente gcloud usando o comando description :
gcloud firebase test ios models describe MODEL
A fragmentação não tem suporte nativo no Test Lab para iOS. No entanto, você pode usar o cliente Flank para fragmentar casos de teste do iOS.
Isso funciona definindo a chave e os valores OnlyTestIdentifiers
no arquivo .xctestrun
. Consulte a página man
de xcodebuild.xctestrun
para obter mais detalhes.
Problemas conhecidos
O teste Robo não pode ignorar telas de login que exigem ações adicionais do usuário além de inserir credenciais para entrar, por exemplo, preencher um CAPTCHA.
O teste Robo funciona melhor com aplicativos que usam elementos de UI da estrutura de UI do Android (incluindo objetos View
, ViewGroup
e WebView
). Se você usar o teste Robo para exercitar aplicativos que usam outras estruturas de UI, incluindo aplicativos que usam o mecanismo de jogo Unity, o teste poderá sair sem explorar além da primeira tela.