2017-07-11 1 views
2

J'essaie d'exécuter mes tests Espresso sur un serveur CI (Jenkins dans ce cas). Je n'ai pas accès à l'interface graphique ici, donc l'approche que j'ai choisie utilise le paramètre -no-window sur Android Emulator. L'émulateur démarre correctement mais je reçois erreur Error: Could not access the Package Manager. Is the system running? lors du processus d'installation. Donc, comme je l'ai mentionné ci-dessus, est-il possible de faire des tests Espresso sur une machine non-gui? Je sais qu'il y a un plugin Jenkins pour Android Emulator mais il semble être obsolète, la dernière mise à jour date de 2015 je crois ... merci!Est-il possible d'exécuter des tests d'interface utilisateur Espresso sur l'émulateur -no-window?

+0

Ceci est possible: https://paulemtz.blogspot.de/2013/05/android-testing-in-headless-emulator.html. L'émulateur doit utiliser le rendu gpu du logiciel: -gpu off' –

+0

Cela ne fonctionne pas, même erreur de gestionnaire de paquetage apparaît – henorek

Répondre

0

Selon Internet (par exemple SO) vous obtiendrez ce message d'erreur si l'émulateur n'est pas entièrement démarré ou si le périphérique est verrouillé.

Vous pouvez essayer deux choses:

  • Envoyer déverrouillage KeyEvent à l'appareil (d'abord vérifier si l'appareil est en ligne)

    ./adb devices
    ./adb shell input keyevent 82

  • Attendez que appareil est complètement démarré

    ./adb shell getprop init.svc.bootanim
    // You should get "1" when ready

J'ai actuellement le même problème et, malheureusement, aucune des solutions ci-dessus fonctionne pour moi. Je suppose que la meilleure façon d'identifier le problème consiste à exécuter l'émulateur avec l'interface graphique pour voir ce qu'il fait mais je n'ai pas accès au serveur. Faites-moi savoir si vous pouvez résoudre votre problème.

Edit: Essayez aussi faire un sommeil pendant quelques minutes (environ 10 minutes si votre serveur isnt que rapide) avant d'appeler

./adb install ou ./gradlew connectedAndroidTest

Edit # 2:

Mon L'émulateur fonctionne enfin mais doit utiliser des images x86. Toujours aucune idée pourquoi le bras ne fonctionne pas ..