8 Χρήσιμα εργαλεία δοκιμής gRPC για χρήση κατά την ανάπτυξη

Το gRPC είναι ένα πλαίσιο κλήσης απομακρυσμένης διαδικασίας (RPC) που αναπτύχθηκε από την Google.

Υπάρχει ένα ενδιαφέρουσα παράπλευρη σημείωση πίσω από το γιατί ονομάζεται έτσι. Μια κλήση απομακρυσμένης διαδικασίας είναι ένας τρόπος εκτέλεσης μιας συνάρτησης ή μιας μεθόδου σε ένα απομακρυσμένο μηχάνημα σαν να ήταν μια τοπική συνάρτηση. Είναι μια αφαίρεση που αφαιρεί τον πόνο της αντιμετώπισης κλήσεων HTTP και άλλων ορολογιών δικτύου.

Το gRPC κάνει την επικοινωνία και τη μεταφορά δεδομένων μεταξύ των microservices πολύ πιο εύκολη και γρήγορη. Βασίζεται στο πρωτόκολλο HTTP/2 κάτω από την κουκούλα, αλλά διευκολύνει τους προγραμματιστές να συνδέσουν τα πάντα μεταξύ τους.

Οι μικροϋπηρεσίες μπορούν να υπάρχουν σε πολλές γλώσσες, επομένως πρέπει να γράψετε ένα πρόγραμμα για να μπορούν να συνομιλούν μεταξύ τους.

Το gRPC το καθιστά εύκολο επειδή υποστηρίζει πολλές γλώσσες. Χρησιμοποιεί buffer πρωτοκόλλου ως γλώσσα ορισμού διεπαφής για τον καθορισμό της δομής του μηνύματος.

Δοκιμή εφαρμογών gRPC

Όχι μόνο οι εφαρμογές gRPC, αλλά η δοκιμή είναι απαραίτητη για κάθε πολύπλοκο λογισμικό που αναπτύσσεται. Η δοκιμή εφαρμογών gRPC διασφαλίζει ότι οι μικροϋπηρεσίες και άλλες υπηρεσίες μπορούν να συνομιλούν μεταξύ τους αξιόπιστα και αποτελεσματικά.

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

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

Τώρα που ξέρετε για το gRPC, ας δούμε μερικά εργαλεία δοκιμής gRPC.

Kreya

Kreya είναι ένας πελάτης API με γραφική διεπαφή χρήστη για gRPC καθώς και REST API. Ο πελάτης του gRPC υποστηρίζει ροή αιτημάτων, μονομερείς κλήσεις, επικύρωση και πολλά άλλα. Για να δοκιμάσετε το API, μπορείτε επίσης να δημιουργήσετε πλαστά δεδομένα μέσα στην ίδια την Kreya.

  Χρειάζεστε το Xbox Live για να παίξετε το Warzone;

Επίσης, τα αιτήματα και οι παραμέτρους τους αποθηκεύονται σε ένα σύστημα αρχείων, ώστε να μπορείτε να χρησιμοποιήσετε το git ή οποιοδήποτε άλλο σύστημα ελέγχου έκδοσης για να συγχρονίσετε τα έργα σας. Το Kreya σάς επιτρέπει να ορίζετε δοκιμές γράφοντας σενάρια για να δοκιμάζετε το API σε κάθε κλήση.

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

ghz

ghz, ένα βοηθητικό πρόγραμμα γραμμής εντολών συγκριτικής αξιολόγησης και φόρτωσης gRPC ανοιχτού κώδικα γραμμένο στο Go, για να δοκιμάσετε το API και να λάβετε τα αποτελέσματα. Το ghz υποστηρίζει ένα αρχείο πρωτοκόλλου, μια προκατασκευασμένη δέσμη πρωτοσυστημάτων ή μια αντανάκλαση διακομιστή. Με τη βοήθεια μεταβλητών προτύπων στο Go, σας επιτρέπει να προσθέτετε προσαρμοσμένα δεδομένα σε αιτήματα.

Εκτός από ένα βοηθητικό πρόγραμμα γραμμής εντολών, το ghz παρέχει επίσης πρόσβαση σε μια συμπληρωματική διεπαφή εφαρμογής web, την οποία μπορείτε να χρησιμοποιήσετε για να προβάλετε, να παρακολουθήσετε και να αποθηκεύσετε τα αποτελέσματα των δοκιμών. Μπορείτε να δείτε τα αποτελέσματα των δοκιμών σε διάφορες μορφές αρχείων όπως CSV, JSON και HTML. Τη στιγμή της γραφής, η διεπαφή ιστού που παρέχει βρίσκεται ακόμα σε στάδιο beta.

Ταχυδρόμος

Ταχυδρόμος είναι μια πλατφόρμα ανάπτυξης API που υποστηρίζει τη δημιουργία και τη δοκιμή για σχεδόν όλους τους τύπους API, συμπεριλαμβανομένου του gRPC. Στο Postman, μπορείτε να γράψετε δοκιμές για μεμονωμένα αιτήματα ή συλλογές ή φακέλους σε μια συλλογή.

