2017-09-21 7 views
0

Je configure un serveur CI qui crée des AVD Android à la volée pour exécuter des tests d'interface utilisateur automatisés. Cela fonctionne très bien, mais puisque le CI obtient de nouveaux émulateurs avec des images flambant neuves chaque fois qu'un travail est exécuté, je reçois tout l'accueil d'Android et la première fois et vous êtes d'accord. Ceux-ci cassent mes tests.Android Emulator Auto Accepter les invites de bienvenue

Est-il possible que l'émulateur accepte ou rejette automatiquement toutes ces invites?


Voici quelques exemples:

Chrome welcome prompt

Keyboard welcome prompt

Répondre

0

Après beaucoup de creuser et d'expérimentation, je l'ai trouvé un moyen de contourner les deux invites mentionnées ci-dessus. Il n'y a pas de solution fourre-tout, mais ici, ça va, morceau par morceau.

Chrome

Avant de lancer Chrome pour la première fois, exécutez cette commande avec adb:

./adb shell 'echo "chrome --disable-fre --no-default-browser-check --no-first-run" > /data/local/tmp/chrome-command-line' 

Fondamentalement, cela écrit un fichier à un emplacement connu qui Chrome vérifiera au démarrage. Tous les indicateurs spécifiés dans la commande sont respectés, et ceux-ci désactivent de manière inhérente toutes les premières invites d'exécution. This link était très utile.

clavier (Gboard)

La coque applications a un outil appelé ime pour gérer les modes d'entrée disponibles sur l'appareil. Par défaut, sur les nouveaux périphériques en anglais, la méthode de saisie est LatinIME. C'est l'implémentation latine de Gboard, qui a fourni l'invite légale ci-dessus.

La solution la plus simple consiste à sélectionner un autre clavier qui n'a pas cette invite. Je l'ancien SoftKeyboard:

./adb shell 'ime set com.example.android.softkeyboard/.SoftKeyboard' 

Vous pouvez obtenir une liste des claviers disponibles, comme ceci:

./adb shell 'ime list -a -s' 

Résultat final

Final result of settings changes