Pour tester une application mobile avec un agent IA, tu branches ton agent de code (Claude Code, Codex, Cursor) sur un émulateur Android, un simulateur iOS ou un vrai téléphone, grâce à un outil comme agent-device, Maestro MCP ou Appium MCP. L’agent ouvre l’app, lit l’interface, appuie sur les boutons, saisit du texte, prend des captures et vérifie le résultat attendu. Il accélère les tests répétitifs, mais les critères d’acceptation et la validation des parcours critiques restent à toi.
Mise à jour du 12 octobre 2026 : comparatif des 3 outils qui relient un agent IA à une app mobile (agent-device, Maestro MCP, Appium MCP), prérequis à jour et nouvelles questions dans la FAQ.
Ce guide montre comment transformer une demande vague comme « vérifie l’application » en tests observables et reproductibles.
Pourquoi tester l’application avec un agent
La création assistée par IA accélère les modifications. Elle accélère aussi les régressions. D’après le rapport State of AI vs Human Code Generation de CodeRabbit (décembre 2025), le code co-écrit avec l’IA génère environ 1,7 fois plus de problèmes que le code humain (10,83 contre 6,45 par pull request). L’analyse porte sur 470 pull requests open-source GitHub, avec 75 % de défauts de logique et de correction en plus dans le code généré par IA. Un agent peut corriger l’écran de connexion et casser le clavier, le bouton retour ou l’affichage sur un petit écran.
Le test manuel reste utile, mais il devient pénible quand tu dois répéter le même parcours après chaque changement. Un agent de test peut rejouer une séquence, conserver des captures et signaler l’étape exacte qui ne correspond plus au résultat attendu.
agent-device est un outil open source de Callstack, sous licence MIT, que la documentation Expo présente comme la boîte à outils de référence pour les agents. Il inspecte l’interface, agit sur les éléments, capture des écrans et des vidéos, collecte les journaux, l’activité réseau et les traces. Le même langage de commande couvre les émulateurs Android, les simulateurs iOS, les appareils physiques, le web, macOS et Linux, et il tourne dans Codex, Claude Code ou Cursor.
L’essentiel : relier chaque action de l’agent à une observation précise et garder la preuve. Un « test réussi » écrit dans une réponse ne prouve rien.
Les 3 outils pour brancher un agent IA sur une app mobile en 2026
Ton agent de code ne voit pas l’écran d’un téléphone tout seul. Il lui faut un pont vers l’appareil. En octobre 2026, 3 outils gratuits et open source font ce travail :
Outil | Comment l’agent l’utilise | Appareils | Point fort |
|---|---|---|---|
agent-device (Callstack, recommandé par Expo) | Ligne de commande, MCP en option | Émulateurs Android, simulateurs iOS, vrais téléphones, web, macOS, Linux, TV | Sorties compactes qui économisent le contexte de l’agent, captures, logs, réseau et performances |
Serveur MCP inclus dans la CLI Maestro | Émulateurs Android, simulateurs iOS, téléphones Android, web. Pas encore les iPhone physiques | L’agent écrit des tests YAML que tu rejoues en intégration continue, Maestro Viewer affiche le téléphone dans l’agent | |
Appium MCP | Serveur MCP officiel d’Appium, 33 outils | Android et iOS, émulateurs, simulateurs et vrais appareils | S’appuie sur Appium, le standard historique, utile si ton équipe a déjà des tests Appium |
Pour un premier projet Expo ou React Native, commence par agent-device : c’est l’outil mis en avant par la documentation Expo. Si tu veux garder des tests rejouables à chaque version, Maestro MCP s’installe en une ligne dans Claude Code : claude mcp add maestro -- maestro mcp (Java 17 requis). Appium MCP vise plutôt les équipes qui ont déjà une suite Appium. Pour choisir l’agent de code lui-même, lis notre comparatif Codex vs Claude Code.
Ce qu’un bon test doit contenir
Chaque test a besoin de quatre éléments :
un état de départ connu
une suite d’actions précises
un résultat attendu
une preuve lisible si le résultat diffère
Exemple pour une application de réservation :
Depuis l’écran d’accueil sans réservation existante, choisis mardi à 14 h, saisis le nom « Test Kryve », confirme, puis vérifie qu’une carte « mardi 14 h » apparaît. En cas d’échec, capture l’écran et les journaux de l’application sans modifier le code.
Cette consigne est testable. « Regarde si la réservation marche » ne l’est pas. L’agent risque de choisir lui-même le scénario, d’ignorer une erreur et de déclarer la mission terminée trop tôt.
Installer agent-device dans un projet Expo
Commence avec une application qui démarre déjà. Si le projet ne se lance pas manuellement, l’automatisation ajoutera du bruit au diagnostic.
La documentation Expo demande Node.js 22.12 ou plus. Pour Android, installe les outils adb du SDK Android. Pour iOS, il te faut un Mac avec Xcode. L’installation tient en une commande, npm install -g agent-device@latest, puis agent-device doctor vérifie que tout est prêt. Tu peux aussi ajouter le skill officiel avec npx skills add callstack/agent-device. Ces prérequis peuvent évoluer : demande à l’agent de les comparer avec la page officielle.
Une consigne sûre ressemble à ceci :
Lis la documentation officielle Expo agent-device. Vérifie les prérequis de ce projet sans modifier la configuration. Si tout est compatible, installe uniquement l’outil recommandé, lance l’application sur la cible disponible et montre-moi la première capture. N’exécute aucun test destructif.
L’agent doit distinguer trois statuts : outil installé, application ouverte, interface réellement inspectée. Une installation réussie ne prouve pas que l’agent contrôle l’application.
Si tu pars encore de l’idée, commence par créer une application mobile avec l’IA sans coder.
Faire un premier test de fumée
Le test de fumée vérifie que les fonctions vitales ne sont pas immédiatement cassées. Il reste court : lancement, écran principal, navigation essentielle et absence d’erreur bloquante.
Demande à l’agent :
Ouvre l’application. Attends que l’écran principal soit stable. Prends une capture. Vérifie que le titre « Mes séances » et le bouton « Ajouter » sont visibles. Appuie sur Ajouter et vérifie que le formulaire contient les champs Exercice, Poids et Répétitions. Ne saisis aucune donnée. Retourne un tableau avec étape, observation et preuve.
Le mot « visible » doit correspondre à l’état de l’interface, pas à la présence d’un texte dans le code. Un bouton caché derrière le clavier ou placé hors écran n’est pas utilisable.
Conserve la capture et le résultat du test. Ils forment la référence de la version actuelle.
Utiliser les snapshots d’interface
Un snapshot décrit la structure accessible de l’écran. Il peut contenir les libellés, rôles, identifiants et états des éléments. L’agent s’en sert pour cibler un bouton ou un champ sans deviner sa position au pixel près.
Les sélecteurs basés sur un texte ou un identifiant stable résistent mieux aux changements de mise en page. Si le bouton « Enregistrer » se déplace, le test peut continuer à le trouver. Un clic à une coordonnée fixe devient fragile dès que la taille d’écran change.
Ajoute des libellés accessibles et des identifiants de test seulement sur les éléments qui en ont besoin. Un écran rempli d’identifiants générés sans convention devient aussi difficile à maintenir que le code qu’ils sont censés tester.
Demande à l’agent de te montrer le snapshot quand il n’arrive pas à cibler un élément. Tu verras si le problème vient du test ou d’une interface mal exposée aux technologies d’assistance.
Tester un formulaire mobile
Les formulaires concentrent les erreurs mobiles : clavier qui cache le bouton, validation trop tardive, mauvais type de clavier, double soumission et perte de saisie.
Construis trois scénarios.
Parcours valide
Saisis des valeurs réalistes, confirme et vérifie la donnée affichée. L’agent doit comparer le résultat avec les valeurs exactes, pas seulement constater qu’une nouvelle ligne existe.
Donnée invalide
Laisse un champ obligatoire vide ou saisis une valeur hors limite. Vérifie qu’un message compréhensible apparaît et qu’aucune donnée n’est enregistrée.
Double action
Appuie deux fois rapidement sur le bouton de confirmation. Vérifie qu’une seule donnée est créée et que le bouton indique l’état de chargement si une requête prend du temps.
Ajoute une capture pour chaque échec. Les journaux servent à la cause technique, la capture sert à l’effet utilisateur.
Vérifier la persistance des données
Un enregistrement affiché immédiatement peut disparaître au prochain lancement. Le test doit traverser une fermeture ou un rechargement.
Exemple :
créer une note intitulée « Contrat test »
vérifier qu’elle apparaît dans la liste
fermer l’application
rouvrir l’application
vérifier que « Contrat test » est toujours présent une seule fois
Si les données sont distantes, ajoute le contrôle du compte utilisé et attends la fin réelle de la synchronisation. Un test qui change de compte sans le signaler peut produire un faux échec.
Utilise des données de test reconnaissables et supprimables. N’automatise jamais un parcours sur une base de production avec de vrais clients sans environnement et autorisation adaptés.
Capturer les journaux et les traces
Une capture montre le symptôme. Les journaux montrent souvent l’erreur levée. Une trace relie les actions, les états et le temps.
agent-device permet selon la documentation Expo de récupérer les journaux d’application et d’enregistrer des traces. Demande ces preuves seulement autour du scénario défaillant. Un dump immense ralentit le diagnostic et peut contenir des informations sensibles.
La consigne peut être :
Rejoue le scénario de connexion une fois. Capture les journaux à partir du clic sur Se connecter jusqu’à l’erreur. Masque les jetons, cookies, e-mails réels et secrets avant de me montrer l’extrait. Ne change aucun fichier.
Sépare diagnostic et correction. Une fois la cause identifiée, autorise une modification bornée, puis rejoue exactement le même test. Le passage de rouge à vert constitue la preuve de correction.
Tester plusieurs tailles et plateformes
Une interface correcte sur un simulateur iPhone peut déborder sur Android ou sur un écran plus étroit. Les polices, barres système, gestes et comportements du clavier ne sont pas identiques.
Commence avec la plateforme principale et une seconde cible qui couvre le plus gros risque. Pour une application grand public, teste au minimum un petit écran iOS et un appareil Android courant. Le web compte comme cible distincte si tu le proposes réellement aux utilisateurs.
Évite de multiplier dix appareils dès le premier jour. Stabilise le parcours central, puis élargis la matrice aux versions et formats soutenus.
Demande à l’agent de conserver le même scénario et de produire une ligne par cible : version, taille, résultat, anomalie et lien vers la capture.
Transformer un bug en test de régression
Chaque bug important mérite un scénario qui aurait dû l’attraper.
Supposons que le clavier masque le bouton « Confirmer » sur un petit écran. Après correction, conserve un test qui ouvre le formulaire, active le dernier champ et vérifie que le bouton reste atteignable. Ce test protège les versions suivantes.
La boucle est la suivante :
reproduire le bug sans modifier le code
conserver la preuve de l’échec
formuler le résultat attendu
appliquer une correction limitée
rejouer le même scénario
vérifier les parcours proches
Cette discipline compte aussi pour les agents eux-mêmes. Le guide évaluer un agent IA explique comment mesurer le résultat, la trajectoire, les outils, le coût et la sécurité au lieu de noter seulement la réponse finale.
Ce que l’agent ne doit pas décider seul
Un agent de test ne doit pas supprimer des données réelles, acheter un produit, accepter un contrat, publier une version ou contourner une sécurité pour faire passer le scénario.
Définis une règle d’arrêt :
stop si un secret apparaît dans les journaux
stop si le test atteint un paiement réel
stop si l’environnement n’est pas clairement identifié
stop si une action destructive n’a pas de mécanisme de restauration
stop si le résultat attendu contredit le comportement produit validé
Les permissions doivent suivre le scénario. Un test d’interface n’a pas besoin d’un accès administrateur à la base de production.
Tester l’accessibilité avec l’agent
Les snapshots d’interface rendent visibles certains défauts d’accessibilité. Un bouton sans nom, un champ sans libellé ou un élément impossible à cibler peut aussi gêner un lecteur d’écran.
Demande à l’agent de lister les éléments interactifs sans nom accessible et de vérifier l’ordre de navigation. Ce contrôle ne remplace pas un test avec les technologies d’assistance ni des utilisateurs concernés, mais il attrape des erreurs basiques tôt dans le cycle.
Vérifie aussi le contraste, la taille des zones tactiles, l’agrandissement du texte et l’orientation si l’application la prend en charge.
Construire une petite suite de tests
Commence avec cinq parcours qui protègent la valeur du produit :
l’application démarre
l’utilisateur accomplit l’action principale
la donnée reste après réouverture
une donnée invalide est refusée proprement
une erreur réseau produit un message exploitable
Pour chaque parcours, conserve un nom, les préconditions, les étapes, les attentes et la dernière preuve. Exécute la suite avant une bêta ou après un changement transversal.
Quand un test échoue, l’agent doit arrêter la suite si la suite risque de produire des résultats trompeurs. Un écran de connexion cassé invalide tous les tests qui en dépendent.
Les erreurs fréquentes
Demander une exploration libre
L’agent clique partout et revient avec des impressions. Donne des parcours et des attentes.
Autoriser la correction pendant le diagnostic
Tu perds l’état initial et la preuve. Reproduis d’abord, corrige ensuite.
Utiliser uniquement des coordonnées
Le test casse quand l’écran change. Préfère des libellés et identifiants stables.
Déclarer la réussite sans artefact
Une phrase de l’agent n’est pas une preuve. Garde captures, journaux bornés et résultat étape par étape.
Tester seulement le chemin idéal
Les erreurs réelles viennent des champs vides, doubles clics, retours arrière, coupures réseau et anciennes données.
FAQ
Quel agent IA utiliser pour tester une application mobile ?
N’importe quel agent de code qui sait lancer des commandes ou utiliser MCP : Claude Code, Codex, Cursor, Gemini CLI ou Copilot. Le choix de l’outil de pont compte plus : agent-device pour démarrer vite avec Expo, Maestro MCP pour garder des tests rejouables, Appium MCP si tu as déjà des tests Appium.
Faut-il savoir coder pour tester une app avec un agent IA ?
Non pour lancer les tests : tu décris le parcours en français et l’agent l’exécute. Il faut quand même savoir installer l’outil, lancer un émulateur et lire une capture ou un journal. Si tu crées l’app sans coder, commence par notre guide créer une application mobile avec l’IA.
agent-device remplace-t-il Maestro ou Appium ?
Non. Il offre une interface pensée pour les agents et une boucle de contrôle rapide. Maestro et Appium ont désormais leur propre serveur MCP, et une équipe peut garder ces outils pour ses suites stables et son intégration continue.
Peut-il tester un vrai iPhone ?
Oui avec agent-device ou Appium MCP, qui gèrent les appareils physiques. Maestro ne prend pas encore en charge les iPhone physiques : il teste iOS sur simulateur. Sur un vrai iPhone, prévois la signature de l’app de test avec ton compte Apple.
L’agent peut-il juger si le design est bon ?
Il peut comparer l’écran à des règles ou une référence. Le goût et la confiance perçue demandent encore une revue humaine et, idéalement, des retours utilisateurs.
Faut-il conserver toutes les vidéos et tous les journaux ?
Non. Conserve les preuves utiles aux échecs, aux corrections importantes et aux versions livrées. Supprime ou protège les artefacts qui contiennent des données sensibles.
Peut-on lancer ces tests automatiquement ?
Oui pour les scénarios stables et non destructifs, selon l’environnement utilisé. Commence manuellement, stabilise les préconditions, puis automatise. Une automatisation fragile produit surtout du bruit.
Sources officielles
Maestro, Mobile UI Testing with Claude Code, Cursor and Codex (1er septembre 2026)
Tu veux apprendre à donner un cadre, des permissions et des preuves à tes agents au lieu de leur faire confiance à l’aveugle ? Découvre les formations Kryve.
Continuer avec
Passe de la lecture à la délégation
Pars d’une vraie tâche de ton poste. Kryve t’aide à la cadrer, la confier à l’IA et contrôler le résultat.
D’autres analyses pour ton système
Guides, benchmarks et cas concrets pour construire des agents qui tiennent la route.
Claude Fable 5.1 : guide complet et bonnes pratiques Anthropic
Se former à l’IA agentique et créer des agents IA sans coder
Comment utiliser un agent IA pour préparer ton entretien annuel
Tu sais ce qui te ralentit. Apprends à le déléguer.
Pars d’une vraie tâche de ton poste. Kryve te guide pour la cadrer, la confier à l’IA et contrôler le résultat, sans prérequis technique.




