Κοινή χρήση τεχνολογίας

[python appium] αυτοματοποιημένη δοκιμή

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Η σειρά αυτοματοποιημένων δοκιμών python+appium πλησιάζει στο τέλος της. Ας κάνουμε μια περίληψη σε αυτό το ιστολόγιο.

Πρώτα απ 'όλα, θα ήθελα να εξηγήσω ότι οι αυτοματοποιημένες δοκιμές APP μπορεί να μην χρησιμοποιούνται από πολλές εταιρείες, αλλά απαιτείται επίσης από τις περισσότερες πληροφορίες πρόσληψης θέσεων εργασίας αυτοματοποιημένων μηχανικών δοκιμών και ανώτερων μηχανικών δοκιμών, επομένως για να έχουμε καλύτερη αντιμετώπιση, χρειαζόμαστε ακόμα να ξοδέψω χρόνο για να το κατακτήσω.

Στη συνέχεια, ας συνοψίσουμε τις ιδέες για την αυτοματοποιημένη δοκιμή διεπαφής χρήστη APP.

1. Επιλογή γλώσσας ανάπτυξης
Οι γλώσσες προγραμματισμού που χρησιμοποιούνται συνήθως για αυτοματοποιημένες δοκιμές περιλαμβάνουν: Python, Java, Javascript, Ruby, C#, PHP κ.λπ. Γενικά, θα επιλέξουμε μια γλώσσα προγραμματισμού με την οποία γνωρίζουμε για τη σύνταξη αυτοματοποιημένων σεναρίων, αλλά για παιδιά που έχουν βασικά μηδενική βάση προγραμματισμού (ή παιδιά που επικεντρώνονται σε αυτοματοποιημένες δοκιμές), συνιστάται να μάθουν να χρησιμοποιούν Python.

Σε σύγκριση με άλλες γλώσσες, η Python έχει τα ακόλουθα πλεονεκτήματα για αυτοματοποιημένες δοκιμές:

Για αρχάριους, η Python έχει μια συνοπτική σύνταξη, είναι ευανάγνωστη και είναι εύκολη στην εκμάθηση.

Υπάρχουν ισχυρές βιβλιοθήκες τρίτων που κάνουν το σενάριο πιο αποτελεσματικό.

Το αυτοματοποιημένο πλαίσιο δοκιμών Pytest στην Python είναι ένα από τα πιο δημοφιλή πλαίσια δοκιμών αυτή τη στιγμή

2. Επιλογή πλαισίου δοκιμής διεπαφής χρήστη
Αφού επιλέξουμε μια γλώσσα ανάπτυξης, πρέπει να επιλέξουμε ένα πλαίσιο δοκιμής διεπαφής χρήστη. Επί του παρόντος, τα πιο mainstream ή ευρέως χρησιμοποιούμενα πλαίσια δοκιμών αυτοματισμού APP UI περιλαμβάνουν το Appium, το Airtest κ.λπ.

1,Appium
Ανοιχτή πηγή

Ο διακομιστής Appium υποστηρίζει την εκτέλεση σε Windows, macOS και Linux

Υποστηρίζει πολλές κύριες γλώσσες προγραμματισμού, όπως Python, Java, Javascript, Ruby κ.λπ.

Υποστήριξη αυτόματης δοκιμής Android, ios, H5 (ενσωματωμένο UiAutomator, πλαίσιο UiAutomation)

Η κατασκευή του περιβάλλοντος είναι πιο περίπλοκη

2, Airtest
Αναπτύχθηκε από το NetEase (επίσημο έγγραφο), υποστηρίζει μόνο γλώσσα python

Παρέχει ένα ισχυρό IDE που ενσωματώνει τα πλαίσια δοκιμών Airtest και Poco, το οποίο είναι πολύ φιλικό στους αρχάριους

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

Cross-platform, μπορεί να διεξάγει αυτοματοποιημένες δοκιμές λογισμικού εφαρμογών Windows, Android και iOS

