Εκμάθηση Δοκιμών REST API: Δείγματα Περιπτώσεων Δοκιμών Εγχειριδίου
⚡ Έξυπνη Σύνοψη
Η δοκιμή REST API επικυρώνει τις υπηρεσίες web RESTful στέλνοντας αιτήματα HTTP όπως GET, POST, PUT και DELETE, και στη συνέχεια επαληθεύοντας τον κωδικό κατάστασης, τις κεφαλίδες απόκρισης και το ωφέλιμο φορτίο που επιστρέφεται από τον διακομιστή.

Τι είναι το REST API Testing;
Δοκιμή REST API είναι μια τεχνική δοκιμών αυτοματισμού ιστού ανοιχτού κώδικα που χρησιμοποιείται για τη δοκιμή RESTful API για εφαρμογές ιστού. Ο σκοπός της δοκιμής REST API είναι η καταγραφή της απόκρισης του REST API στέλνοντας διάφορα αιτήματα HTTP/S για να ελεγχθεί εάν το REST API λειτουργεί σωστά ή όχι. Η δοκιμή REST API γίνεται με τις μεθόδους GET, POST, PUT και DELETE.
ΠΕΡΙΦΕΡΕΙΑ σημαίνει αντιπροσωπευτική μεταφορά κράτους. Είναι ένα αρχιτεκτονικό στυλ και μια προσέγγιση επικοινωνίας που χρησιμοποιείται στην ανάπτυξη του Υπηρεσίες ΔιαδικτύουΤο REST έχει γίνει μια λογική επιλογή για τη δημιουργία API, επειδή επιτρέπει στους χρήστες να συνδέονται και να αλληλεπιδρούν αποτελεσματικά με υπηρεσίες cloud.
Ένα API ή Διεπαφή Προγραμματισμού Εφαρμογών (API) είναι ένα σύνολο οδηγιών προγραμματισμού για την πρόσβαση σε μια διαδικτυακή εφαρμογή λογισμικού. Με άλλα λόγια, είναι ένα σύνολο εντολών που χρησιμοποιούνται από ένα πρόγραμμα για να επικοινωνεί απευθείας με ένα άλλο και να χρησιμοποιεί τις λειτουργίες του άλλου για να λαμβάνει πληροφορίες.
Για παράδειγμα, ένα Google Ένας ιστότοπος μπορεί να έχει ένα API για αναζήτηση, μεταφράσεις και ημερολόγια. Γενικά, τα API μοιάζουν με το παρακάτω παράδειγμα, με όνομα διακομιστή, διαδρομές και παραμέτρους.
http://<server name>/v1/export/Publisher/Standard_Publisher_Report?format=csv
Αλλά γιατί να επενδύσουμε σε δοκιμές σε αυτό το επίπεδο;
Γιατί είναι σημαντικό να κάνετε δοκιμές REST API
Ένα REST API βρίσκεται ανάμεσα στη διεπαφή χρήστη και τη βάση δεδομένων, γεγονός που το καθιστά το επίπεδο όπου βρίσκεται στην πραγματικότητα το μεγαλύτερο μέρος της επιχειρηματικής λογικής. Ένα ελάττωμα σε έναν κανόνα τιμολόγησης ή σε έναν έλεγχο δικαιωμάτων εμφανίζεται στην απόκριση του API πολύ πριν κάποιος εντοπίσει λάθος αριθμό σε μια οθόνη, επομένως οι δοκιμές εδώ εντοπίζουν τα προβλήματα νωρίτερα και πιο κοντά στην αιτία τους.
Η ταχύτητα είναι ο δεύτερος λόγος. Ένα αίτημα ολοκληρώνεται σε χιλιοστά του δευτερολέπτου και δεν χρειάζεται πρόγραμμα περιήγησης, μηχανή απόδοσης και εντοπιστές εύθραυστων στοιχείων. Ένας δοκιμαστής μπορεί να ασκήσει δεκάδες τελικά σημεία στον χρόνο που χρειάζεται μια δοκιμή διεπαφής για να φορτώσει μια σελίδα και το ίδιο αίτημα συμπεριφέρεται με τον ίδιο τρόπο είτε το front end είναι ένας ιστότοπος, μια εφαρμογή για κινητά είτε μια ενσωμάτωση συνεργατών.
Η σταθερότητα είναι ο τρίτος λόγος. Οι διατάξεις αλλάζουν συνεχώς, αλλά ένα δημοσιευμένο REST contracΑναμένεται ότι το t θα παραμείνει σταθερό. Δοκιμές που έχουν γραφτεί έναντι αυτού του contracδεν επιβιώνουν από τους επανασχεδιασμούς, επομένως προστατεύουν τα μέρη του προϊόντος στα οποία στην πραγματικότητα βασίζονται άλλες ομάδες.
Τύποι μεθόδων API
Υπάρχουν κυρίως 4 τύποι Δοκιμή API Μέθοδοι: GET, POST, DELETE και PUT.
- ΠΑΡΤΕ– Η μέθοδος GET χρησιμοποιείται για την εξαγωγήtracπληροφορίες από τον δεδομένο διακομιστή χρησιμοποιώντας ένα δεδομένο URI. Κατά τη χρήση ενός αιτήματος GET, θα πρέπει να εκπέμπει μόνοtracδεδομένα t και δεν θα πρέπει να έχει καμία άλλη επίδραση στα δεδομένα.
- ΜΕΤΑ– Ένα αίτημα POST χρησιμοποιείται για τη δημιουργία μιας νέας οντότητας. Μπορεί επίσης να χρησιμοποιηθεί για την αποστολή δεδομένων στον διακομιστή, για παράδειγμα, πληροφορίες πελατών, μεταφόρτωση αρχείων κ.λπ. χρησιμοποιώντας φόρμες HTML.
- ΒΆΖΩ– Δημιουργήστε μια νέα οντότητα ή ενημερώστε μια υπάρχουσα.
- ΔΙΑΓΡΑΦΗ– Καταργεί όλες τις τρέχουσες αναπαραστάσεις του πόρου προορισμού που δίνονται από ένα URI.
Πώς να δοκιμάσετε το REST API
Η δοκιμή REST API απαιτεί μια εφαρμογή που να αλληλεπιδρά με ένα δείγμα API για δοκιμή. Για να δοκιμάσετε ένα API, χρειάζεστε δύο πράγματα:
- Εργαλείο/Πλαίσιο δοκιμής για την οδήγηση του API
- Γράψτε τον δικό σας κώδικα για να δοκιμάσετε το δείγμα REST API
Οι δοκιμαστικές περιπτώσεις REST API μπορούν να δοκιμαστούν με εργαλεία όπως:
- Advanced Rest Client
- Postman-Πελάτης ανάπαυσης
- Curl στο Linux
Εδώ θα χρησιμοποιήσουμε το Advanced Rest Client. Παρακάτω θα βρείτε τα βήματα για να αποκτήσετε το Advanced Rest Client.
Πώς να αποκτήσετε το Advanced Rest Client;
- Πηγαίνετε στο Google Chrome's Web Store
- Αναζητήστε το "Advanced Rest Client" ή μεταβείτε απευθείας εδώ και Εγκαταστήστε την επέκταση
- Επιλέξτε το εικονίδιο "Advanced Rest Client" στην ενότητα εφαρμογών του chrome – chrome://apps/
Η καταχώριση του ηλεκτρονικού καταστήματος εμφανίζεται όπως φαίνεται παρακάτω.
Μόλις ολοκληρωθεί η εγκατάσταση, ακολουθήστε την παρακάτω δοκιμή για να ελέγξετε ένα RESTful API.
Βήματα για τη δοκιμή REST API
Εδώ χρησιμοποιούμε την επέκταση προγράμματος-πελάτη REST στο πρόγραμμα περιήγησης Chrome. Για να την κατανοήσουμε με σαφήνεια, χρησιμοποιούμε ένα εικονικό API για δοκιμές:
http://ip.jsontest.com/
Βήμα 1) Ανοίξτε το πρόγραμμα-πελάτη Advanced REST
Εκκινήστε την εφαρμογή Advanced REST client (ARC), μόλις εγκατασταθεί με επιτυχία.
Βήμα 2) Εισαγάγετε το URL του API προς δοκιμή
Εισαγάγετε το δείγμα REST API URL για δοκιμές στο URL πλαίσιο κειμένου.
Βήμα 3) Επιλέξτε τη μέθοδο HTTP
Επιλέξτε τη μέθοδο για τον τύπο των μεθόδων HTTP στη δοκιμή API για να πατήσετε π.χ. POST
Βήμα 4) Παρέχετε σύνολο κεφαλίδων
Δώστε το σύνολο κεφαλίδων, στο πλαίσιο κειμένου Κεφαλίδες. Κάντε κλικ στο Εισαγωγή συνόλου κεφαλίδων.
Βήμα 5) Επιβεβαιώστε το σύνολο κεφαλίδων
Επόμενο Κάντε κλικ στο USE THIS SET.
Βήμα 6) Παρέχετε το απαιτούμενο περιεχόμενο σώματος
- Τώρα μεταβείτε στην καρτέλα Σώμα.
- Ορίστε τον απαιτούμενο τύπο περιεχομένου σώματος και την προβολή επεξεργασίας π.χ. Τύπος περιεχομένου σώματος : εφαρμογή/json
- Προβολή επεξεργασίας: Ακατέργαστη είσοδος.
- Στην ενότητα Payload (Ωφέλιμο φορτίο), διαβιβάστε το κύριο μέρος του αιτήματος του demo API για δοκιμή με τη μορφή ζευγών κλειδιού-τιμής, για παράδειγμα {“key1″:”value1″,”key2″:”value2”}. Εάν πρόκειται για POST API, τότε πρέπει να διαβιβάσουμε ένα κύριο μέρος ή παραμέτρους. Θα τα διαβιβάσουμε στο δεδομένο ωφέλιμο φορτίο.
{"property" : ["Sites"], "report_type" : ["ALL"]}
⚠️ Προειδοποίηση: Ένας Τύπος Περιεχομένου (Content-Type) της εφαρμογής/json με ωφέλιμο φορτίο που δεν είναι έγκυρο JSON Επιστρέφει 400 Λάθος Αίτημα.
Βήμα 7) Υποβάλετε τις λεπτομέρειες για να ξεκινήσετε τη δοκιμή
- Πατήστε το κουμπί αποστολής.
- Μπορείτε να κάνετε κλικ στο κουμπί ΣΤΟΙΧΕΙΑ για να δείτε τις κεφαλίδες Απάντηση.
Ακολουθούν οι λεπτομέρειες της απάντησης:
Η αντίδραση πρέπει ακόμη να κριθεί σε σχέση με το αναμενόμενο αποτέλεσμα.
Επικύρωση των αποτελεσμάτων
Κυρίως, για τις δοκιμές Web API, πρέπει να ελέγξουμε τον κώδικα απόκρισης, το μήνυμα απόκρισης και το σώμα της απόκρισης.
Οι κωδικοί απόκρισης εμπίπτουν σε πέντε οικογένειες:
| Οικογενειακή | Κατηγορία | Νόημα |
|---|---|---|
| 1xx | Ενημερωτικό | Ελήφθη, βρίσκεται ακόμη σε επεξεργασία |
| 2xx | Επιτυχία | Ολοκληρώθηκε. 200 ΟΚ, 201 Δημιουργήθηκε |
| 3xx | Ανακατεύθυνση | Απαιτείται περαιτέρω δράση |
| 4xx | Σφάλμα πελάτη | Λανθασμένο ωφέλιμο φορτίο, διακριτικό ή πόρος |
| 5xx | Σφάλμα διακομιστή | Έγκυρο αίτημα, ο διακομιστής απέτυχε |
Παρακάτω παρατίθενται οι κωδικοί απόκρισης που μπορεί να συναντήσει κανείς.
Ένα αίτημα αποδεικνύει ότι το τελικό σημείο λειτουργεί. Μια σουίτα αποδεικνύει ότι συνεχίζει να λειτουργεί.
Δοκιμαστικές περιπτώσεις REST API που πρέπει να καλύψετε
Μια χρήσιμη σουίτα REST API εκτείνεται σε διάφορες κατηγορίες αντί να επαναλαμβάνει την ίδια κλήση happy-path με διαφορετικά δεδομένα:
- Χαρούμενη πορεία: Στείλτε ένα έγκυρο αίτημα σε κάθε τελικό σημείο και επιβεβαιώστε τον κωδικό κατάστασης, το σχήμα και κάθε τιμή πεδίου.
- Αρνητικές περιπτώσεις: Στείλτε JSON με λανθασμένη μορφή, μια μη υποστηριζόμενη μέθοδο και ένα ID πόρου που λείπει και, στη συνέχεια, αναμένετε 400, 405 και 404 αντί για 500.
- Οριακές τιμές: Εάν ένα πεδίο δέχεται από 1 έως 200 χαρακτήρες, ελέγξτε 0, 1, 200 και 201. Οι κανόνες επικύρωσης σπάνε στα άκρα.
- Ειδικοί χαρακτήρες: Εισάγετε τονισμένα γράμματα, emoji, εισαγωγικά και κείμενο πολλών byte σε κάθε πεδίο για να αποκαλύψετε σφάλματα κωδικοποίησης.
- μεtracέλεγχοι t: Συγκρίνετε την απόκριση με την δημοσιευμένη προδιαγραφή OpenAPI ή Swagger, ώστε οι μη τεκμηριωμένες αλλαγές να εντοπίζονται νωρίς.
- Αλληλουχία: Καλέστε τα τελικά σημεία με ρεαλιστική σειρά, όπως POST, GET και τέλος DELETE, επειδή η state carries μεταξύ των κλήσεων.
- Λογική απόδοσης: Καταγράψτε τους χρόνους απόκρισης σε κάθε εκτέλεση και επισημάνετε οποιοδήποτε τελικό σημείο που αποκλίνει πέρα από το όριο που έχει συμφωνηθεί με την ομάδα.
Εργαλείο δοκιμής REST API
Διαφορετικά εργαλεία ταιριάζουν σε διαφορετικά στάδια δοκιμών.
| Εργαλείο | Χαρακτηριστικά | καλυτερα for |
|---|---|---|
| Advanced Rest Client | Πρόγραμμα-πελάτης για επιτραπέζιους υπολογιστές | Γρήγορες χειροκίνητες κλήσεις |
| Postman | Πρόγραμμα-πελάτης για επιτραπέζιους υπολογιστές | Συλλογές και χώροι εργασίας ομάδων |
| JMeter | Δοκιμή φόρτωσης | Χρόνοι απόκρισης υπό φορτίο |
| SoapUI | Λειτουργική δοκιμή | ΞΕΚΟΥΡΑΣΗ και ΣΑΠΟΥΝΙ Μαζί |
| Εγγυημένη ΥΠΟΛΟΙΠΟ | Java βιβλιοθήκη | Αυτοματοποίηση σταθερών υποθέσεων |
| cURL | Γραμμή εντολών | Επικόλληση κλήσεων σε αναφορές σφαλμάτων |
Δείτε τη σύνοψη των Εργαλεία δοκιμής API.
Τα περισσότερα πραγματικά τερματικά σημεία αρνούνται να απαντήσουν μέχρι το αίτημα να αποδείξει ποιος το έστειλε.
Έλεγχοι ελέγχου ταυτότητας και ασφαλείας REST API
Τα δημόσια demo endpoints απαντούν σε όλους, αλλά ένα REST API παραγωγής βρίσκεται πίσω από ένα σχήμα ελέγχου ταυτότητας και ένα ελάττωμα εξουσιοδότησης είναι πολύ πιο επιζήμιο από μια λανθασμένη τιμή πεδίου. Αρχικά, προσδιορίστε τον μηχανισμό: ένα στατικό κλειδί API, διαπιστευτήρια HTTP Basic, ένα διακριτικό φορέα OAuth 2.0 ή ένα υπογεγραμμένο JSON Web Token.
Μόλις ένα αίτημα με έλεγχο ταυτότητας ολοκληρωθεί με επιτυχία, επεξεργαστείτε προσεκτικά τις διαδρομές αποτυχίας:
- Δεν υπάρχουν διαπιστευτήρια: Αφαιρέστε την κεφαλίδα Εξουσιοδότηση. Αναμένεται 401 Μη Εξουσιοδοτημένο και δεν υπάρχουν δεδομένα εγγραφής στο κυρίως μέρος.
- Λανθασμένη μορφή διαπιστευτηρίων: καταστρέψει έναν χαρακτήρα του διακριτικού. Να περιμένετε ξανά το 401, με ένα μήνυμα που δεν εξηγεί γιατί.
- Ληγμένα διαπιστευτήρια: επαναχρησιμοποιήστε ένα διακριτικό μετά τη λήξη του. Επιβεβαιώστε ότι απορρίπτεται αντί να τηρείται, ένα συνηθισμένο ελάττωμα της ασύμμετρης ροής του ρολογιού.
- Λάθος επίπεδο δικαιωμάτων: Επαληθεύστε τον έλεγχο ταυτότητας ως χρήστης με χαμηλά δικαιώματα και καλέστε ένα τελικό σημείο μόνο για διαχειριστές. Αναμένεται 403 Forbidden, όχι 200.
- Εγγραφή άλλου χρήστη: αλλάξτε το αναγνωριστικό έτσι ώστε ο χρήστης Α να ζητά τα δεδομένα του χρήστη Β. Η επιτυχία εδώ αποτελεί σοβαρό ελάττωμα ελέγχου πρόσβασης.
Τέλος, επιβεβαιώστε ότι κάθε κλήση ταξιδεύει μέσω HTTPS, ότι οι αποτυχημένες απαντήσεις δεν παρουσιάζουν διαρροή στοίβας. tracbanners ή έκδοσης και ότι οι γρήγορες επαναλήψεις ενεργοποιούν το σφάλμα 429 Too Many Requests.
Οι δοκιμές REST API παρουσιάζουν επίσης δυσκολίες που δεν παρουσιάζουν οι δοκιμές διεπαφών.
Προκλήσεις για τη δοκιμή API
Τα ενδιαφέροντα προβλήματα για τους δοκιμαστές κατά τη διάρκεια των δοκιμών REST API είναι:
- Για να διασφαλιστεί ότι η καλωδίωση δοκιμών μεταβάλλει τις παραμέτρους των κλήσεων API με τέτοιο τρόπο ώστε να επαληθεύει τη λειτουργικότητα καθώς και να εκθέτει τις αποτυχίες. Περιλαμβάνει την εξερεύνηση οριακών συνθηκών και την ανάθεση κοινών παραμέτρων.
- Δημιουργία ενδιαφέροντων συνδυασμών τιμών παραμέτρων για κλήσεις με δύο ή περισσότερες παραμέτρους
- Προσδιορισμός του περιεχομένου στο οποίο πρέπει να πραγματοποιηθούν οι κλήσεις API. Αυτό μπορεί να περιλαμβάνει τον καθορισμό συνθηκών εξωτερικού περιβάλλοντος (περιφερειακές συσκευές, αρχεία κ.λπ.) καθώς και εσωτερικά αποθηκευμένων δεδομένων που επηρεάζουν το API.
- Αλληλουχία κλήσεων API σύμφωνα με τη σειρά με την οποία θα εκτελεστεί η συνάρτηση
- Για να κάνετε το API να παράγει χρήσιμα αποτελέσματα από διαδοχικές κλήσεις.










