Solução de problemas do Test Lab e Perguntas frequentes
Nesta página, você encontrará ajuda para solução de problemas e respostas para perguntas frequentes
sobre a execução de testes com o 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
Por que meu teste está demorando tanto para ser executado?
Quando você seleciona um dispositivo com um nível alto de capacidade no catálogo
do 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 no Test Lab, consulte o
painel de status do Firebase.
Saiba mais sobre a capacidade do dispositivo no Test Lab nas informações
relacionadas para Android e iOS.
Por que os resultados do teste foram inconclusivos?
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.
Repita o teste no Test Lab para verificar se elas podem ser reproduzidas.
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 pelo
canal #test-lab do
Firebase no Slack.
Por que a fragmentação deixou meus testes mais
demorados?
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.
Por que está demorando muito
para o início do meu teste?
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.
Por que meu teste está demorando
muito?
Após a conclusão da execução do teste, os artefatos de teste são transferidos por download do
dispositivo, processados e enviados para o Cloud Storage. A duração desta etapa pode
ser afetada pela quantidade e pelo tamanho dos artefatos.
Perguntas frequentes
Quais são as cotas sem custos financeiros do Test Lab? O que devo fazer se minha cota acabar?
O Firebase Test Lab oferece cotas sem custos financeiros para testes de dispositivos e o uso de 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 testes
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.
A API Cloud Testing vem com dois limites de cota: solicitações diárias
e a cada 100 segundos, ambas por projeto. É possível 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. É possível monitorar o
uso no
Console do Google Cloud.
Consulte Cotas da API Cloud para o Test Lab
e veja mais informações sobre os limites. 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.
Como posso descobrir se
o tráfego que chega ao meu back-end vem do Test Lab?
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 funciona com o
VPC Service Controls?
O Test Lab não funciona com o VPC Service Controls, porque ele 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.
Como posso detectar testes instáveis
no Test Lab?
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.
O Test Lab tem suporte para
Appium, Flutter/FlutterDriver, ReactNative/Jest ou Cucumber?
Embora alguns desses itens estejam em nossos planos, não podemos garantir
compromisso de suporte com essas plataformas de testes e desenvolvimento de apps.
Onde posso encontrar detalhes
do dispositivo, como resolução etc.?
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
Posso usar a fragmentação com testes de iOS?
A fragmentação não tem compatibilidade nativa com o 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.
Problemas conhecidos
Captchas de login
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.
Suporte à estrutura de interface
O teste Robo funciona melhor com apps que usam elementos de IU do framework de IU do Android (incluindo objetos View, ViewGroup e WebView). Se ele for usado para testar apps que utilizam outras estruturas, incluindo o mecanismo de jogos Unity, ele provavelmente será encerrado sem passar da primeira tela.