Πιο φιλικό στη δοκιμή παιχνιδιών

Το Airtest και το Poco είναι ουσιαστικά δύο βιβλιοθήκες τρίτων για την Python Το περιβάλλον δοκιμής δεν είναι τόσο περίπλοκο όσο το Appium.

3. Επιλέξτε το πλαίσιο
Επιλέξτε ένα κατάλληλο πλαίσιο με βάση την πραγματική κατάσταση.

Μπορείτε να δώσετε προτεραιότητα στο Airtest της NetEase (επίσημος ιστότοπος Airtest) στις ακόλουθες περιπτώσεις:

Δεν υπάρχει βάση προγραμματισμού

Δοκιμή παιχνιδιού

Το σενάριο δοκιμής είναι σχετικά απλό (το Appium είναι σχετικά ογκώδες)

Αυτοματοποίηση προγράμματος Alipay mini (ο blogger χρησιμοποιεί επί του παρόντος το πλαίσιο Poco που είναι ενσωματωμένο με το Airtest για αυτοματοποιημένες δοκιμές του προγράμματος Alipay mini)

Συνιστάται να επιλέξετε το Appium στις ακόλουθες περιπτώσεις:

Το σενάριο της δοκιμής είναι σχετικά περίπλοκο (για παράδειγμα, απαιτείται ομαδική δοκιμή πολλών κινητών τηλεφώνων)

Η γλώσσα σεναρίου δοκιμής δεν είναι Python (το Airtest υποστηρίζει προς το παρόν μόνο Python)

3. Επιλογή πλαισίου δοκιμής μονάδας
Διαφορετικό από το πλαίσιο δοκιμών διεπαφής χρήστη που αναφέρθηκε παραπάνω, το πλαίσιο δοκιμών μονάδας χρησιμοποιείται για τη φόρτωση περιπτώσεων δοκιμών, την εκτέλεση περιπτώσεων δοκιμής, τη διεκδίκηση, την έξοδο αποτελεσμάτων δοκιμών κ.λπ.

Διαφορετικές γλώσσες ανάπτυξης έχουν τα δικά τους αντίστοιχα πλαίσια δοκιμής μονάδων, όπως JUnit, TestNG, Robot κ.λπ. για Java και unittest, pytest κ.λπ. για την Python. Οι bloggers χρησιμοποιούν κυρίως Python για αυτοματοποιημένες δοκιμές, επομένως εδώ εξηγούμε μόνο το πλαίσιο δοκιμής μονάδων Python.

Το βασικό πλαίσιο δοκιμών μονάδων της Python:

unittest, το πλαίσιο δοκιμών μονάδων της Python

Το pytest, που αναπτύχθηκε με βάση το unittest, είναι εύκολο στη χρήση, έχει πιο λεπτομερείς πληροφορίες και έχει πολλά πρόσθετα.

πλαίσιο ρομπότ, ένα πλαίσιο δοκιμών βασισμένο σε λέξεις-κλειδιά βασισμένο στην Python, με διεπαφή, ενσωματωμένες αναφορές και αρχεία καταγραφής, πλήρεις λειτουργίες, σαφές και όμορφο

Συνιστάται ανεπιφύλακτα να χρησιμοποιήσετε το pytest εδώ, το οποίο είναι ισχυρό και εύκολο στη χρήση. Η επίσημη τεκμηρίωση είναι στα Αγγλικά.

4. Ρύθμιση περιβάλλοντος δοκιμής
1. Δοκιμάστε την επιλογή υπολογιστή
Εάν είναι δυνατόν, συνιστάται η χρήση μηχανής Mac ειδικά για δοκιμές αυτοματισμού διεπαφής χρήστη, επειδή η αυτοματοποίηση διεπαφής χρήστη της εφαρμογής ios μπορεί να πραγματοποιηθεί μόνο σε μηχάνημα Mac.

