I would like to hear if any of you are using different app for API testing than Postman.
I’m not telling that Postman is bad, but maybe there’s all that I should check out. Recently I tried RapidApi and even tho the app is kinda cool I missed few options and went back to Postman for now.
I am a fan of Insomnia. As far as I can tell it has most of the features I used in postman without all the paid upgrade nags
Insomnia is really good, never looked back at postman since i use Insomnia!
xh and tiny shell scripts.
Example: sign-up-forbidden-username.req
#!/bin/bash xh POST http://0.0.0.0:2884/sign-up usename=admin password=pw
to run
./sign-up-forbidden-username.req
This returns 403 and “Username is unavailable”
xh is a rust implementation of httpie. They’re going for full parity, and works really well for what I need it for so far You can also read input from a file. Which IMO makes GUI API testing seem silly.
I completely stopped using all those clients. We now just store the requests alongside the code in an http file and use the built in IntelliJ HTTP Client to make the call. No need for a separate program, integrates with your code, you can save responses to make sure they don’t change, it’s all stored in git. There’s a ton of benefits and not many downsides.
Once I learned about http files I never went back. It’s so easy to share and use, I primarily use JetBrains but there are extensions for VSCode that do the same thing that I have used as well.
What is an HTTP file?
I mostly use the rest client extension for vscode
Insomnia is pretty cool and open-source
Maybe try Swagger
Surprised how little love this option is getting in the comments. Not only will swagger be generated for you from your openapi spec, it has a clean fast UI and shared auth.
I’m using the vscode extension called Thunderclient
This. Is the best GUI, via vs code extension
I would use swagger in some instance tbh
I recommend Visual Studio Code and one of the following two extensions:
Either one isn’t really the full picture - you’ll ned to combine it with other extensions - such as a good JSON language extension (which will give you syntax highlighting, error checking, code folding/etc.
The most important extension is CoPilot. That’s the killer feature which makes Visual Studio Code vastly better than Postman.
Thunder is very similar to Postman. Not much to say other than it works well, it’s free, millions of people use it.
It’s not really my cup of tea, but I do think it’s better than Postman because you can use your own version control servers to collaborate with colleagues, which is generally better (and cheaper) than Postman’s collaboration service in my opinion (you get diffs, code review, pull requests, history, etc etc for all your most important API tests).
Personally I prefer REST Client (also free, and has even more users than Thunder).
REST Client is really simple. It adds a new “HTTP” text file type. You simply type a HTTP request into the file and hit a hotkey (or click a button) to execute the request. And it shows you the response. Easy.
HTTP requests and responses are just plain text, and you can simply save those as files in your project. REST Client also has basic support for variables, API credentials, etc. Not quite as user friendly as Postman or Thunder Client, but it makes up for that by being straightforward and flexible.
CoPilot Chat, works with both, but having everything in plain text gives it more control over REST Client than Thunder Clinet you can write (and edit) your requests with a series of simple plain english prompts. E.g. “JSON request with a blog post body” will give you:
POST https://example.com/blog/posts Content-Type: application/json { "title": "My First Blog Post", "body": "This is the content of my first blog post. It's not very long, but it's a start!", "author": "John Doe", "tags": ["blogging", "first post"] }
You might follow that up with “Add a UUID” or “Add a JWT auth header”.
Copilot can answer questions too - e.g. “How do I unsubscribe a user with the Mailchimp API?” They use the “HTTP PATCH” request type - WTF.
I mostly use httpie on the fish shell with autocompletion for quick requests, but it’s no replacement
httpie now also has a postman-like UI! Been using it for a while and I’m liking it for what it is - https://httpie.io/app
I also have been using httpie for a few years - it is really great.
Recently I have started using nushell which has a similar module builtin: https://www.nushell.sh/commands/docs/http_get.html Combined with rest of the nicities in nushell its a pretty good cli experience.
How’s nushell been for you so far? I took a look at it once when it was relatively new and was missing some features I needed, like shell scripts.
I like it. The docs are a bit scattered and I haven’t switched to it completely, but it has proven to be very handy for some scenarios where I scrape some content from external sources and pull them into a local sqlite as a long term structured archive.
I must be the only moron using JMeter in place of Postman.
real madman. I remember using JMeter few years ago and it was a nightmare. Did it improve over the last 5 years?
Insomnia is great and has an easy, simple interface. But I feel like creating complex collections with different environments is a lot simpler with postman
Hoppscotch is pretty cool
Yeah it’s called curl lol
No joke, I use curlie, .curlrc and a bunch of scripts
can you elaborate a bit on that ? I’ve only used curl from cli and never used .curlrc. and what’s curlie ?
Curlie is a wrapper on curl that makes more ergonomic to use. I set path to cookie jar in .curlrc. I sync cookies from the browser.