selendroid tutorial android mobile test automation framework
πώς να εκτελέσετε ένα αρχείο torrented
Αυτοματισμός για κινητά χρησιμοποιώντας Selendroid (Μέρος-I):
Μέχρι τώρα, εκατομμύρια εφαρμογές έχουν ήδη αναπτυχθεί χρησιμοποιώντας το Android ως πλατφόρμα και ο αριθμός εξακολουθεί να αυξάνεται μέρα με τη μέρα.
Το αλίευμα είναι, πώς να επικυρώσετε κάθε εφαρμογή; Καθώς θα χρειαζόμαστε αποκλειστικούς πόρους όπως ανθρώπινο δυναμικό, πραγματικές συσκευές (π.χ. κινητό) κ.λπ. και πάλι είναι χρονοβόρα εργασία. Από την άλλη πλευρά, η έκδοση Android, η έκδοση εφαρμογών (.apk), η διάσταση της συσκευής κ.λπ., δεν είναι σταθερές.
Ως εκ τούτου, καθίσταται πολύ δύσκολο να καθοριστούν τα κριτήρια εξόδου δοκιμής, καθώς δεν μπορούμε να καθορίσουμε το πλήρες πεδίο δοκιμών, επομένως δεν μπορεί να γίνει ακριβής εκτίμηση της προσπάθειας δοκιμής.
Προκειμένου να ξεπεραστεί η εξάρτηση από τη συσκευή, αναπτύσσονται εξομοιωτές, οι οποίοι μπορούν να παρέχουν περιβάλλον σε πραγματικό χρόνο, όπου μπορούμε να δοκιμάσουμε την εφαρμογή χωρίς να ανησυχούμε για την έκδοση Android, τις συσκευές και την έκδοσή τους. Όμως, ακόμα ο έλεγχος εφαρμογών (.apk) μέσω εξομοιωτή είναι μια χειροκίνητη δραστηριότητα και μια χρονοβόρα εργασία ακόμη. Εξ ου και εξελίσσεται η ιδέα της αυτοματοποίησης των δοκιμών για κινητά.
Για την εκτέλεση αυτοματισμού για κινητές συσκευές, αναπτύσσεται ένα πλαίσιο δοκιμής αυτοματισμού, το οποίο επιτρέπει την αυτοματοποίηση εφαρμογών που βασίζεται σε Android χρησιμοποιώντας μια γλώσσα δέσμης ενεργειών.
Υπάρχουν πολλά αυτοματοποιημένα πλαίσια όπως Selendroid, Appium, Robotium, Espresso.
Αυτό το σεμινάριο χωρίζεται σε δύο μέρη:
Εκμάθηση # 1 : Selendroid Εισαγωγή: Android Mobile Test Automation Framework
Εκμάθηση # 2: Πώς να χρησιμοποιήσετε το πλαίσιο Selendroid για να αυτοματοποιήσετε τις αλληλεπιδράσεις των χρηστών μέσω μιας εφαρμογής για κινητά (σύντομα)
Τι θα μάθετε:
- Τι είναι το Selendroid;
- Στοιχεία Selendroid
- Περιβαλλοντική ρύθμιση
- Σύνταξη πρώτου σεναρίου χρησιμοποιώντας αρχεία APK σε πραγματικές συσκευές
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τι είναι το Selendroid;
Το Selendroid είναι ένα εκπληκτικό εργαλείο πλαίσιο αυτοματοποίησης δοκιμών εφαρμογών για κινητά Android με πολλές σημαντικές δυνατότητες. Το Selendroid είναι ένα πολύ ισχυρό εργαλείο αυτοματισμού που μπορεί να αλληλεπιδράσει με πολλές συσκευές ταυτόχρονα και μια εφαρμογή μπορεί να ελεγχθεί χωρίς καμία τροποποίηση ή αλλαγή χρησιμοποιώντας το Selendroid.
Ονομάζεται επίσης 'Σελήνιο για Android' για τη δοκιμή εγγενών και υβριδικών εφαρμογών για κινητά και ιστού για κινητά.
Γιατί το Selendroid;
- Είναι ανοιχτού κώδικα (δωρεάν για χρήση)
- Υποστηρίζει το Selenium ως γλώσσα σεναρίου
- Υποστηρίζει γλώσσες συμβατές με προγράμματα οδήγησης ιστού, όπως Java, C #, Perl
- Υποστηρίζει όλες τις εκδόσεις Android
- Λειτουργεί τόσο σε εξομοιωτή όσο και στην πραγματική συσκευή
- Λειτουργεί σε μια εγγενή, υβριδική και διαδικτυακή εφαρμογή
- Αποτελεσματική κατά την εκτέλεση εγγενών εφαρμογών καθώς και εφαρμογών που βασίζονται σε σύννεφο. καθώς υποστηρίζει πλέγμα σεληνίου
- Υποστηρίζει την αναγνώριση αντικειμένων χρησιμοποιώντας ιδιότητες αντικειμένου
- Εύκολο στην εφαρμογή
- Οι συσκευές υλικού μπορούν να αποσυνδεθούν, να αποσυνδεθούν από τον υπολογιστή κατά την εκτέλεση της δοκιμής, χωρίς επανεκκίνηση ή διακοπή της δοκιμής. Το Selendroid μπορεί να αναγνωρίσει αυτόματα τις νέες συσκευές. Αυτή η δυνατότητα είναι γνωστή ως 'Hotplugging'
Μια απλή αρχιτεκτονική του Selendroid
Στοιχεία Selendroid
Selendroid - Πελάτης
Βασικά, είναι μια βιβλιοθήκη πελατών java. Από αυτό το στοιχείο, το αίτημα HTTP & WebDriver αποστέλλεται χρησιμοποιώντας JSON στον διακομιστή Selendroid Standalone.
Selendroid - Αυτόνομο
Αυτό το στοιχείο διαχειρίζεται διαφορετικές συσκευές, καθώς και το .apk's, εγκαθιστώντας τον διακομιστή Selendroid και την υπό δοκιμή εφαρμογή. Το αίτημα Http (που θα εκτελεστεί μέσω πραγματικής συσκευής / προσομοιωτή) αποστέλλεται από τον αυτόνομο διακομιστή Selendroid στη συσκευή και το apk υπό δοκιμή.
Selendroid - Διακομιστής
Αυτός ο διακομιστής τρέχει πάνω από τη συσκευή μαζί με την υπό δοκιμή εφαρμογή. Υπάρχει αμφίδρομη επικοινωνία μεταξύ του διακομιστή καθώς και της υπό δοκιμή εφαρμογής.
AndroidDriverApp
Είναι ένα ενσωματωμένο πρόγραμμα οδήγησης Android, καθώς και μια εφαρμογή Web View για τη δοκιμή του ιστού για κινητά.
Ένα άλλο πλαίσιο δοκιμής ονομάστηκε ως APPI λειτουργεί παρόμοιο με ένα Selendroid.
Εδώ είναι μια μικρή σύγκριση μεταξύ των δύο.
χαρακτηριστικό | Selendroid | άπνοια |
---|---|---|
Υποστήριξη για χαμηλότερη έκδοση Android (<4.1) | Ναί | Μην |
Καυτή σύνδεση | Ναί | Μην |
Δοκιμή παράγοντα χρήστη | Μην | Ναί |
Υποστήριξη για εφαρμογή που βασίζεται σε iOS | Μην | Ναί |
Περιβαλλοντική απαίτηση | Για Android - Mac, Linux, Windows (οποιαδήποτε έκδοση) | Για iOS - Mac OSX 107. Για Android - Windows 7+, Linux, Mac OSX 107. |
Προαπαιτούμενα:
Για να ξεκινήσετε με το προοριζόμενο κοινό θα πρέπει να γνωρίζετε πολύ καλά τη χρήση σεληνίου, οποιαδήποτε εργαλεία IDE όπως το Eclipse κ.λπ.
- Εγκαταστήστε το Intel x86 Emulator Accelerator (δεν είναι υποχρεωτικό) για να δείτε τον προσομοιωτή από εδώ
- Το Java SDK, JRE έχει ήδη εγκατασταθεί σε περιβάλλον δοκιμής. Εναλλακτικά μπορείτε να κατεβάσετε το ίδιο από εδώ
Σημειώστε τη διαδρομή SDK κατά την εγκατάσταση.
Ορίστε τις περιβαλλοντικές μεταβλητές που υπάρχουν πάνω από τον υπολογιστή μου -> κάντε δεξί κλικ -> Properties -> Advance System Setting
- Το Eclipse είναι ήδη εγκατεστημένο στο μηχάνημά σας. Εάν όχι, μπορείτε επίσης να κατεβάσετε το ίδιο από το εδώ
- Πρέπει να κατεβάσετε αρχεία βάζων σεληνίου. Μπορείτε να κατεβάσετε το ίδιο από εδώ επίσης
- Τα βάζα TestNG έχουν ήδη ληφθεί
- Android SDK για λήψη και εγκατάσταση. Μπορείτε επίσης να κατεβάσετε το ίδιο από το εδώ
Σημειώστε τη διαδρομή SDK Android κατά την εγκατάσταση
Μετά τη λήψη, το ANDROID_HOME θα πρέπει να οριστεί στις περιβαλλοντικές μεταβλητές που υπάρχουν πάνω:
Ο Υπολογιστής μου -> κάντε δεξί κλικ -> Ιδιότητες -> Ρύθμιση συστήματος εκ των προτέρων
- Πρέπει να κατεβάσετε αρχεία βάζων Selendroid. Μπορείτε επίσης να κατεβάσετε το ίδιο από το εδώ
Θυμάμαι για να κατεβάσετε το αυτόνομο βάζο Selendroid από την παραπάνω τοποθεσία. Συνήθως, το όνομα είναι σαν selendroid-standalone-0.9.0-with-dependencies.jar. Επίσης, κατεβάστε ένα δείγμα αρχείου APK, δηλ. Selendroid-test-app-0.8.0.apk από την παραπάνω τοποθεσία
Σημείωση:
- Μπορούμε επίσης να χρησιμοποιήσουμε αποθετήριο maven για να δώσετε την αναφορά σε όλα τα βάζα, αλλιώς θα πρέπει να τα κατεβάσετε χειροκίνητα και να το επισυνάψετε στη διαδρομή κατασκευής (Over Eclipse Project)
- Συσκευές / εξομοιωτές - Στο Android, όλες οι εγκατεστημένες εφαρμογές θα έχουν την επέκταση .apk. Με άλλους τρόπους μπορείτε να κατεβάσετε εφαρμογές, όπως Πληροφορίες APK που θα σας ενημερώσουν για τη λίστα εφαρμογών που είναι εγκατεστημένες στη συσκευή σας Android και το πραγματικό της όνομα, το μέγεθος κ.λπ.…
Περιβαλλοντική ρύθμιση
# 1) Διατηρήστε το APK που πρέπει να εγκατασταθεί σε μια σωστή τοποθεσία
Στην περίπτωσή μου το κράτησα G: \ Jars \ selendroid-test-app-0.8.0.apk
# 2) Στη συνέχεια, κρατήστε την εφαρμογή πάνω από το φάκελο του έργου
Στην περίπτωσή μου είναι 500: AppiumAutomation SelendroidFirst
# 3) Συνδέστε την πραγματική συσκευή στον υπολογιστή
Βεβαιωθείτε ότι η λειτουργία εντοπισμού σφαλμάτων USB είναι ενεργοποιημένη και επίσης επιτρέπετε την εγκατάσταση εξωτερικών εφαρμογών μέσω σύνδεσης USB.
Συμβουλές:
ποιο είναι το νεότερο λειτουργικό σύστημα
- Ανατρέξτε στη ρύθμιση εντοπισμού σφαλμάτων USB που απαιτείται για κινητά, π.χ. Redmi Note 3 από εδώ
- Να επιτρέπεται η εγκατάσταση εξωτερικής εφαρμογής μέσω USB, π.χ. Redmi note 3 από εδώ
# 4) Ανοίξτε τη γραμμή εντολών μέσω των Windows
Μεταβείτε στο φάκελο όπου υπάρχει αυτόνομο βάζο Selendroid, καθώς και το αρχείο apk που έχετε κατεβάσει.
Τώρα καθορίστε την παρόμοια εντολή και πατήστε enter στη γραμμή εντολών
Π.χ. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Ή java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Αρχείο APK: selendroid-test-app-0.8.0.apk
Σημείωση: Όταν εκτελείται η παραπάνω εντολή, βεβαιωθείτε ότι το APK είναι υπογεγραμμένο και ότι η πραγματική συσκευή είναι συνδεδεμένη στον υπολογιστή και ότι ο εντοπισμός σφαλμάτων είναι ενεργοποιημένος μέσω της συσκευής.
(Σημείωση: Κάντε κλικ στην εικόνα για μεγέθυνση)
Ελέγξτε τα ακόλουθα σημεία πάνω από τη γραμμή εντολών για να βεβαιωθείτε ότι το περιβάλλον είναι έτοιμο για αυτοματοποίηση:
- Επαλήθευση για μήνυμα 'Η συσκευή καθορίζεται με έγκυρο αριθμό'
- Επαλήθευση για μήνυμα 'ο διακομιστής έχει ξεκινήσει στην προεπιλεγμένη θύρα, πείτε (4444) ...'
- Επαλήθευση για μήνυμα 'Η περίοδος δημιουργίας…'
Και πάλι μπορούμε πάντα να επιβεβαιώσουμε ξανά εάν ένας διακομιστής έχει ξεκινήσει ή όχι χρησιμοποιώντας την ακόλουθη διεύθυνση URL σε οποιοδήποτε από τα προγράμματα περιήγησής σας.
linux βρείτε τη διαφορά μεταξύ δύο αρχείων
π.χ. http: // localhost: 4444 / wd / hub / κατάσταση
# 5) Επιθεώρηση των APK
- Μπορούμε να χρησιμοποιήσουμε πραγματικές εφαρμογές συνδέοντας πραγματικές φορητές συσκευές
- Μπορούμε να χρησιμοποιήσουμε οποιαδήποτε αρχεία APK εκτός σύνδεσης έχουν ληφθεί
Το Selendroid Inspector είναι χρήσιμο για τον εντοπισμό σφαλμάτων / τον έλεγχο των στοιχείων ιστού του APK.
Μόλις εντοπιστεί και ξεκινήσει η συσκευή, μπορούμε να δούμε το APK (σε εικονική λειτουργία) και να βρούμε τις αναφορές, οι οποίες είναι χρήσιμες για τη σύνταξη των σεναρίων, χρησιμοποιώντας την ακόλουθη διεύθυνση URL σε οποιοδήποτε από τα προγράμματα περιήγησής σας.
Π.χ: http: // localhost: 4444 / επιθεωρητής
Εδώ έχουμε το στιγμιότυπο οθόνης της υπό δοκιμή εφαρμογής και έχουμε τη δυνατότητα να ελέγξουμε επίσης το στοιχείο.
Ή μπορείτε πάντα να χρησιμοποιήσετε uiautomatorviewer για να βρείτε τα αντικείμενα από την υπό δοκιμή εφαρμογή.
Η προεπιλεγμένη διαδρομή για αυτό αναφέρεται παρακάτω:
Γ: Χρήστες διαχειριστής android-sdks εργαλεία
C: Χρήστες διαχειριστής - Αυτή είναι η τοποθεσία στην οποία έχω εγκαταστήσει Android SDK, αλλά μπορεί να διαφέρει ανάλογα με την τοποθεσία που καθορίστηκε κατά την εγκατάστασή της.
Σύνταξη πρώτου σεναρίου χρησιμοποιώντας αρχεία APK σε πραγματικές συσκευές
Σκοπός:
- Ξεκινήστε τον διακομιστή (στην προεπιλεγμένη θύρα πείτε 4444)
- Δημιουργήστε μια συνεδρία
- Εγκαταστήστε την εφαρμογή (αρχείο .apk) μέσω της συνδεδεμένης πραγματικής συσκευής
- Αυτοματοποιήστε το πεδίο κειμένου με ορισμένα δεδομένα
- Κάντε αυτόματα κλικ στο κουμπί
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
συμπέρασμα
Το Selendroid είναι ένα πολύ ισχυρό εργαλείο πλαισίου δοκιμών αυτοματισμού που μπορεί να χρησιμοποιηθεί για τη δοκιμή εγγενών, υβριδικών καθώς και εφαρμογών ιστού σε οποιαδήποτε συσκευή Android καθώς και προσομοιωτή.
Υποστηρίζει Hotplugging, πράγμα που σημαίνει ότι ένας χρήστης μπορεί να δοκιμάσει πολλές συσκευές ταυτόχρονα, επομένως είναι δυνατή η παράλληλη εκτέλεση δοκιμών σε πολλές συσκευές. Υποστηρίζει διάφορα είδη αλληλεπιδράσεων όπως παρατεταμένο πάτημα, ενέργειες αφής κ.λπ…
Μόνο η πολυπλοκότητα με αυτήν είναι η περιβαλλοντική ρύθμιση, η οποία υπάρχει και σε άλλα πλαίσια. Μόλις εγκατασταθεί σωστά τότε μπορούμε να εκτελέσουμε τα σενάρια μας χωρίς δυσκολίες.
Σεμέρος 2οαυτού του οδηγού Selendoid, θα καλύψουμε - Πώς να χρησιμοποιήσετε το πλαίσιο Selendroid για να αυτοματοποιήσετε τις αλληλεπιδράσεις των χρηστών μέσω μιας εφαρμογής για κινητά.
Στο επόμενο άρθρο μας, θα συζητήσουμε περισσότερα Tutorial αναθεώρησης hands-on pCloudy.
Συνιστώμενη ανάγνωση
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- SeeTest Automation Tutorial: Ένας οδηγός εργαλείου αυτοματισμού δοκιμών για κινητά
- Εκμάθηση Java Συλλογές Πλαίσιο (JCF)
- Εκμάθηση Java Reflection με παραδείγματα
- Ranorex Tutorial: Ένα ισχυρό εργαλείο επιτραπέζιου υπολογιστή, ιστού και φορητού αυτοματισμού
- Εκπαιδευτικό πρόγραμμα για δοκιμές εφαρμογών Android και iOS για κινητά
- Χρήση του Selendroid για αυτοματοποίηση των αλληλεπιδράσεων χρήστη μέσω μιας εφαρμογής για κινητά (Μέρος 2)
- Προηγμένη χρήση του έργου αυτοματισμού SeeTest σε πραγματικό χρόνο κινητού αυτοματισμού