Référence des capacités RobotActions
Chaque capacité d'espace de noms ra:* que la grille comprend. Transmettez-les dans votre capabilities.alwaysMatch (W3C) ou desiredCapabilities (hérité) à la création de la session — elles sont retirées avant d'être transmises à Appium / Selenium, de sorte que les pilotes sous-jacents ne les voient jamais.
Vous découvrez les capacités ? Commencez par le Guide des capacités — un guide pratique couvrant la création de session, la magie executeScript en cours d'exécution, les API REST/WS et les modèles courants (CI sans interface, regroupement de tests, profilage d'application).
Référence rapide
| Capacité | Type | Défaut | Portée |
|---|---|---|---|
| ra:videoRecording | boolean | false | Selenium · Appium · Playwright |
| ra:liveView | boolean | true | Selenium · Appium · Playwright |
| ra:liveVideo | boolean | true | Appium |
| ra:testName | string | null | Selenium · Appium · Playwright |
| ra:testsuite | string | null | Selenium · Appium · Playwright |
| ra:appProfiling | boolean | false | Appium (Android uniquement) |
| ra:autoFailDetect | boolean | true | Selenium · Appium · Playwright |
Capacités en détail
ra:videoRecording
Activez l'enregistrement vidéo de la session. L'enregistrement est désactivé par défaut pour économiser l'espace disque ; définissez la valeur à true pour capturer un MP4 de l'ensemble de la session. Disponible sur la page de détail de la session à la fin de celle-ci.
ra:liveView
Flux vidéo noVNC en direct et bouton de vue en direct du tableau de bord. Définissez la valeur à false pour désactiver la diffusion. Utile pour les sessions Appium Inspector où l'enregistreur côté appareil entre en conflit avec le flux en direct.
ra:liveVideo
Désactivation par session du miroir d'écran d'Appium Inspector. Lorsque la valeur est false, la grille supprime chaque capacité mjpeg* (appium:mjpegServerPort, appium:mjpegScreenshotUrl et leurs formes sans préfixe) de la réponse createSession, de la relecture getCapabilities et de la ligne persistée dans le tableau de bord — ainsi Inspector n'affiche aucun élément de miroir en direct et les capacités stockées dans le Hub restent propres après rechargement. À utiliser pour les exécutions CI sans interface où le miroir n'est pas nécessaire.
ra:testName
Étiquette lisible du test pour les Rapports et l'Historique des sessions. Tronquée à 256 caractères. Combinez avec ra:testsuite pour le regroupement par build / suite de régression. Peut également être définie en cours d'exécution via executeScript('ra:job-name=...').
ra:testsuite
Étiquette de regroupement parent (identifiant de build, nom de suite de régression, identifiant de tâche CI, etc.). Alimente le filtre Suite de tests de l'onglet Rapports et les cartes récapitulatives par suite.
ra:appProfiling
Échantillonne le CPU (utilisateur/noyau), la mémoire (totalPss), le réseau (octets rx/tx) et la batterie toutes les ~3 s pendant la session. Nécessite un appium:appPackage résolvable (ou le préfixe appium:appActivity). Les graphiques sont disponibles dans l'onglet Performance de la session ; exportation brute en JSONL via GET /api/sessions/:id/profile.
ra:autoFailDetect
Lorsque la dernière commande WebDriver d'une session retourne un statut d'erreur (4xx/5xx), la session est automatiquement marquée result='failed' si aucun résultat explicite n'a été défini. Désactivez avec false si votre framework de test écrit les résultats explicitement via executeScript('ra:job-result=...').
Exemple combiné
Un ensemble de capacités réaliste pour une session Appium Android — enregistrement activé, profilage activé, test nommé, regroupé sous une suite de régression :
{
"platformName": "Android",
"appium:app": "path/to/app.apk",
"appium:appActivity": "com.myapp.MainActivity",
"appium:deviceName": "Google Pixel 8",
// RobotActions namespace — opt into recording + tag the run
"ra:videoRecording": true, // defaults to false — set true to record an MP4 of the session
"ra:testName": "Login — happy path",
"ra:testsuite": "regression-2026-05-15",
"ra:appProfiling": true, // defaults to false — Android only; CPU / memory / network / battery samples
"ra:liveVideo": false // defaults to true — set false to strip mjpeg* (headless CI; no Inspector mirror)
}Chaînes magiques d'exécution
En plus des capacités définies lors de la création de session, plusieurs verbes ra:* peuvent être appelés pendant la session via driver.execute_script(...). Le proxy les intercepte et les persiste côté serveur ; le pilote sous-jacent ne voit jamais l'appel.
ra:job-result=passedMarquer la session actuelle comme réussie.
ra:job-result=failed:<reason>Marquer la session comme échouée avec un texte de raison optionnel (ex. : 'Timeout en attente de #submit'). La raison renseigne sessions.result_message.
ra:job-name=<test name>Définir sessions.test_name depuis l'intérieur du test (limite de 256 caractères). Équivalent à la capacité ra:testName mais défini par test depuis le corps du test.
ra:testsuite=<suite name>Définir sessions.test_suite depuis l'intérieur du test. Équivalent à la capacité ra:testsuite.
ra:fail-reason=<message>Écrire dans sessions.result_message SANS modifier la colonne de résultat. Utile pour ajouter du contexte à un résultat déjà défini ailleurs.
ra:profile-start / ra:profile-stopAndroid uniquement. Démarrer/arrêter les échantillons de profilage d'application en cours d'exécution. Idempotent. Nécessite ra:appProfiling : true lors de createSession.
Modèle : réussite/échec explicite avec raison
// Inside your test, mark pass/fail explicitly:
driver.execute_script("ra:job-name=Checkout flow — happy path")
# ... run the test ...
try:
assert_login_succeeded()
driver.execute_script("ra:job-result=passed")
except AssertionError as e:
driver.execute_script(f"ra:job-result=failed:{e}")Que faire ensuite
Intégrations et authentification
Comment s'authentifier avec des jetons Bearer, Basic ou URL-path dans Java / Python / WebdriverIO / Appium Inspector / Katalon.
Tests Appium sur appareils réels
Exemples de capacités spécifiques aux mobiles et l'onglet natif RobotActions dans Appium Inspector pour l'inspection visuelle des éléments.