Appium Dépendance Maven : Configuration avec Eclipse Exemple de projet
⚡ Résumé intelligent
Appium La gestion des dépendances Maven permet à un projet d'automatisation mobile de déclarer l'artefact java-client dans le fichier pom.xml, de sorte que Maven résolve automatiquement chaque fichier jar et que la même compilation s'exécute sur n'importe quelle machine sans téléchargement manuel.

Qu'est-ce que le Apache Maven?
Apache Maven est une Javaoutil de gestion de projet et d'automatisation basé sur . Il fournit un cadre multitâche aux développeurs pour faciliter le cycle de vie complet de la construction pour Java candidatures. Maven est prédéfini et déclaré dans un format XML appelé POM (Project Object Model) et appelé « pom.xml ». Il peut également être utilisé pour d’autres langages comme C#, Scala, Ruby, etc.
Grâce au framework Maven, vous pouvez facilement gérer les tâches suivantes dans n'importe quel projet :
- Cycle de construction
- Documentation du projet
- Vérifications des rapports
- Gestion des Scrums
- Divulguer des renseignements
Les utilisations de base de Maven sont :
- Applique une structure de répertoires standard.
- Fournir une structure de projet réutilisable et facile à entretenir.
- Résolvez les dépendances des packages.
- Fournir un cadre de gestion de configuration.
Cette capacité à résoudre les dépendances est exactement ce qu'un Appium le projet a besoin, car le Java le client déclenche une chaîne de Selenium Des fichiers JAR que personne ne veut télécharger manuellement.
Télécharger Appium Dépendances Maven
Avant de commencer à écrire un Appium Pour effectuer un test de dépendance avec Maven, vous devez télécharger le Appium Dépendance Maven — la Appium Télécharger le fichier JAR — depuis Site web du dépôt central MavenLa capture d'écran ci-dessous montre la liste des artefacts java-client sur Maven Central, où chaque version publiée et son extrait de code prêt à l'emploi sont disponibles.
Ou ajoutez directement l'artefact POM.xml mentionné ci-dessous :
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Note de version : le 3.4.1 Les coordonnées ci-dessus correspondent à l'exemple original et montrent toujours la forme correcte du bloc. Cet exemple est antérieur au protocole WebDriver du W3C ; par conséquent, un nouveau projet devrait utiliser une version plus récente. À l'heure où j'écris ces lignes, la version disponible sur Maven Central est : 10.1.1, ce qui nécessite Selenium 4.42.0 ou plus tard.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Veuillez consulter notre Tutoriel Maven pour apprendre à configurer Maven avec Eclipse.
Appium Structure du projet Maven et dépendances requises
Maven impose une structure fixe, et la connaître permet d'éviter la plupart des confusions qui surviendront plus tard dans ce guide. Un projet généré contient quatre emplacements importants :
- pom.xml — le modèle objet du projet à la racine du projet, où chaque dépendance et chaque plugin est déclaré.
- src / main / java — classes d'application et classes auxiliaires.
- src/test/java — les classes de test, et le seul répertoire que le plugin Surefire analyse lors de l'exécution d'une compilation.
- l'objectif — Résultats compilés et rapports de tests, régénérés à chaque compilation.
Le Appium java-client est la seule dépendance obligatoire, car elle déclare le Selenium API, pilote distant et artefacts de support de manière transitive. De nombreuses équipes continuent de les épingler. Selenium Indiquez explicitement la version afin qu'elle soit visible à un seul endroit, et ajoutez un outil d'exécution de tests :
<dependencies> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.42.0</version> </dependency> </dependencies>
Maintenez la compatibilité entre les deux versions. Une version du client Java indique que Selenium la gamme qu'il prend en charge, et le mélange d'un ancien client avec un client beaucoup plus récent Selenium est la cause la plus fréquente d'une erreur NoSuchMethodError lors de l'exécution. dépôt client Java documente l'association pour chaque sortie.
Application de test avec Appium et Maven
Avec cette dépendance établie, le Eclipse Le flux de travail ci-dessous permet de créer un projet exécutable à partir de zéro. Après avoir configuré le Appium Java Plug-in Maven dans EclipseL'espace de travail est prêt à tester n'importe quel Android .apk application avec Appium et Maven, comme le montre le Appium Exemple de projet Maven ci-dessous.
Étape 1) Dans cette étape,
- Allez dans NOUVEAU >> sélectionnez le projet Maven
- Cliquez sur le bouton « suivant ».
L'assistant de création de projet s'ouvre avec le projet Maven mis en surbrillance, comme illustré ici.
Étape 2) Ensuite, dans la fenêtre « Nouveau projet Maven », saisissez «Appium Saisissez « Test » dans les colonnes ID du groupe et ID de l'artefact. À cette étape, vous devez saisir :
- Identifiant du groupe
- ID d'artefact
- Version
- Emballage
- Nom et Description CMS
- Finition
Le formulaire « Nouveau projet Maven » complété ressemble à la capture d'écran ci-dessous.
Cliquer sur le bouton Terminer ouvrira une nouvelle classe sous l'identifiant de groupe défini (AppiumNom du test.
Étape 3) Pour commencer avec le Appium Dans le script, faites un clic droit sur « src/main/java » dans la fenêtre de l'explorateur située à gauche. Sélectionnez ensuite Nouveau >> Classe. Saisissez le code suivant : Appium code à l’intérieur de la classe sélectionnée.
Le menu contextuel utilisé pour créer cette classe est présenté ci-dessous.
Étape 4) Dans le même projet, cliquez sur pom.xml dans le menu de l'explorateur situé à gauche. Toutes les dépendances seront visibles par défaut dans l'onglet « pom.xml ». Voir l'image ci-dessous.
Si le fichier pom.xml par défaut n'existe pas, ajoutez simplement tous les éléments Maven. Appium dépendances, par exempletracted du site web du dépôt central Maven :
https://central.sonatype.com/artifact/io.appium/java-client
Le fichier pom.xml modifié avec le Appium Les dépendances ajoutées sont indiquées ci-dessous.
Étape 5) Maintenant, cliquez avec le bouton droit sur « pom.xml » dans l'explorateur de gauche, ou sur le code XML du «AppiumCréez un projet de test. Cliquez ensuite sur l'option « Exécuter en tant que >> Maven Clean », comme indiqué ci-dessous.
Pendant l'exécution, vous pouvez voir tous les fichiers JAR liés à Maven et un message de réussite, comme dans la sortie console ci-dessous. Voici comment exécuter une commande Maven. Appium Java Test de dépendance Maven côté client dans un environnement configuré avec Maven.
Comment courir Appium Tests avec les commandes Maven
Le Eclipse Le menu est pratique, mais la même compilation doit s'exécuter automatiquement sur un serveur de compilation, et dans ce cas, la ligne de commande est la seule option. Ouvrez un terminal dans le dossier contenant le fichier pom.xml et utilisez ces commandes.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Chacun a un rôle bien défini :
- mvn propre supprime le
targetLe répertoire permet de supprimer les fichiers obsolètes lors de la prochaine compilation. Voici la commande : Eclipse Explication détaillée des déclencheurs ci-dessus. - test propre mvn Il compile le projet et exécute les classes de test. Le plugin Maven Surefire les récupère automatiquement depuis
src/test/java, en utilisant les modèles d'inclusion par défautTest*.java,*Test.java,*Tests.javaet*TestCase.java. - mvn propre installer Il exécute les tests puis place l'artefact empaqueté dans votre dépôt local, afin qu'un autre projet puisse en dépendre.
- mvn test -Dtest=LoginTest réduit l'exécution à une seule classe pendant le débogage.
Deux points piègent les gens. Premièrement, le Appium Le serveur doit déjà être en cours d'exécution et un appareil ou un émulateur doit être connecté avant le début de la compilation, car Maven ne lance ni l'un ni l'autre ; vérifiez l'appareil avec un adb Vérifiez d'abord. Ensuite, les résultats sont écrits dans target/surefire-reports, qui est le dossier qu'une tâche d'intégration continue doit archiver. Guide d'utilisation Surefire décrit en détail les options de configuration, et les mêmes commandes permettent de piloter un Appium suite de Jenkins.
Commun Appium Erreurs Maven et comment les corriger
La plupart des échecs dans un Appium Les problèmes de configuration de Maven proviennent généralement de quelques causes récurrentes plutôt que du code de test lui-même. Le tableau ci-dessous associe chaque symptôme à sa solution habituelle.
| Symptôme | Cause probable | Fixer |
| Impossible de résoudre les dépendances pour io.appium:java-client | Chaîne de version incorrecte ou absence d'accès réseau à Maven Central | Copiez les coordonnées directement depuis la liste Maven Central et relancez la compilation. |
| Erreur NoSuchMethodError ou NoClassDefFoundError provenant d'un Selenium classe | Les versions de java-client et selenium-java sont incompatibles. | Correspond à Selenium version conforme à la plage déclarée par la version du client Java |
| Les tests se compilent mais ne s'exécutent pas. | Les classes de test se trouvent dans src/main/java, ou leur nom ne correspond pas à un modèle d'inclusion Surefire. | Déplacez-les vers src/test/java et nommez la classe de manière à ce qu'elle se termine par Test. |
| Connexion refusée sur le port 4723 | Le Appium Le serveur ne fonctionne pas. | Commencer le Appium serveur avant la construction |
| Fonctionnalité non valide ou non prise en charge | Noms de fonctionnalités héritées utilisés avec un pilote moderne | Revvoir le courant capacités souhaitées pour votre plateforme |
| Version majeure du fichier de classe non prise en charge | Le JDK utilisé par Maven diffère du niveau du compilateur dans le fichier pom.xml. | Alignez les propriétés maven.compiler.source et target avec votre configuration installée. JDK |
En cas d'échec d'une compilation, il est préférable de lire la première erreur affichée par Maven plutôt que la dernière. Les lignes suivantes sont généralement la conséquence de l'absence du premier artefact.








