Appium Επιθυμητές Δυνατότητες για Android Εξομοιωτής [Παράδειγμα]

Αυτό το σεμινάριο θα σας βοηθήσει να κατανοήσετε το εργαλείο αυτοματισμού APPIUM. Θα καλύψει τις επιθυμητές δυνατότητες και το APPIUM με χρήσεις Maven.

Σε αυτό το σεμινάριο, θα μάθετε-

Τι είναι οι Επιθυμητές Δυνατότητες

Οι «Επιθυμητές Δυνατότητες» μας βοηθούν να τροποποιήσουμε τη συμπεριφορά του διακομιστή κατά την Αυτοματοποίηση. Σε Appium, είναι ένας τύπος ζεύγους hashmap ή κλειδιού-τιμής, που χρησιμοποιείται για την αποστολή εντολής στον διακομιστή APPIUM. Στο APPIUM, όλες οι εντολές πελάτη εκτελούνται στο πλαίσιο μιας συνεδρίας.

Για παράδειγμα, ένας πελάτης έστειλε αίτημα POST/session που περιέχει αντικείμενο JSON στον διακομιστή APPIUM.

Ως εκ τούτου, για την αποστολή οποιουδήποτε επιθυμητού αιτήματος ή για τη διατήρηση οποιασδήποτε επιθυμητής συνεδρίας με τον διακομιστή, χρησιμοποιείται ένα σύνολο ζεύγους κλειδιού και τιμών. Αυτό είναι γνωστό ως «Επιθυμητές Δυνατότητες».

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
{
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
}

Σημαντικός ρόλος της επιθυμητής ικανότητας-

  • Οι 'DesiredCapabilities' βοηθούν τον χρήστη να ελέγχει το αίτημα συνεδρίας με τον διακομιστή. Για παράδειγμα- αν θέλουμε συνεδρία iOS, τότε μπορεί να ορίσουμε το Capability ως PlatformName = iOS. Ή αν θέλουμε Android συνεδρία τότε μπορεί να ορίσουμε το Capability ως PlatformName = Android.
  • Οι "DesiredCapabilities" χρησιμοποιούνται για τη ρύθμιση της παρουσίας του προγράμματος οδήγησης Web, π.χ. FirefoxΠρόγραμμα οδήγησης, ChromeDriver, InternetExplorerDriver κ.λπ.
  • Το DesiredCapability είναι πολύ χρήσιμο για Selenium Πλέγμα. Π.χ.: Χρησιμοποιείται για πρόσβαση σε διαφορετικές περιπτώσεις δοκιμής σε διαφορετικό πρόγραμμα περιήγησης και διαφορετικό λειτουργικό σύστημα. Με βάση το αναφερόμενο πλέγμα DesiredCapability, το hub θα δείχνει στον αντίστοιχο κόμβο. Εδώ, αυτοί οι κόμβοι ορίζονται χρησιμοποιώντας τη μέθοδο ιδιοτήτων «set», π.χ.:-
    DesiredCapabilities obj = new DesiredCapabilities(); 
    obj.setBrowserName("firefox"); 
    obj.setVersion("18.0.1"); 
    obj.setPlatform(org.openqa.selenium.Platform.WINDOWS);					
    
  • Μια επιθυμητή δυνατότητα είναι ένα πακέτο που ορίζεται από τη βιβλιοθήκη. Πριν από τη χρήση του "DesiredCapabilities", θα πρέπει να εισαχθεί από την παρακάτω βιβλιοθήκη
    Org.openqa.selenium.remote.DesiredCapabilities

Το APPIUM υποστηρίζει και τα δύο Android και iOS. Επομένως, υπάρχει ένα ξεχωριστό σύνολο Appium δυνατότητες διακομιστή.

Ο παρακάτω πίνακας απεικονίζει ορισμένα που χρησιμοποιούνται συνήθως Android δυνατότητες και η αξία χρήσης του-

Δυνατότητες Descriptιόν Αξίες/Χρήσεις
πακέτο εφαρμογών Επιθυμητή κλήση Java πακέτο στο android που θέλει να τρέξει ο χρήστης Value= com.example.myapp/

Obj.setCapability ("appPackage", "com.whatsapp");

AppActivity Δραστηριότητα εφαρμογής που ο χρήστης θέλει να ξεκινήσει από το πακέτο. Τιμή= MainActivity, .Ρυθμίσεις

Obj.setCapability("appActivity", "com.whatsapp.Main");

appWaitPackage Πακέτο από το οποίο πρέπει να περιμένει η εφαρμογή Value=com.example.android.myapp
appWaitActivity Κάθε Android δραστηριότητα που ο χρήστης χρειάζεται χρόνο αναμονής Τιμή= SplashActivity

capabilities.setCapability("appWaitActivity", "com.example.game.SplashActivity")

ΣΗΜΕΊΩΣΗ– Ανατρέξτε σε αυτόν τον σύνδεσμοhttps://appium.io/docs/en/2.0/Για να δείτε περισσότερα Android Δυνατότητες

Ο παρακάτω πίνακας απεικονίζει ορισμένες κοινώς χρησιμοποιούμενες δυνατότητες iOS και την αξία χρήσης του-

Δυνατότητες Descriptιόν Αξίες
LaunchTimeout Συνολικός χρόνος (σε ms) για αναμονή για όργανα. 2000
ΕΣΥ ΤΟ ΕΚΑΝΕΣ Για να προσδιορίσετε τον μοναδικό αριθμό συσκευής για συνδεδεμένη φυσική συσκευή 166aestu4

ΣΗΜΕΙΩΣΗ- Ανατρέξτε σε αυτόν τον σύνδεσμο 'https://appium.io/docs/en/2.0/guides/caps/Για να δείτε περισσότερες δυνατότητες iOS

Εξαγωγή πληροφοριών για Πακέτα & Δραστηριότητες

Τα πακέτα σχετίζονται με ομαδικά αρχεία ή τάξεις. Δίνει μια οργανωμένη δομή στον αρθρωτό προγραμματισμό. Σε Java, διαφορετικά πακέτα αποθηκεύονται σε ένα μόνο αρχείο Jar. Ο χρήστης μπορεί εύκολα να καλέσει το αρχείο jar για πλήρη εκτέλεση. Παρόμοιες έννοιες ακολουθούνται στον κόσμο ανάπτυξης εφαρμογών για κινητά.

In Android λειτουργικό σύστημα, όλες οι εφαρμογές εγκαθίστανται με τη μορφή πακέτων JAVA. Ως εκ τούτου, για την εξαγωγή πληροφοριών διαδρομής πακέτων, Android Χρησιμοποιείται η κλάση PackageManager.

Ανακτά πληροφορίες πακέτου και δραστηριότητας της εφαρμογής πριν και μετά την εγκατάσταση. Είναι εγκατεστημένο σε Android συσκευές.

Μπορείτε να λάβετε μια παρουσία της κλάσης PackageManager καλώντας την getPackageManager().

Αυτή η μέθοδος μπορεί να έχει πρόσβαση και να χειρίζεται τα πακέτα και τα σχετικά δικαιώματα των εγκατεστημένων εφαρμογών.

Για παράδειγμα -

PackageManager pManager = getPackageManager();
List<ApplicationInfo> list = pManager.getInstalledApplications(PackageManager.GET_META_DATA)

Σύνοψη

  • Η επιθυμητή ικανότητα εκτελείται πάντα σε ζεύγος κλειδιού-τιμής για αποστολή εντολής στον διακομιστή APPIUM .
  • Χρησιμοποιήστε την κλάση «PackageManager» για εξαγωγή πληροφοριών εφαρμογής Android.