Appium Εξάρτηση Maven: Ρύθμιση με Eclipse Παράδειγμα έργου
⚡ Έξυπνη Σύνοψη
Appium Η διαχείριση εξαρτήσεων του Maven επιτρέπει σε ένα έργο αυτοματισμού για κινητά να δηλώσει το artifact του java-client στο pom.xml, έτσι ώστε το Maven να επιλύει αυτόματα κάθε jar και η ίδια έκδοση να εκτελείται σε οποιοδήποτε μηχάνημα χωρίς χειροκίνητες λήψεις.

Τι είναι Apache Maven?
Apache Maven είναι ένα Java-Βασισμένο εργαλείο διαχείρισης έργου και αυτοματισμού. Παρέχει ένα πλαίσιο πολλαπλών εργασιών για προγραμματιστές για να διευκολύνουν τον πλήρη κύκλο ζωής του build Java εφαρμογές. Το Maven είναι προκαθορισμένο και δηλωμένο σε μορφή XML που ονομάζεται POM (Project Object Model) και αναφέρεται ως "pom.xml". Μπορεί επίσης να χρησιμοποιηθεί για άλλες γλώσσες όπως C#, Scala, Ruby κ.λπ.
Χρησιμοποιώντας το πλαίσιο Maven, μπορείτε εύκολα να διαχειριστείτε τις ακόλουθες εργασίες σε οποιοδήποτε έργο:
- Δημιουργία κύκλου
- Τεκμηρίωση Έργου
- Έλεγχοι αναφοράς
- Διαχείριση Scrums
- Πληροφορίες Έκδοσης
Οι βασικές χρήσεις του Maven είναι:
- Επιβάλλει μια τυπική δομή καταλόγου.
- Παρέχετε μια επαναχρησιμοποιήσιμη και εύκολη στη συντήρηση δομή του έργου.
- Επίλυση εξαρτήσεων πακέτων.
- Παρέχετε ένα πλαίσιο διαχείρισης διαμόρφωσης.
Αυτή η ικανότητα επίλυσης εξαρτήσεων είναι ακριβώς αυτό που ένας Appium ανάγκες του έργου, επειδή Java ο πελάτης τραβάει μια αλυσίδα από Selenium jars που κανείς δεν θέλει να κατεβάσει χειροκίνητα.
Λήψη Appium Εξαρτήσεις Maven
Πριν ξεκινήσετε να γράφετε ένα Appium δοκιμή εξάρτησης με το Maven, πρέπει να κατεβάσετε το Appium Εξάρτηση από το Maven — η Appium Αρχείο λήψης JAR — από το Ιστότοπος κεντρικού αποθετηρίου MavenΤο παρακάτω στιγμιότυπο οθόνης δείχνει την καταχώριση artifact του java-client στο Maven Central, όπου είναι διαθέσιμη κάθε δημοσιευμένη έκδοση και το έτοιμο απόσπασμά της.
Ή προσθέστε απευθείας το τεχνούργημα POM.xml που αναφέρεται παρακάτω:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Σημείωση έκδοσης: ο 3.4.1 Η παραπάνω συντεταγμένη είναι το αρχικό παράδειγμα και εξακολουθεί να δείχνει το σωστό σχήμα του μπλοκ. Προηγείται του πρωτοκόλλου W3C WebDriver, επομένως ένα νέο έργο θα πρέπει να αναβαθμίσει την έκδοση. Κατά τη στιγμή της συγγραφής, η τρέχουσα έκδοση στο Maven Central είναι 10.1.1, που απαιτεί Selenium 4.42.0 ή μεταγενέστερα.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Παρακαλώ περάστε από το δικό μας Εκμάθηση Maven για να μάθετε πώς να ρυθμίζετε τις παραμέτρους του Maven με Eclipse.
Appium Δομή Έργου Maven και Απαιτούμενες Εξαρτήσεις
Το Maven επιβάλλει μια σταθερή διάταξη και γνωρίζοντας ότι αποτρέπει το μεγαλύτερο μέρος της σύγχυσης που ακολουθεί αργότερα σε αυτήν την αναλυτική παρουσίαση. Ένα δημιουργημένο έργο περιέχει τέσσερις τοποθεσίες που έχουν σημασία:
- pom.xml — το Μοντέλο Αντικειμένου Έργου στη ρίζα του έργου, όπου δηλώνεται κάθε εξάρτηση και πρόσθετο (plugin).
- src / main / java — κλάσεις εφαρμογών και βοηθητικές κλάσεις.
- src/test/java — δοκιμαστικές κλάσεις και ο μόνος κατάλογος που σαρώνει το πρόσθετο Surefire όταν εκτελείτε μια έκδοση.
- στόχος — συγκέντρωσε αναφορές εξόδου και δοκιμών, οι οποίες αναδημιουργήθηκαν σε κάθε έκδοση.
The Appium Το java-client είναι η μόνη υποχρεωτική εξάρτηση, επειδή δηλώνει το Selenium API, απομακρυσμένο πρόγραμμα οδήγησης και αντικείμενα υποστήριξης μεταβατικά. Πολλές ομάδες εξακολουθούν να καρφιτσώνουν Selenium ρητά ώστε η έκδοση να είναι ορατή σε ένα μέρος και να προσθέσετε έναν δοκιμαστικό εκτελέστη:
<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>
Διατηρήστε τις δύο εκδόσεις συμβατές. Μια έκδοση Java-client αναφέρει το Selenium εύρος που υποστηρίζει και συνδυάζοντας έναν παλιό πελάτη με έναν πολύ νεότερο Selenium είναι η πιο συνηθισμένη αιτία ενός NoSuchMethodError κατά τον χρόνο εκτέλεσης. αποθετήριο java-client καταγράφει την αντιστοίχιση για κάθε κυκλοφορία.
Δοκιμή εφαρμογής με Appium και Maven
Με την εξάρτηση σε ισχύ, το Eclipse η παρακάτω ροή εργασίας δημιουργεί ένα εκτελέσιμο έργο από την αρχή. Μετά τη διαμόρφωση του Appium Java Πρόσθετο Maven Eclipse, ο χώρος εργασίας είναι έτοιμος να δοκιμάσει οποιαδήποτε Android .apk εφαρμογή με Appium και Maven, όπως φαίνεται στο Appium Παράδειγμα έργου Maven παρακάτω.
Βήμα 1) Στο στάδιο αυτό,
- Μεταβείτε στο NEW >> επιλέξτε το έργο Maven
- Κάντε κλικ στο κουμπί «επόμενο»
Ο οδηγός νέου έργου ανοίγει με επισημασμένο το Maven Project, όπως φαίνεται εδώ.
Βήμα 2) Στη συνέχεια, στο παράθυρο 'New Maven Project', πληκτρολογήστε 'Appium Test' στις στήλες Group Id και Artifact Id. Σε αυτό το βήμα, πρέπει να εισαγάγετε:
- Αναγνωριστικό ομάδας
- Αναγνωριστικό τεχνουργήματος
- Έκδοση
- συσκευασία
- Όνομα και Descriptιόν
- φινίρισμα
Η συμπληρωμένη φόρμα του New Maven Project μοιάζει με το παρακάτω στιγμιότυπο οθόνης.
Κάνοντας κλικ στο κουμπί Τέλος, θα ανοίξει μια νέα κλάση με το καθορισμένο αναγνωριστικό ομάδας (AppiumΔοκιμή) όνομα.
Βήμα 3) Για να ξεκινήσετε με το Appium script, κάντε δεξί κλικ στο 'src/main/java' στο αριστερό παράθυρο της εξερεύνησης. Στη συνέχεια, επιλέξτε Νέα >> κλάση. Γράψτε την Appium κωδικός μέσα στην επιλεγμένη τάξη.
Το μενού περιβάλλοντος που χρησιμοποιήθηκε για τη δημιουργία αυτής της κλάσης εμφανίζεται παρακάτω.
Βήμα 4) Στο ίδιο έργο, κάντε κλικ στο pom.xml στο αριστερό μενού εξερεύνησης. Όλες οι εξαρτήσεις θα είναι ορατές από προεπιλογή στην καρτέλα 'pom.xml'. Ανατρέξτε στην παρακάτω εικόνα.
Εάν το προεπιλεγμένο pom.xml δεν υπάρχει, τότε απλώς προσθέστε όλα τα Maven Appium εξαρτήσεις, π.χ.tracαπό την ιστοσελίδα του κεντρικού αποθετηρίου Maven:
https://central.sonatype.com/artifact/io.appium/java-client
Το επεξεργασμένο pom.xml με το Appium Οι εξαρτήσεις που προστέθηκαν εμφανίζονται παρακάτω.
Βήμα 5) Τώρα, κάντε δεξί κλικ στο 'pom.xml' στην αριστερή εξερεύνηση ή στον κώδικα XML για το 'AppiumΈργο Test'. Στη συνέχεια, κάντε κλικ στην επιλογή 'Εκτέλεση ως >> Maven Clean', όπως φαίνεται παρακάτω.
Κατά την εκτέλεση, μπορείτε να δείτε όλα τα αρχεία jar που σχετίζονται με το Maven και ένα μήνυμα επιτυχίας, όπως στην έξοδο της κονσόλας παρακάτω. Έτσι εκτελείτε ένα Appium Java δοκιμή εξάρτησης Maven πελάτη σε περιβάλλον διαμορφωμένο από Maven.
Τρόπος εκτέλεσης Appium Δοκιμές με εντολές Maven
The Eclipse Το μενού είναι βολικό, αλλά η ίδια έκδοση πρέπει να εκτελείται χωρίς παρακολούθηση σε έναν διακομιστή έκδοσης, και εκεί η γραμμή εντολών είναι η μόνη επιλογή. Ανοίξτε ένα τερματικό στον φάκελο που περιέχει το pom.xml και χρησιμοποιήστε αυτές τις εντολές.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Ο καθένας έχει μια ξεχωριστή δουλειά:
- mvn καθαρό διαγράφει το
targetκατάλογο, ώστε τίποτα παλιό να μην επιβιώνει στην επόμενη έκδοση. Αυτή είναι η εντολή Eclipse αναλυτική παρουσίαση πάνω από τους εναύσματα. - δοκιμή καθαρού mvn μεταγλωττίζει το έργο και εκτελεί τις κλάσεις δοκιμών. Το πρόσθετο Maven Surefire τις αναλαμβάνει αυτόματα από
src/test/java, χρησιμοποιώντας τα προεπιλεγμένα μοτίβα συμπερίληψηςTest*.java,*Test.java,*Tests.javaκαι*TestCase.java. - καθαρή εγκατάσταση mvn εκτελεί τις δοκιμές και στη συνέχεια τοποθετεί το συσκευασμένο τεχνούργημα στο τοπικό σας αποθετήριο, ώστε ένα άλλο έργο να μπορεί να βασιστεί σε αυτό.
- mvn test -Dtest=LoginTest περιορίζει την εκτέλεση σε μία μόνο κλάση ενώ κάνετε εντοπισμό σφαλμάτων.
Δύο σημεία αποθαρρύνουν τους ανθρώπους. Πρώτον, το Appium Ο διακομιστής πρέπει να εκτελείται ήδη και να έχει συνδεθεί μια συσκευή ή ένας εξομοιωτής πριν ξεκινήσει η δημιουργία, επειδή το Maven δεν εκκινεί κανένα από τα δύο — επαληθεύστε τη συσκευή με ένα adb ελέγξτε πρώτα. Δεύτερον, τα αποτελέσματα γράφονται σε target/surefire-reports, ο οποίος είναι ο φάκελος που θα πρέπει να αρχειοθετήσει μια εργασία CI. Οδηγός χρήσης Surefire καλύπτει λεπτομερώς τις επιλογές διαμόρφωσης και οι ίδιες εντολές οδηγούν ένα Appium σουίτα από Jenkins.
Κοινός Appium Σφάλματα Maven και πώς να τα διορθώσετε
Οι περισσότερες αποτυχίες σε ένα Appium Η εγκατάσταση του Maven προέρχεται από μια σειρά επαναλήψιμων αιτιών και όχι από τον ίδιο τον κώδικα δοκιμής. Ο παρακάτω πίνακας αντιστοιχίζει κάθε σύμπτωμα με τη συνήθη επίλυσή του.
| Σύμπτωμα | Πιθανή αιτία | σταθερός |
| Δεν ήταν δυνατή η επίλυση των εξαρτήσεων για το io.appium:java-client | Λάθος συμβολοσειρά έκδοσης ή δεν υπάρχει πρόσβαση δικτύου στο Maven Central | Αντιγράψτε τη συντεταγμένη απευθείας από την καταχώριση του Maven Central και εκτελέστε ξανά την κατασκευή |
| NoSuchMethodError ή NoClassDefFoundError από ένα Selenium τάξη | Οι εκδόσεις java-client και selenium-java δεν είναι συμβατές | Ταίριαξε το Selenium έκδοση στο εύρος που δηλώνει η έκδοση java-client |
| Οι δοκιμές μεταγλωττίζονται αλλά καμία δεν εκτελείται | Οι δοκιμαστικές κλάσεις βρίσκονται στο src/main/java ή το όνομα της κλάσης δεν ταιριάζει με ένα μοτίβο συμπερίληψης Surefire. | Μετακινήστε τα στο src/test/java και ονομάστε την κλάση έτσι ώστε να τελειώνει σε Test |
| Η σύνδεση απορρίφθηκε στη θύρα 4723 | The Appium ο διακομιστής δεν λειτουργεί | Ξεκινήστε το Appium διακομιστή πριν από την κατασκευή |
| Μη έγκυρη ή μη υποστηριζόμενη δυνατότητα | Ονόματα παλαιών δυνατοτήτων που χρησιμοποιούνται με ένα σύγχρονο πρόγραμμα οδήγησης | Revδείτε το ρεύμα επιθυμητές δυνατότητες για την πλατφόρμα σας |
| Μη υποστηριζόμενη κύρια έκδοση αρχείου κλάσης | Το JDK που χρησιμοποιείται από το Maven διαφέρει από το επίπεδο μεταγλωττιστή στο pom.xml | Ευθυγραμμίστε τις ιδιότητες maven.compiler.source και target με τις εγκατεστημένες σας JDK |
Όταν μια κατασκευή αποτυγχάνει, διαβάστε το πρώτο σφάλμα που εκτυπώνει το Maven και όχι το τελευταίο. Οι τελευταίες γραμμές είναι συνήθως συνέπειες του πρώτου χαμένου τεχνουργήματος.








