Δοκιμή αυτοματισμού iOS με Xcode Πλαίσιο UI
⚡ Έξυπνη Σύνοψη
Δοκιμή αυτοματισμού iOS με Xcode Καταγράφει και επαναλαμβάνει τις ενέργειες της διεπαφής χρήστη σε μια εφαρμογή υπό δοκιμή, ακολουθώντας έναν κύκλο σχεδιασμού, δοκιμής, υλοποίησης και επανάληψης δοκιμών μέχρι να περάσει κάθε περίπτωση.
Δοκιμή αυτοματισμού iOS με χρήση Xcode
Για να εγγυηθείτε την ποιότητα της εφαρμογής iOS σας, θα πρέπει να ακολουθήσετε τη διαδικασία ανάπτυξης μέσω δοκιμών που φαίνεται στο παρακάτω σχήμα.
Η Δοκιμαστική Ανάπτυξη (TDD) είναι α δοκιμών μοντέλο που εφαρμόζεται στις δοκιμές εφαρμογών iOS και εντάσσεται στην ευρύτερη πρακτική του δοκιμές για κινητάΣε αυτό το μοντέλο, ένας δοκιμαστής πρέπει να ακολουθήσει τις παρακάτω 4 φάσεις:
- σχεδιασμού: Κατανοήστε τι θέλετε να δοκιμάσετε και σχεδιάστε τις δοκιμαστικές σας περιπτώσεις.
- Δοκιμή: Εκτελέστε όλες τις δοκιμές και δείτε εάν κάποια από τις περιπτώσεις δοκιμών αποτύχει.
- Υλοποιώ, εφαρμόζω: RevΔιορθώστε τον κώδικά σας και διορθώστε τα σφάλματα που προκάλεσαν την αποτυχία της δοκιμής.
- Δοκιμή ξανά: Εάν μια δοκιμή αποτύχει, επαναφέρετε τον κώδικα στο σχέδιο. Εάν όλες οι περιπτώσεις δοκιμής είναι επιτυχείς, ο κώδικας πληροί ολόκληρη την απαιτούμενη δοκιμή.
Εγκαθιστώ Xcode Έργο για δοκιμή διεπαφής χρήστη
Για να δημιουργήσετε ένα δοκιμαστικό πρόγραμμα iOS, χρειάζεστε έναν Mac. Ο Mac σας πρέπει να έχει ήδη εγκατεστημένα τα ακόλουθα:
- OS X — το λειτουργικό σύστημα για Mac.
- Xcode IDE — το εργαλείο ανάπτυξης για iOS.
- Ένα αυτοματοποιημένο πλαίσιο δοκιμών — Αυτοματοποίηση UI, OCUnit και ούτω καθεξής.
- iOS SDK 4 ή υψηλότερη.
⚠️ Σημείωση έκδοσης: Οι παραπάνω προϋποθέσεις περιγράφουν την αλυσίδα εργαλείων της εποχής στην οποία γράφτηκαν οι δύο οδηγίες που ακολουθούν. Σε έναν τρέχοντα Mac, Xcode Αποστέλλει τα πλαίσια XCTest και XCUITest στο κουτί και το ξεχωριστό εργαλείο αυτοματισμού UI δεν αποτελεί πλέον μέρος της εγκατάστασης. Τα αρχικά βήματα διατηρούνται παρακάτω επειδή τεκμηριώνουν τον τρόπο λειτουργίας του πλαισίου και το σύγχρονο ισοδύναμο περιγράφεται παρακάτω.
Τρόπος δημιουργίας iOS Automation χρησιμοποιώντας το UI Automation Framework
Τα οκτώ παρακάτω βήματα καταγράφουν ένα σενάριο με το εργαλείο αυτοματισμού και το αναπαράγουν στην υπό δοκιμή εφαρμογή.
Βήμα 1) Εκκίνηση οργάνων
Άνοιγμα XCode -> Άνοιγμα Εργαλείου Προγραμματιστή -> Εργαλείο
Βήμα 2) Προσθήκη οργάνου αυτοματισμού
Στο παράθυρο Όργανα, επιλέξτε το όργανο Αυτοματισμού.
Για να δημιουργήσετε ένα δοκιμαστικό σενάριο, είτε καταγράφετε ένα σενάριο δοκιμής ή το προγραμματίζεις χειροκίνητα.
Βήμα 3) Πατήστε το κόκκινο κουμπί
Ένα όργανο εκκινείται — σταματήστε αμέσως την εγγραφή. Αν θέλετε να ξεκινήσετε την εγγραφή, πατήστε το κόκκινο κουμπί.
Βήμα 4) Δημιουργήστε ένα νέο σενάριο
Στο παράθυρο Σενάρια, κάντε κλικ στις επιλογές Προσθήκη > Δημιουργία για να δημιουργήσετε ένα νέο σενάριο.
Βήμα 5) Επιλέξτε τον στόχο
Βρίσκεστε τώρα στο Tracπαράθυρο e. Χρησιμοποιήστε το κουμπί Επιλογή Target αναπτυσσόμενο μενού για να μεταβείτε στην έκδοση εντοπισμού σφαλμάτων της εφαρμογής σας.
Σε αυτήν την περίπτωση, το δείγμα της Apple SimpleDrillDown Η εφαρμογή χρησιμοποιείται ως η εφαρμογή υπό δοκιμή. Έχει το γραφικό περιβάλλον χρήστη που φαίνεται παρακάτω.
Βήμα 6) Ξεκινήστε την εγγραφή του σεναρίου σας
Καταγράψτε το σενάριό σας πατώντας το κουμπί εγγραφής στο επάνω ή στο κάτω μέρος του εργαλείου.
Τώρα μπορείτε να εκτελέσετε ορισμένες ενέργειες UI στην εφαρμογή σας υπό δοκιμή και το σκριπτ σας καταγράφεται.
Βήμα 7) Δείτε το σενάριό σας
Για να δείτε το σενάριό σας, πατήστε το Trace Αναπτυσσόμενο μενού Αρχείο καταγραφής / Αρχείο καταγραφής προγράμματος επεξεργασίας και μετάβαση στην προβολή αρχείου καταγραφής σεναρίων.
Θα δείτε το ηχογραφημένο σενάριο σας.
Βήμα 8) Παίξτε το σενάριό σας
Πατήστε το κουμπί αναπαραγωγής. Το σενάριο εκτελείται και μπορείτε να το σταματήσετε αφού εμφανιστούν τα αρχεία καταγραφής.
⚠️ Ιστορικό σημείωμα: Το εργαλείο αυτοματισμού που χρησιμοποιήθηκε σε αυτά τα οκτώ βήματα είχε καταργηθεί στο Xcode 8 και αργότερα αφαιρέθηκε, επομένως δεν υπάρχει πλέον στο τρέχον Xcode εγκαταστάσεις. Τα βήματα διατηρούνται εδώ ως αρχείο για το πώς λειτούργησε το πλαίσιο. Για νέες εργασίες, χρησιμοποιήστε την αναλυτική παρουσίαση του XCUITest παρακάτω σε αυτήν τη σελίδα.
Πώς να δημιουργήσετε αυτοματισμό iOS χρησιμοποιώντας το πλαίσιο OCUnit
Η δεύτερη διαδρομή τοποθετεί τις δοκιμές μέσα στο Xcode το ίδιο το έργο και όχι μέσα σε Όργανα.
Βήμα 1) Έναρξη Xcode IDE, Προσθήκη στόχου δέσμης δοκιμής μονάδας
Βήμα 2) Γράψτε το όνομα της νέας δέσμης δοκιμών μονάδας όπως φαίνεται στο παραπάνω σχήμα και, στη συνέχεια, κάντε κλικ στο Τέλος.
Βήμα 3) Ορίστε το Unit Test ως τον ενεργό στόχο
Βήμα 4) Προσθέστε μια ομάδα για δοκιμαστικές τάξεις
Βήμα 5) Προσθέστε μια κλάση δοκιμής μονάδας
Βήμα 6) Τώρα ξεκινήστε την εφαρμογή σας
Το OCUnit χρησιμοποιεί τη γλώσσα Objective-C για να δημιουργήσει το πρόγραμμα δοκιμών, επομένως ο προγραμματιστής πρέπει να γνωρίζει αυτήν τη γλώσσα. Σύγχρονο Xcode εκδόσεις αποστέλλονται δοκιμή μονάδας μέσω του XCTest, το οποίο υποστηρίζει τόσο Objective-C όσο και Swift, αλλά η δομή στόχου και κλάσης που εμφανίζεται σε αυτά τα έξι βήματα παραμένει αμετάβλητη.
UIAutomation vs XCUITest: Τι άλλαξε
Επειδή και τα δύο πλαίσια που χρησιμοποιήθηκαν παραπάνω ανήκουν σε μια παλαιότερη γενιά της αλυσίδας εργαλείων της Apple, αξίζει να είμαστε ακριβείς σχετικά με το τι τα αντικατέστησε και γιατί.
| Άποψη | Αυτοματοποίηση UI (Εργαλεία) | XCUITest |
| Κατάσταση | Καταργήθηκε σε Xcode 8 και αφαιρέθηκε από μεταγενέστερες εκδόσεις | Υποστηριζόμενο πλαίσιο δοκιμών UI της Apple |
| Πού βρίσκονται οι δοκιμές | Σενάρια μέσα σε ένα μουσικό όργανο tracηλεκτρονικό έγγραφο | Ένας στόχος δέσμης δοκιμών UI μέσα στο Xcode project |
| Γλώσσα | JavaΓραφή | Swift ή Objective-C |
| Εκτελών δοκιμής | Το όργανο αυτοματισμού | XCTest, ο ίδιος δρομέας με τις δοκιμές μονάδων |
| Συνεχής ολοκλήρωση | Αμήχανα — οδηγείται μέσα από όργανα | Εκτελείται από τη γραμμή εντολών παράλληλα με τις δοκιμές μονάδας |
| Εγγραφή | Κουμπί εγγραφής στη γραμμή εργαλείων οργάνων | Κουμπί εγγραφής στο Xcode επεξεργαστής, ο οποίος εκπέμπει Swift |
Η πρακτική συνέπεια είναι ότι μια σουίτα XCUITest είναι ένας συνηθισμένος πηγαίος κώδικας έργου. Αναθεωρείται, τροποποιείται και εκτελείται όπως και η υπόλοιπη βάση κώδικα, που είναι ο κύριος λόγος για τον οποίο καταγράφεται-tracΤο μοντέλο e εξαφανίστηκε.
Πώς να γράψετε μια δοκιμή UI iOS με το XCUITest
Το σύγχρονο αντίστοιχο των οκτώ βημάτων των οργάνων είναι σύντομο. Η παρακάτω δομή αντικατοπτρίζει την ίδια ιδέα της ηχογράφησης και της επανάληψης, αλλά η έξοδος είναι ένα αρχείο πηγής και όχι ένα trace.
- Προσθέστε τον στόχο. In Xcode επιλέξτε Αρχείο > Νέο > Target και επιλέξτε το πρότυπο UI Testing Bundle ή επιλέξτε την επιλογή για να συμπεριλάβετε δοκιμές κατά τη δημιουργία ενός νέου έργου.
- Ανοίξτε την δημιουργημένη κλάση δοκιμής. Xcode δημιουργεί μια υποκλάση XCTestCase με κενές μεθόδους εγκατάστασης και δοκιμής.
- Εκκινήστε την εφαρμογή υπό δοκιμή. Δημιουργήστε μια παρουσία XCUIApplication και καλέστε την εκκίνηση σε αυτήν, η οποία ξεκινά την εφαρμογή σε ξεχωριστή διεργασία.
- Ερώτηση και δράση. Προσεγγίστε στοιχεία μέσω των ερωτημάτων στοιχείων — κουμπιά, πίνακες, στατικά κείμενα — και καλέστε tap, typeText ή swipe πάνω τους.
- Διεκδικώ. Χρησιμοποιήστε την XCTAssert για να επαληθεύσετε ότι το αναμενόμενο στοιχείο υπάρχει μετά την ενέργεια.
- Τρέξιμο. Εκτελέστε τη δοκιμή από το Xcode test navigator ή από τη γραμμή εντολών, ώστε η ίδια σουίτα να εκτελείται σε συνεχή ενσωμάτωση.
Μια ελάχιστη δοκιμή ακολουθεί αυτό το σχήμα:
import XCTest final class AppUITests: XCTestCase { func testTappingFirstRowShowsDetail() { let app = XCUIApplication() app.launch() // act on the first row of the list app.tables.cells.element(boundBy: 0).tap() // verify that the next screen appeared XCTAssertTrue(app.staticTexts.firstMatch.waitForExistence(timeout: 5)) } }
Η συσκευή εγγραφής εξακολουθεί να υπάρχει: τοποθετώντας τον κέρσορα μέσα σε μια μέθοδο δοκιμής και πατώντας το κουμπί εγγραφής στον επεξεργαστή, δημιουργούνται αυτόματα αυτά τα ερωτήματα, τα οποία είναι ο άμεσος απόγονος του Βήματος 6 παραπάνω. Οι ευρύτερες αρχές του δοκιμές αυτοματισμού ισχύουν αμετάβλητες.
Δείγμα αυτοματισμού UI Code
Αυτό το άρθρο περιλαμβάνει ορισμένα παραδείγματα πηγαίου κώδικα. Σας βοηθούν να κατανοήσετε το σεμινάριο πιο καθαρά και γρήγορα.
Δείγμα αυτοματισμού UI — δοκιμαστικό σενάριο για την επίδειξη αυτοματισμού περιβάλλοντος εργασίας χρήστη.















