Photo by Cesar Carlevarino Aragon on Unsplash
In one of my previous posts, I have shared how to implement automation tests for testing gRPC services. Automation is, of course, a fantastic thing.
Still, there are a lot of cases where it is more suitable to verify new functionality quickly and manually rather than testing writing the code.
Not so long ago, I discovered that Postman has added gRPC support. As of now, the functionality is in “beta.” So after trying it by myself, I started to seek alternative solutions on the market.
I will talk about GUI tools for testing gRPC (besides Postman) services in this post. I only used each tool for a day (so I won’t be an in-depth analysis).
An example of a simple gRPC server to run locally can be taken from my Github.
What tools are there for gRPC?
All four tools are easily installed as desktop applications (in my case, on Windows 11). Also I want to say, the all four tools have a great support for gRPC streaming. k6 - when you will have this feature?
In BloomRPC, I did not find how to import proto files via server reflection. But if you want to import it as files - it works perfectly fine. In other tools, both imports work fine.
It’s rather inconvenient that Insomnia can’t get a request template based on the proto schema. You have to search for it yourself and insert it as a JSON file. Other tools are OK with it.
Kreya.app has a killer feature - you can use the built-in test data sampler - for strings, UUID, and other fundamental data types.
Postman has not yet delivered the ability to save created requests. But this is only a beta - so I hope this defect will be fixed during the release. Additionally, it is impossible to import a directory of proto files (or a set of dependent proto files at once). So, you need to compile a set of files to import it for now. But it works.
For Postman and Insomnia, gRPC is just one of the many features. HTTP API testing in both tools is the primary function. Plus, they have a lot of additional features for easy writing of API tests. Kreya and BloomRPC are strictly working with gRPC.
What to choose?
If you need a “combine - all-in-one,” - then you can temporarily take something specialized, like Kreya or BloomRPC, and wait until Postman will finish gRPC. Postman already has a bunch of different goodies for HTTP (plus a bunch of tutorials and community).
If you are only testing gRPC - I would choose Kreya. This tool seemed convenient and has a set of unique features, such as a test data generator. In my daily work, I will use it for now. After a while - I will describe my experience in more detail.