2. Δοκιμάστε την επιλογή κινητού τηλεφώνου
Όταν ξεκινάτε για πρώτη φορά τον εντοπισμό σφαλμάτων σε δοκιμαστικά σενάρια, μπορείτε να επιλέξετε έναν εξομοιωτή για Android, μπορείτε να επιλέξετε τον εξομοιωτή Gernymotion ή Yeshen.

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

3. Ανάπτυξη γλωσσικού περιβάλλοντος
Συνιστάται να εγκαταστήσετε μια έκδοση python 3 ή νεότερη.

4. Κατασκευή περιβάλλοντος πλαισίου δοκιμής αυτοματισμού διεπαφής χρήστη
Η κατασκευή του Appium σε περιβάλλον Windows είναι λίγο πιο περίπλοκη. Θα γράψω ένα ιστολόγιο για να το μοιραστώ αργότερα.

Εάν επιλέξετε το πλαίσιο Airtest, ανατρέξτε στον επίσημο ιστότοπο.

5. Συγγραφή σεναρίου
1. Γράψτε δοκιμαστική επίδειξη
Για να επαληθεύσουμε εάν ολόκληρο το περιβάλλον δοκιμής έχει κατασκευαστεί με επιτυχία και εάν μπορούν να εκτελεστούν κοινά παραδείγματα, πρέπει γενικά να γράψουμε ένα απλό δοκιμαστικό σενάριο και να το εκτελέσουμε, αν περάσει, σημαίνει ότι ολόκληρο το περιβάλλον έχει κατασκευαστεί με επιτυχία.

2. Προσδιορίστε τη δομή του καταλόγου
Συνιστάται η χρήση του μοτίβου σχεδίασης αντικειμένου σελίδας για την ανάπτυξη δοκιμαστικών έργων αυτοματισμού διεπαφής χρήστη APP.

3. Επιλέξτε την αναφορά δοκιμής
Διαφορετικές γλώσσες ανάπτυξης και διαφορετικά πλαίσια δοκιμών μονάδων μπορούν να χρησιμοποιούν διαφορετικές αναφορές δοκιμών. Στην python, το πλαίσιο δοκιμής μονάδας χρησιμοποιεί HTMLTestRunner ή BSTestrunner για τη δημιουργία αναφορών δοκιμής. Το πλαίσιο Pytest χρησιμοποιεί pytest-html για τη δημιουργία αναφορών ή την προσαρμογή των αναφορών δοκιμής μέσω της γοητείας.

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

6. Ένταξη Jenkins
Αφού ολοκληρωθεί το έργο δοκιμής αυτοματισμού διεπαφής χρήστη της εφαρμογής γραφτεί σύμφωνα με τα παραπάνω βήματα και εκτελείται σταθερά για κάποιο χρονικό διάστημα, μπορείτε να εξετάσετε το ενδεχόμενο ενσωμάτωσης του Jenkins.

7. Περίληψη
Συνοψίζοντας, η αυτοματοποίηση διεπαφής χρήστη APP μπορεί να εφαρμοστεί με τους ακόλουθους τρόπους:

1,python + appium + unittest + HTMLTestRunner

2, python + appium + pytest + pytest-html / γοητεία

3, python + Airtest (AirtestIDE)

4, python + Poco + pytest + pytest-html / γοητεία

Μπορείτε να επιλέξετε ανάλογα με την πραγματική κατάσταση.

Τέλος, θα ήθελα να ευχαριστήσω όλους όσους διαβάζουν προσεκτικά το άρθρο μου.

Αυτές οι πληροφορίες θα πρέπει να είναι η πιο ολοκληρωμένη και πλήρης αποθήκη για τους φίλους [δοκιμές λογισμικού] Αυτή η αποθήκη έχει επίσης συνοδεύσει δεκάδες χιλιάδες μηχανικούς δοκιμών στο πιο δύσκολο ταξίδι.