2

Récemment, j'ai ajouté quelques tests Espresso supplémentaires à mon application Android Firebase. La durée totale de leur exécution sur l'émulateur a donc augmenté de 8 minutes environ.L'application Firebase a été supprimée par Android OS dans Firebase Test Lab

Maintenant, chaque fois que j'essaie d'exécuter nos tests Espresso dans Firebase Test Lab, l'application est toujours tuée par le système d'exploitation Android pour diverses raisons. Exemples:

  • en cours d'exécution sur l'émulateur Nexus 5, API 23: environ 6 minutes après le test commence, com.google.android.gms obtient une mise à jour et tue le test en cours:

    D/PackageManager(1678): Renaming /data/app/vmdl517737698.tmp to /data/app/com.google.android.gms-2 
    I/ActivityManager(1678): Force stopping com.google.android.gms appid=10008 user=-1: replace sys pkg 
    I/ActivityManager(1678): Killing 1970:com.google.android.gms.persistent/u0a8 (adj 1): stop com.google.android.gms 
    W/PackageManager(1678): Trying to update system app code path from /data/app/com.google.android.gms-1 to /data/app/com.google.android.gms-2 
    <...> 
    I/ActivityManager(1678): Killing 5654:org.example.MyApplication/u0a84 (adj 0): stop com.google.android.gms 
    
  • surpris, j'ai essayé de courir sur l'émulateur Nexus 5, API 19 (ma version minSdk est 15): environ 20 secondes (!) après le démarrage du test, un message bizarre sur certaines API Chimera apparaît et tue mon "pour mettre à jour une config":

    E/ModuleProvider(4927): Unhandled query from org.example.MyApplication: content://com.google.android.gms.chimera/api/ 
    I/ChimeraModuleLdr(5546): Module config changed, forcing restart due to module 
    I/Process(5546): Sending signal. PID: 5546 SIG: 9 
    

Bien sûr, le laboratoire de test Firebase remarque immédiatement le processus en train d'être tué et répond en marquant le test "échoué" avec la raison: Process crashed.

Ma question est: comment puis-je gérer ce comportement du système d'exploitation Android dans le laboratoire de test Firebase? Créer un junit retry @Rule n'aide pas - tout le processus est tué, ne laissant aucune chance aux tentatives de démarrage.

Répondre

1

Il s'avère qu'il s'agit d'un problème temporaire (bien, couvrant au moins environ un mois) dans Firebase Test Laboratoire. Je suis entré en contact avec le support Firebase et ils m'ont tenu au courant chaque semaine jusqu'à ce qu'il soit résolu.