Όταν κάνετε ένα αίτημα gRPC στον Postman, μεταβείτε στην καρτέλα Σενάρια στην προβολή αιτήματος και, στη συνέχεια, επιλέξτε πότε θέλετε να εκτελέσετε τη δοκιμή — πριν από το αίτημα ή αφού λάβετε απάντηση. Μπορείτε επίσης να χρησιμοποιήσετε αποσπάσματα κώδικα για να γράψετε δοκιμές πιο γρήγορα.

  Ενισχύστε το εύρος WiFi του δρομολογητή σας

Αυπνία

Αυπνία είναι ένα εργαλείο για το σχεδιασμό, τη δοκιμή και τον εντοπισμό σφαλμάτων API. Υποστηρίζει αιτήματα REST, GraphQL, WebSockets και gRPC. Όταν δημιουργείτε ένα νέο αίτημα στο Insomnia, μπορείτε να επιλέξετε gRPC και, στη συνέχεια, να εισαγάγετε το τελικό σημείο διεύθυνσης URL του API.

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

Για να δοκιμάσετε τα API στο Insomnia, πρέπει να προσθέσετε ένα έγγραφο σχεδίασης για το API σας και, στη συνέχεια, στην καρτέλα Δοκιμή, μπορείτε να δημιουργήσετε μια δοκιμαστική σουίτα. Σημειώστε ότι το Insomnia χρησιμοποιεί το πλαίσιο Mocha για τη δοκιμή μονάδων και το Chai για ισχυρισμούς.

Stackhawk

Stackhawk είναι ένα εργαλείο δοκιμών ασφαλείας API που παρέχει επίσης λύση για υπηρεσίες gRPC. Με τη βοήθεια αυτού του εργαλείου, μπορείτε να διασφαλίσετε την ασφάλεια των τελικών σημείων API σας. Για να σαρώσετε μια εφαρμογή gRPC χρησιμοποιώντας το Stackhawk, πρέπει να το κάνετε ορίστε ένα stackhawk.yml αρχείο με τις απαιτούμενες διαμορφώσεις.

Το Stackhawk προσφέρει ένα δωρεάν επίπεδο με σύγχρονες ενσωματωμένες σε DAST αυτοματοποιημένες δοκιμές στον αγωγό CI/CD για μία μόνο εφαρμογή. Ωστόσο, λειτουργίες όπως έλεγχος ταυτότητας, αυτοματισμός, insights, ειδοποιήσεις και υποστήριξη για όλους τους τύπους API περιλαμβάνονται σε όλα τα προγράμματα τιμολόγησης.

gRPCurl

gRPCurl είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών ανοιχτού κώδικα για σύνδεση σε διακομιστές με δυνατότητα gRPC. Όπως υποδηλώνει το όνομα, ονομάζεται “μπούκλα για διακομιστές gRPC”. Ο λόγος που δεν μπορείτε να χρησιμοποιήσετε το cURL για να υποβάλετε αίτημα σε διακομιστές gRPC είναι ότι δεν υποστηρίζει buffer πρωτοκόλλου, που είναι δυαδικά μηνύματα. Το cURL ασχολείται μόνο με συμβολοσειρές JSON.

  11 Καταπληκτικές εφαρμογές STEM για παιδιά που παίζουν και μαθαίνουν επιστήμη

Μπορείτε να ελέγξετε το σχήμα για τις υπηρεσίες gRPC είτε υποβάλλοντας ερώτημα σε έναν διακομιστή που υποστηρίζει ανάκλαση διακομιστή, διαβάζοντας αρχεία προέλευσης πρωτοκόλλου είτε φορτώνοντας σε μεταγλωττισμένα αρχεία “protoset” (αρχεία που περιέχουν κωδικοποιημένα πρωτόκολλα περιγραφής αρχείων).

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

Smartbear’s ReadyAPI

ReadyAPI από το Smartbear υποστηρίζει δοκιμές gRPC API αλλά μόνο μεμονωμένες λειτουργίες. Για να δοκιμάσετε μια υπηρεσία gRPC, πρέπει πρώτα να ρυθμίσετε το Σύνδεση API βήμα δοκιμής. Με αυτόν τον τρόπο, μπορείτε στη συνέχεια να στείλετε αιτήματα και να λάβετε απαντήσεις από την υπηρεσία gRPC.

Το ReadyAPI υποστηρίζει μόνο unary λειτουργίες προς το παρόν, πράγμα που σημαίνει ότι το ReadyAPI θα περιμένει μόνο μία απάντηση από τον διακομιστή.

NosyMouse

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

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

Προσφέρει μια δωρεάν δοκιμή 14 ημερών για τη δοκιμή δύο ταυτόχρονων χρηστών υπηρεσιών.

Τελικές Λέξεις

Με την άνοδο των υπηρεσιών και εργαλείων gRPC, μπορεί να είναι δύσκολο για εσάς να επιλέξετε το σωστό εργαλείο δοκιμής gRPC. Η επιλογή του σωστού εργαλείου είναι σημαντική επειδή επηρεάζει άμεσα τη λειτουργικότητα του API σας. Ένα σημαντικό πράγμα που πρέπει να λάβετε υπόψη είναι η υποστήριξη για διάφορες λειτουργίες gRPC, όπως η αντανάκλαση διακομιστή, η ροή κ.λπ. Προσέξτε τις λειτουργίες που σχετίζονται με το gRPC όταν επιλέγετε ένα εργαλείο δοκιμών.

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