Publié: Mai 11, 2026
Comment démarrer et arrêter la projection automobile dans les tests Appium
Contrôlez le passage de votre test en mode automobile et sa sortie, sans avoir à tout recommencer.
Tester une application automobile ne se limite pas à tester l'écran projeté. Il s'agit de tester l'expérience utilisateur complète.
Lorsqu'une application mobile est testée via son interface embarquée projetée, un phénomène structurel différent se produit par rapport aux tests mobiles classiques. L'appareil passe en mode projection : une connexion permanente est établie avec un écran virtuel qui cède le contrôle de l'affichage au système d'affichage du véhicule.
Cela crée un problème de test qui n'existe pas dans l'automatisation mobile standard.
La plupart des applications automobiles exigent que l'utilisateur soit déjà connecté, que l'application soit dans un état connu ou que certaines conditions de données soient remplies avant le début de la projection. Or, si l'appareil passe en mode projection au démarrage de la session, il n'y a pas de possibilité d'effectuer cette configuration au préalable.
Et lorsqu'un test se termine alors que l'appareil est toujours en mode projection — ce qui arrive souvent dans les environnements automatisés —, le test suivant hérite de cet état.
Les solutions de contournement utilisées par les équipes ne sont pas adaptées à l'intégration continue et à la livraison continue (CI/CD). Elles introduisent des étapes manuelles, des comportements incohérents et une infrastructure de test plus difficile à maintenir.
Ce qui doit réellement changer
L'exigence fondamentale est simple : les équipes doivent pouvoir contrôler le démarrage et l'arrêt de la projection au cours d'une session de test, et non pas seulement savoir si elle est activée ou désactivée pour toute la session.
Cela débloque deux choses :
Conditions préalables à la projection. Réinitialisez l'application, connectez-vous et configurez les données dans le contexte normal de l'appareil. Lancez ensuite la projection lorsque l'application est dans l'état requis.
Nettoyer l'état du périphérique après la projection. Arrêtez explicitement la projection à la fin du test, afin que le test suivant — sur n'importe quel appareil du pool — démarre à partir d'une base de référence prévisible.
Il ne s'agit pas d'exigences avancées. Ce sont les mêmes hypothèses que tout pipeline CI/CD utilise pour tout autre type de test. Le problème résidait dans le fait que les outils de projection automobile ne les prenaient pas en charge.
Par conséquent, nous introduisons maintenant deux commandes compatibles avec Appium — automotive.start et automotive.stop — qui permettent aux équipes de contrôler par programmation l'état de projection d'Android Auto et d'iOS CarPlay à tout moment au cours d'une session de test en cours.
Que font les commandes ?
Les fonctions `automotive.start` et `automotive.stop` sont appelées directement dans votre script de test Appium. `automotive.start` active la projection sur l'écran embarqué connecté, tandis que `automotive.stop` met fin à la projection et rétablit le contexte standard de l'appareil. Ces deux commandes sont compatibles avec Android Auto et iOS CarPlay.
Un test peut désormais ressembler à ceci :
- Ouvrez l'application sur l'appareil
- Connectez-vous, définissez les conditions de données, accédez à l'écran approprié
- Démarrage de la projection (automotive.start)
- Exécuter les étapes automatisées sur l'écran de la voiture
- Arrêter la projection (automotive.stop)
- Valider les comportements non automobiles
Voici à quoi cela pourrait ressembler d'un point de vue programmatique :
# Pre-condition: launch app in standard device context
driver.activate_app('com.example.automotiveapp')
login(driver) # run login flow normally
navigate_to_map_screen(driver) # set expected app state
# Enter automotive projection (Android Auto / CarPlay)
driver.execute_script('automotive.start')
# Interact with in-car display
driver.find_element(By.ID, 'com.example:id/nav_button').click()
assert_route_displayed(driver)
# Exit projection — device returns to standard context
driver.execute_script('automotive.stop')
# Continue validating non-automotive behavior
assert_app_state_preserved(driver)
Chaque segment de projection génère sa propre vidéo et est joint au rapport de test. Plusieurs cycles de démarrage/arrêt sont pris en charge au cours d'un même test, chacun faisant l'objet d'un enregistrement distinct.
Il en résulte une couverture de tests automobiles qui s'intègre dans un pipeline CI/CD standard sans nécessiter de manipulation spéciale des appareils, d'environnements isolés ou d'intervention manuelle entre les exécutions.
Ce que cela débloque
Liberté préconditionnelle. Toute configuration d'application devant être effectuée avant la projection peut désormais l'être avant la projection, au cours de la même session et sans solution de contournement.
Fiabilité CI/CD. Chaque test gère son propre état de projection. Aucune dépendance vis-à-vis du test précédent. Fonctionne de manière cohérente sur les pools de périphériques partagés et cloud.
Vidéo par segment. Chaque cycle de démarrage/arrêt génère un enregistrement vidéo distinct, joint au rapport de test. Si un test comprend plusieurs cycles de projection, chacun d'eux fait l'objet d'un enregistrement distinct pour analyse.
Séances à cycles multiples. Un seul test peut entrer et sortir plusieurs fois du mode de projection automobile, ce qui est utile pour tester le comportement lors de changements de contexte.
Android Auto et CarPlay (iOS) sont tous deux compatibles. Les commandes fonctionnent de la même manière sur les deux plateformes à partir d'un seul script de test Appium.
Pour les équipes qui investissent déjà dans les tests automatisés pour les applications de véhicules connectés, automotive.start et automotive.stop comblent la dernière lacune : l’état de la projection était jusqu’à présent géré en dehors du test. Désormais, il est géré en interne, comme tout le reste de votre pipeline.
Prêts à explorer les essais automobiles?
Vous aimerez aussi
Comment démarrer et arrêter la projection automobile dans les tests Appium
Contrôlez le moment où votre test entre et sort du mode automobile —…
Réduire Release Risques liés aux tests d'applications financières
Comment les institutions financières réduisent Release Risquer sans ralentir la livraison…
Comment les équipes financières testent les parcours utilisateurs sécurisés sans compromettre la sécurité
Dans les applications financières, les éléments les plus importants — l'authentification, le contrôle d'accès,…