Automatisation des tests multiplateformes pour les applications natives, hybrides, mobiles et de bureau.
Documentation | Commencez | Écosystème | ChangeLog | Guide contributif | Forum de discussion
Appium est un cadre d'automatisation open-source qui offre des possibilités d'automatisation basées sur le pourriver pour une large gamme de différentes plates-formes mobiles, de bureau et IoT. Appium est modulaire et extensible et prend en charge plusieurs langages de programmation, ce qui signifie qu'il existe un écosystème entier de logiciels connexes:
Depuis le 1er janvier 2022, l'équipe Appium ne maintient plus ou ne prend plus en charge Appium 1. Tous les pilotes de plate-forme officiellement pris en charge ne sont compatibles qu'avec Appium 2.
Veuillez lire le guide de migration si vous utilisez toujours Appium 1.
Avertissement
Si vous utilisez une interface graphique Appium Desktop ou Appium Server, vous ne pourrez pas passer à Appium 2, car ces deux outils ont été obsolètes. Veuillez utiliser Appium Inspecteur en combinaison avec un serveur APPIUM 2 autonome.
Appium peut être installé à l'aide de npm (d'autres gestionnaires de packages ne sont pas actuellement pris en charge). Veuillez vérifier les documents d'installation pour les exigences du système et les informations supplémentaires.
Si la mise à niveau de l'Appium 1, assurez-vous que Appium 1 est entièrement désinstallé ( npm uninstall -g appium ). Des erreurs inattendues peuvent apparaître si cela n'a pas été fait.
npm i -g appiumNotez que cela n'installera que le serveur Core Appium, qui ne peut rien automatiser seul. Veuillez installer des pilotes pour vos plates-formes cibles afin de les automatiser.
Appium prend en charge l'automatisation des applications sur une variété de plateformes, comme iOS, Android, MacOS, Windows, etc. Chaque plate-forme est prise en charge par un ou plusieurs «pilotes», qui savent automatiser cette plate-forme particulière. Vous pouvez trouver une liste complète de pilotes officiellement soutenus et tiers de la page des pilotes de l'écosystème Appium.
La gestion du pilote se fait à l'aide de l'interface de ligne de commande d'extension d'Appium:
# Install an official driver from npm (see documentation for a list of such drivers)
appium driver install < driver-name >
# Install any driver from npm
appium driver install --source=npm < driver-name >
# See documentation for installation from other sources
# List already installed drivers
appium driver list --installed
# Update a driver (it must be already installed)
# This will NOT update the major version, in order to prevent breaking changes
appium driver update < driver-name >
# Update a driver to the most recent version (may include breaking changes)
appium driver update < driver-name > --unsafe
# Uninstall a driver (it won't last forever, will it?)
appium driver uninstall < driver-name > Les bibliothèques clients permettent d'écrire des tests Appium dans différents langages de programmation. Il existe des clients officiellement soutenus pour Java, Python, Ruby et .NET C #, ainsi que des clients tiers pour d'autres langues. Vous pouvez trouver une liste complète de clients dans la page Clients d'Appium Ecosystem.
Les plugins vous permettent d'étendre les fonctionnalités du serveur sans modifier le code du serveur. La principale différence entre les pilotes et les plugins est que ce dernier doit être explicitement activé sur le démarrage Appium Server (tous les pilotes installés sont activés par défaut):
appium --use-plugins= < plugin-name >Vous pouvez trouver une liste complète de plugins officiellement soutenus et tiers de la page des plugins de l'écosystème Appium.
De façon similaire aux pilotes, la gestion des plugins est également effectuée à l'aide de l'interface de ligne de commande d'extension d'Appium:
# Install an official plugin from npm (see documentation for a list of such plugins)
appium plugin install < plugin-name >
# Install any plugin from npm
appium plugin install --source=npm < plugin-name >
# See documentation for installation from other sources
# List already installed plugins
appium plugin list --installed
# Update a plugin (it must be already installed)
# This will NOT update the major version, in order to prevent breaking changes
appium plugin update < plugin-name >
# Update a plugin to the most recent version (may include breaking changes)
appium plugin update < plugin-name > --unsafe
# Uninstall a plugin
appium plugin uninstall < plugin-name > Afin de commencer à envoyer des commandes au serveur Appium, il doit être exécuté sur l'URL et le port où votre bibliothèque client s'attend à ce qu'elle écoute. L'interface de ligne de commande d'Appium est utilisée pour lancer et configurer le serveur:
# Start the server on the default host (0.0.0.0) and port (4723)
appium server
# You can also omit the 'server' subcommand
appium
# Start the server on the given host, port and use a custom base path prefix (the default prefix is '/')
appium --address 127.0.0.1 --port 9000 --base-path /wd/hubAppium prend en charge l'exécution des processus de serveur parallèle, ainsi que des séances de pilotes parallèles dans un processus de serveur unique. Reportez-vous aux documentations du pilote correspondantes sur le mode optimal pour le pilote particulier ou s'il prend en charge les sessions parallèles.
xcuitest et uiautomator2 ont une prise en charge des applications mobiles et hybrides intégrées. Dans le même script, vous pouvez basculer de manière transparente entre l'automatisation des applications natives et l'automatisation WebView, tous utilisant le modèle WebDriver qui est déjà la norme pour l'automatisation Web.Investir dans le protocole WebDriver signifie que vous pariez sur un protocole unique, gratuit et ouvert pour des tests qui sont devenus une norme Web. Ne vous enfermez pas dans une pile propriétaire.
Par exemple, si vous utilisez la bibliothèque XCuitest d'Apple sans Appium, vous ne pouvez écrire des tests qu'à l'aide d'OBJ-C / Swift, et vous ne pouvez exécuter que des tests via Xcode. De même, avec UiAutoMator ou Espresso de Google, vous ne pouvez écrire des tests que dans Java / Kotlin. Appium ouvre la possibilité d'une véritable automatisation des applications natives multiplateforme, pour mobile et au-delà!
Si vous recherchez une description plus complète de ce qu'il s'agit, veuillez lire notre documentation sur comment fonctionne Appium ?.
Appium a un programme de parrainage! Si vous ou votre entreprise utilisez Appium et que vous souhaitez redonner financièrement au projet, nous utilisons ces fonds pour encourager le développement et les contributions, ainsi que pour soutenir d'autres projets open source sur lesquels nous comptons. Devenez sponsor via notre page OpenCollective.
Appium est incroyablement reconnaissant à nos partenaires de développement et stratégiques pour leur contribution soutenue du développement de projets et du leadership!


Une liste complète des sponsors est disponible sur notre page de sponsors.
Apache-2.0
Le package @appium/logger est sous la licence ISC.