8 Nyttige gRPC-testværktøjer til brug under udvikling

gRPC er en RPC-ramme (Remote Procedure Call) udviklet af Google.

Der er en interessant sidebemærkning bag hvorfor det hedder sådan. Et fjernprocedurekald er en måde at udføre en funktion eller en metode på en fjernmaskine, som om det var en lokal funktion. Det er en abstraktion, der fjerner smerten ved at håndtere HTTP-kald og andre netværksterminologier.

gRPC gør kommunikation og dataoverførsel mellem mikrotjenester meget nemmere og hurtigere. Den er afhængig af HTTP/2-protokollen under hætten, men gør det lettere for udviklere at forbinde alt sammen.

Mikrotjenester kan være til stede på flere sprog, så du skal skrive et program, for at de kan tale med hinanden.

gRPC gør det nemt, fordi det understøtter flere sprog. Den bruger protokolbuffere som grænsefladedefinitionssproget til at definere meddelelsens struktur.

Test af gRPC-applikationer

Ikke kun gRPC-applikationer, test er afgørende for enhver kompleks software, der udvikles. Test af gRPC-applikationer sikrer, at mikrotjenesterne og andre tjenester kan tale med hinanden pålideligt og effektivt.

Det sikrer, at alle tjenester, selvom de er skrevet på forskellige sprog, kan kommunikere uden en sprogbarriere. Det er muligt, fordi gRPC bruger protokolbuffere, der er sprogneutrale.

Fejlhåndtering og undtagelseshåndtering bliver også tydelige, når du tester din applikation. Ud over det kan man også udføre præstationstest for at se, hvordan tjenester opfører sig under varierende belastninger af netværkstrafik.

Nu hvor du kender til gRPC, lad os se på nogle gRPC-testværktøjer.

Kreya

Kreya er en API-klient med en grafisk brugerflade til gRPC samt REST API’er. Dens gRPC-klient understøtter anmodningsstreaming, unære opkald, validering og mere. For at teste API’et kan du også generere falske data i Kreya selv.

Forespørgslerne og deres konfiguration er også gemt i et filsystem, så du kan bruge git eller et hvilket som helst andet versionskontrolsystem til at synkronisere dine projekter. Kreya lader dig definere tests ved at skrive scripts, så du kan teste API’en ved hvert opkald.

Kreya tilbyder et gratis niveau for individuelle brugere, som inkluderer en fuldt udstyret gRPC-klient, genanvendelige godkendelseskonfigurationer, miljøer og skabeloner og mere.

ghz

ghz, et open source-gRPC-benchmarking og load-test kommandolinjeværktøj skrevet i Go, for at teste API’en og få resultaterne. ghz understøtter en protofil, et forudbygget protosætbundt eller en serverreflektion. Ved hjælp af skabelonvariabler i Go giver det dig mulighed for at tilføje brugerdefinerede data til anmodninger.

Udover et kommandolinjeværktøj giver ghz også adgang til en komplementær webapplikationsgrænseflade, som du kan bruge til at se, spore og gemme testresultaterne. Du kan se testresultaterne i forskellige filformater såsom CSV, JSON og HTML. I skrivende stund er den webgrænseflade, den leverer, stadig i betastadiet.

Postbud

Postbud er en API-udviklingsplatform, der understøtter opbygning og test af næsten alle typer API’er, inklusive gRPC. I Postman kan du skrive test til individuelle anmodninger eller samlinger eller mapper i en samling.

Når du laver en gRPC-anmodning i Postman, skal du gå over til fanen Scripts i anmodningsvisningen og derefter vælge, hvornår du vil udføre testen – før anmodningen eller efter du har modtaget et svar. Du kan også bruge kodestykker til at skrive test hurtigere.

Søvnløshed

Søvnløshed er et værktøj til at designe, teste og fejlfinde API’er. Det understøtter REST-, GraphQL-, WebSockets- og gRPC-anmodninger. Når du opretter en ny anmodning i Insomnia, kan du vælge gRPC og derefter indtaste URL-slutpunktet for API’en.

Du skal også tilføje en .proto-fil for at definere dine beskeder. Fra unære anmodninger til tovejsstreaming, Insomnia understøtter næsten alle anmodningstyper, inklusive klient- og serverstreaming.

For at teste API’er i Insomnia skal du tilføje et designdokument til din API, og derefter kan du oprette en testpakke på fanen Test. Bemærk, at Insomnia bruger Mocha-rammen til enhedstestning og Chai til påstande.

Stackhawk

Stackhawk er et API-sikkerhedstestværktøj, der også giver en løsning til gRPC-tjenester. Ved hjælp af dette værktøj kan du sikre sikkerheden for dine API-endepunkter. For at scanne en gRPC-applikation ved hjælp af Stackhawk, skal du definere en stackhawk.yml fil med nødvendige konfigurationer.

Stackhawk tilbyder et gratis niveau med moderne DAST-integreret automatiseret test i CI/CD-pipelinen til en enkelt applikation. Funktioner som autentificering, automatisering, indsigt, meddelelser og support til alle API-typer er dog inkluderet i alle prisplanerne.

gRPCurl

gRPCurl er et open source kommandolinjeværktøj til at oprette forbindelse til gRPC-aktiverede servere. Som navnet antyder, kaldes det “curl for gRPC-servere”. Grunden til at du ikke kan bruge cURL til at lave en anmodning til gRPC-servere er, at den ikke understøtter protokolbuffere, som er binære meddelelser. cURL omhandler kun JSON-strenge.

Du kan tjekke skemaet for gRPC-tjenester enten ved at forespørge på en server, der understøtter serverrefleksion, ved at læse proto-kildefiler eller ved at indlæse i kompilerede “protoset”-filer (filer, der indeholder kodede filbeskrivelsesprotoer).

gRPCurl er ikke et fuldt udbygget testværktøj, men du kan stadig udføre grundlæggende forespørgsler og test ved hjælp af kommandolinjeværktøjet.

Smartbears ReadyAPI

ReadyAPI af Smartbear understøtter gRPC API-test, men kun unære operationer. For at teste en gRPC-tjeneste skal du først konfigurere API-forbindelse test trin. Ved at gøre det kan du derefter sende anmodninger og modtage svar fra din gRPC-tjeneste.

ReadyAPI understøtter kun unære operationer indtil videre, hvilket betyder, at ReadyAPI kun venter på et enkelt svar fra serveren.

NosyMouse

Nosymous er et værktøj, der inkluderer en gRPC-tester til at køre funktions-, ydeevne- og sikkerhedstest enten manuelt eller automatisk. Det tilbyder funktioner som samtidige virtuelle brugere, ramp-up, beståelseskriterier, tænketider, testdata og support til testscenarier sammen med flere vægtede use cases.

Den følger den datadrevne testmetode, hvilket sikrer, at du altid har understøttelse af separate testdata, variabler, automatiserede verifikationer og brugssager i den virkelige verden. Du kan køre dine tests med forskellige input og verificere output i grænsefladen.

Det tilbyder en 14-dages gratis prøveperiode til test af to samtidige tjenestebrugere.

Afsluttende ord

Med fremkomsten af ​​gRPC-tjenester og -værktøjer kan det være svært for dig at vælge det rigtige gRPC-testværktøj. Det er vigtigt at vælge det rigtige værktøj, fordi det påvirker din API-funktionalitet direkte. En vigtig ting at overveje er understøttelsen af ​​forskellige gRPC-funktioner såsom serverreflektion, streaming osv. Hold øje med gRPC-specifikke funktioner, når du vælger et testværktøj.

Tjek derefter de bedste API-belastningstestplatforme for at forbedre ydeevnen.