Robotium Φροντιστήριο: Android Πλαίσιο Δοκιμών με Παράδειγμα
⚡ Έξυπνη Σύνοψη
Robotium είναι ανοιχτού κώδικα Android πλαίσιο αυτοματισμού δοκιμών που οδηγεί εγγενείς και υβριδικές εφαρμογές μέσω της διεπαφής χρήστη τους, επιτρέποντας σε ένα σενάριο δοκιμών λειτουργικά, σενάρια συστήματος και αποδοχής που εκτείνονται σε πολλά Android δραστηριοτήτων.
Τι είναι Robotium?
Robotium Το Ultherapy είναι μια θεραπεία εγκεκριμένη από τον FDA. Χρησιμοποιεί εστιασμένο υπέρηχο για τη θεραπεία συγκεκριμένων περιοχών όπως το πρόσωπο και ο λαιμός. Android πλαίσιο δοκιμών που αυτοματοποιεί τις περιπτώσεις δοκιμών για εγγενείς και υβριδικές εφαρμογές. Χρησιμοποιώντας Robotium, ένας προγραμματιστής μπορεί να δημιουργήσει ισχυρές αυτοματοποιημένες δοκιμαστικές περιπτώσεις GUI για Android εφαρμογές. Ένας προγραμματιστής μπορεί επίσης να γράψει σενάρια λειτουργικών, συστημικών και δοκιμών αποδοχής που καλύπτουν πολλά Android δραστηριοτήτων.
Robotium Πλαίσιο δοκιμών
Το πρότυπο Android Το πλαίσιο δοκιμών φέρει τους περιορισμούς που αναφέρονται παρακάτω.
- Δεν είναι δυνατός ο χειρισμός πολλαπλών δραστηριοτήτων
- Η απόδοση εκτέλεσης της δοκιμής είναι αργή
- Οι δοκιμαστικές περιπτώσεις είναι πολύπλοκες και δύσκολες στην εφαρμογή
The Robotium Το πλαίσιο είναι η καλύτερη επιλογή για τη διεξαγωγή δοκιμών σε ένα Android . To
Robotium είναι ένα πλαίσιο ανοιχτού κώδικα και θεωρείται επέκταση του Android πλαίσιο δοκιμών. Χρησιμοποιώντας Robotium, ένας προγραμματιστής μπορεί να δημιουργήσει ισχυρές αυτοματοποιημένες δοκιμαστικές περιπτώσεις GUI για Android εφαρμογές. Επιπλέον, ένας προγραμματιστής μπορεί να γράψει σενάρια λειτουργικών, συστημικών και δοκιμών αποδοχής που καλύπτουν πολλαπλά Android δραστηριοτήτων.
Ο παρακάτω πίνακας συνοψίζει τα προηγμένα χαρακτηριστικά που διαχωρίζουν Robotium από το απλό πλαίσιο οργάνων.
Προηγμένες δυνατότητες του Robotium
Robotium Μαθήματα δοκιμαστικών περιπτώσεων
Robotium αποστέλλει ένα μικρό σύνολο κλάσεων για δοκιμή και το παράδειγμα του άρθρου εισάγει το παλαιότερο com.jayway.android.robotium.solo πακέτο. Αυτές οι κλάσεις υποστηρίζουν δοκιμαστικές περιπτώσεις που καλύπτουν πολλαπλές δραστηριότητες και Solo είναι ενσωματωμένο με ActivityInstrumentationTestCase2.
Σημείωση: ρεύμα Robotium οι κυκλοφορίες εκθέτουν την ίδια κλάση κάτω από το μικρότερο com.robotium.solo πακέτο, ενώ η συντεταγμένη του Maven παρέμεινε com.jayway.android.robotium:robotium-soloΠροσαρμόστε την εισαγωγή ώστε να ταιριάζει με την έκδοση JAR που προσθέτετε στο έργο.
Το παρακάτω διάγραμμα δείχνει πώς η κλάση Solo τοποθετείται πάνω από την περίπτωση δοκιμής οργάνων.
Ενσωμάτωση του Robotium και Οργανολογία ΔραστηριότηταςTestCase2
Ένας δοκιμαστής μπορεί να γράψει δοκιμαστικές περιπτώσεις χωρίς γνώση του σχεδιασμού της εφαρμογής, γεγονός που καθιστά την προσέγγιση μια μορφή δοκιμή μαύρου κουτιούΑυτό είναι ένα εξαιρετικό πλεονέκτημα σε σύγκριση με το απλό Android τάξεις δοκιμαστικών περιπτώσεων.
Πώς να το χρησιμοποιήσετε: Robotium
Χρησιμοποιώ Robotium σε σας Android δοκιμαστικό έργο, πρέπει να ακολουθήσετε τα παρακάτω βήματα.
Πώς να το χρησιμοποιήσετε: Robotium
Για να εγγυηθούμε την ποιότητα του Android αίτηση, ακολουθήστε την παρακάτω διαδικασία τεσσάρων σταδίων.
- Σχεδιάστε τις προδιαγραφές δοκιμής
- Αναπτύξτε το πρόγραμμα δοκιμών
- Εκτελέστε την δοκιμαστική περίπτωση στη συσκευή-στόχο
- Συλλέξτε το αποτέλεσμα της δοκιμής
Το παρακάτω διάγραμμα ροής τοποθετεί αυτά τα τέσσερα στάδια με τη σειρά.
Android διαδικασία δοκιμής εφαρμογής
ΒΗΜΑ 1) Προδιαγραφή Δοκιμής Σχεδιασμού
Αυτό είναι το πρώτο βήμα στη δοκιμή της εφαρμογής σας. Σε αυτό το βήμα ορίζετε τον στόχο που θα δοκιμαστεί. Android Η εφαρμογή έχει πολλούς στόχους που πρέπει να δοκιμαστούν, όπως το περιβάλλον χρήστη, οι δραστηριότητες, τα στοιχεία και οι υπηρεσίες. Ο σαφής ορισμός του στόχου σάς βοηθά να επιτύχετε ευρεία κάλυψη δοκιμών.
- Σχεδιάστε τους τύπους δοκιμών που θα πρέπει να διεξαχθούν (δοκιμή μονάδας, λειτουργική δοκιμή, δοκιμή συστήματος).
- Σχεδιάστε το καθένα περίπτωση δοκιμής για μέγιστη κάλυψη ενώ διατηρείτεping ο αριθμός των δοκιμαστικών περιπτώσεων είναι μικρός. Όσο περισσότερο κώδικα δοκιμάζετε, τόσο μεγαλύτερη είναι η πιθανότητα έγκαιρης ανίχνευσης σφαλμάτων.
ΒΗΜΑ 2) Σύνταξη προγράμματος δοκιμής
Αυτή η ενότητα σας καθοδηγεί στη συγγραφή ενός Android δοκιμαστικό πρόγραμμα χρησιμοποιώντας Android JUnit δοκιμές και Robotium. Ας υποθέσουμε ότι έχετε ήδη αναπτύξει ένα Android πρόγραμμα με το όνομα HelloAndroidΑυτό το πρόγραμμα έχει τις λειτουργίες που περιγράφονται παρακάτω.
- Εμφανίστε το κείμενο «Γεια σου κόσμε!» στην οθόνη.
- Εμφάνιση ενός Γεια σαςAndroid μήνυμα όταν ο χρήστης πατήσει το κουμπί «Έναρξη».
Το παρακάτω στιγμιότυπο οθόνης δείχνει την εφαρμογή υπό δοκιμή που εκτελείται σε μια συσκευή.
Γεια σαςAndroid εφαρμογή
Απαιτήσεις συστήματος
- The Android η πλατφόρμα διαθέτει προ-ενσωματωμένο JUnit 3 πλαίσιο, το οποίο είναι αυτό που
ActivityInstrumentationTestCase2βασίζεται. - Για να δημιουργήσετε ένα Android δοκιμαστικό έργο από Eclipse, το μηχάνημά σας χρειάζεται λειτουργία Android Εγκατάσταση SDK.
- Εγκαταστήστε το ρεύμα Android SDK πλατφόρμας αντί για μια καρφιτσωμένη παλαιότερη έκδοση.
Τα στιγμιότυπα οθόνης σε αυτήν την αναλυτική παρουσίαση χρησιμοποιούνται Eclipse με το πρόσθετο ADT, το οποίο ήταν η τυπική αλυσίδα εργαλείων όταν γράφτηκε το παράδειγμα. Eclipse Το ADT δεν υποστηρίζεται πλέον, επομένως σε ένα σύγχρονο μηχάνημα θα κατεβάσετε Android Studio αντί αυτού και επαναχρησιμοποιήστε τον ίδιο κώδικα δοκιμής μέσα σε ένα Gradle μονάδα μέτρησης.
Για την Robotium πλαίσιο δοκιμών, κατεβάστε το Robotium βιβλιοθήκη από το Robotium σελίδα του έργου.
Δημιουργία ενός Android Δοκιμαστική εργασία
- Κάντε κλικ στο Αρχείο -> Νέο -> Άλλο
- Επιλέξτε Android -> Android Δοκιμάστε το έργο όπως φαίνεται στο παρακάτω σχήμα και, στη συνέχεια, επιλέξτε Επόμενο
Δημιουργήστε ένα νέο Android δοκιμαστικό έργο
Γράψτε το όνομα του έργου δοκιμής σας. Σύμφωνα με τη σύμβαση ονομασίας, το έργο δοκιμής θα πρέπει να ονομάζεται "Γεια".AndroidΔοκιμή".
Προσθέστε το όνομα του δοκιμαστικού έργου με βάση τη σύμβαση ονομασίας
Επιλέξτε την εφαρμογή-στόχο που βρίσκεται υπό δοκιμή. Σε αυτήν την περίπτωση, είναι το Hello.Androidκαι, στη συνέχεια, κάντε κλικ στο Τέλος.
Επιλέξτε την εφαρμογή-στόχο που βρίσκεται υπό δοκιμή
Δημιουργήστε δοκιμαστικές σουίτες
Με βάση τις προδιαγραφές δοκιμής σας, τώρα δημιουργείτε σουίτες δοκιμών για το πρόγραμμα δοκιμών σας. Μπορείτε να επιλέξετε από διάφορα δοκιμές λογισμικού πλαίσια. Αυτό το σεμινάριο χρησιμοποιεί το πρότυπο Android πλαίσιο δοκιμών ActivityInstrumentationTestCase2Για δοκιμή με Robotium, πρόσθεσε το Robotium αρχείο βιβλιοθήκης σε ένα libs κατάλογο μέσα στον φάκελο του έργου σας.
Μια δοκιμαστική περίπτωση ορίζει το εξάρτημα που χρησιμοποιείται για την εκτέλεση πολλαπλών δοκιμών. Για να ορίσετε μια δοκιμαστική περίπτωση, ακολουθήστε την παρακάτω δομή προγράμματος.
- Υλοποιήστε μια υποκλάση του TestCase.
- Ορίστε μεταβλητές στιγμιότυπου που αποθηκεύουν την κατάσταση του fixture.
- Αρχικοποιήστε την κατάσταση του εξαρτήματος παρακάμπτοντας την setUp().
- Καθαρίστε μετά από μια δοκιμή παρακάμπτοντας την tearDown().
Το παρακάτω διάγραμμα απεικονίζει αυτή τη δομή στο πρόγραμμα δοκιμών που πρόκειται να γράψετε.
Δομή προγράμματος δοκιμών
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // super.setUp(); mActivity = this.getActivity(); solo = new Solo(getInstrumentation(),getActivity()); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
Προσθήκη δοκιμαστικών περιπτώσεων
- Στο ίδιο πακέτο με τη σουίτα δοκιμών, δημιουργήστε τις κλάσεις TestCase.
- Για να δοκιμάσετε μια συγκεκριμένη δραστηριότητα, για παράδειγμα HelloAndroid, δημιουργήστε μια δοκιμαστική περίπτωση που επεκτείνει το ActivityInstrumentationTestCase2Android>.
- Μέσα σε αυτήν την κλάση, ο ελεγκτής λαμβάνει την υπό δοκιμή δραστηριότητα μέσω της μεθόδου getActivity().
- Δημιουργήστε ελεύθερα ένα τεστ για τη δραστηριότητα προσθέτοντας μια μέθοδο με το όνομα "test + original method name".
- Μέσα στη μέθοδο δοκιμής, ο ελεγκτής μπορεί να χρησιμοποιήσει Android JUnit συναρτήσεις για να συγκρίνουν την πραγματική τιμή με την αναμενόμενη τιμή. Αυτές οι μέθοδοι εμφανίζονται παρακάτω.
Ο παρακάτω πίνακας παραθέτει τις μεθόδους ισχυρισμού και αλληλεπίδρασης που χρησιμοποιούνται συχνότερα στα δύο πλαίσια.
Παραδείγματα μεθόδων Robotium και την Android πλαίσιο δοκιμών
Η παραπάνω σουίτα δοκιμών επαληθεύει ότι το γραφικό περιβάλλον χρήστη της εφαρμογής εμφανίζει το κείμενο "Hello World!" και περιέχει ένα κουμπί με το όνομα "Start".
ΒΗΜΑ 3) Εκτελέστε τη δοκιμή
Αφού ολοκληρώσετε τη σύνταξη του προγράμματος δοκιμών σας, εκτελέστε το τεστ ακολουθώντας τα παρακάτω βήματα.
- Συνδέστε ένα Android συσκευή στον υπολογιστή σας ή ξεκινήστε έναν εξομοιωτή εάν δεν υπάρχει διαθέσιμη πραγματική συσκευή.
- Στο IDE σας, κάντε δεξί κλικ στο δοκιμαστικό έργο και επιλέξτε Εκτέλεση ως → Android Δοκιμή Μονάδας.
Το παρακάτω στιγμιότυπο οθόνης δείχνει την εκτέλεση της δοκιμής που ξεκινά από το IDE.
Εκτέλεση του δοκιμαστικού προγράμματος
Εκτός από την εκτέλεση της δοκιμής από το IDE, μπορείτε να την εκτελέσετε και από τη γραμμή εντολών. Σε αυτό το πρόγραμμα δοκιμών, το πακέτο δοκιμών είναι com.example.helloandroid.testΣε ένα τερματικό Linux, χρησιμοποιήστε την ακόλουθη εντολή για να εκτελέσετε κάθε δοκιμή σε αυτό το πακέτο.
$ adb shell am instrument -w -e package com.example.helloandroid.test
ΒΗΜΑ 4) Λάβετε το αποτέλεσμα της εξέτασης
Αφού εκτελεστεί η δοκιμή, συλλέγετε τα αποτελέσματα της δοκιμής.
Σε αυτό το πρόγραμμα δοκιμών εκτελούνται τέσσερις μέθοδοι δοκιμών. Στην παρακάτω εκτέλεση, όλες οι περιπτώσεις δοκιμών ολοκληρώθηκαν με επιτυχία.
Έξοδος αποτελέσματος δοκιμής όταν όλες οι περιπτώσεις δοκιμής περάσουν
Εάν μια δοκιμαστική περίπτωση αποτύχει, εμφανίζεται η έξοδος και σας δείχνει ποιες δοκιμαστικές περιπτώσεις απέτυχαν.
Έξοδος αποτελέσματος δοκιμής όταν μια δοκιμαστική περίπτωση αποτύχει
Πηγή Code Παραδείγματα
Αυτό το άρθρο περιλαμβάνει παραδείγματα πηγαίου κώδικα που σας βοηθούν να παρακολουθήσετε το σεμινάριο με μεγαλύτερη σαφήνεια και να κατανοήσετε γρήγορα τις τεχνικές λεπτομέρειες.
- Γεια σαςAndroid: η εφαρμογή υπό δοκιμή.
- Γεια σαςAndroidΔοκιμή: το πρόγραμμα δοκιμής που χρησιμοποιεί το Android πλαίσιο δοκιμών.
Αν θέλετε συγκρίνετε Robotium με τις άλλες επιλογές σε αυτόν τον χώρο, δείτε το δοκιμή εφαρμογών για κινητά οδηγός, ο Appium φροντιστήριο και η συλλογή των εργαλεία δοκιμής εφαρμογών για κινητά.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)