Usually I haven’t had to do anything too complicated, so I’ve just used curl. But for testing some APIs on Open edX there are more involved steps, such as generating JWTs, retrieving CSRF tokens, etc. I played around with https://yaak.app/ today and it seems pretty slick.
@samuel I mostly copy any request as curl using browser developer console and modify it. It already has the required session data, csrf tokens etc.
And sometimes I use https://hurl.dev/.
I use httpie, which used to be a terminal-only app but now has a GUI as well. I haven’t used the GUI much though. I only find GUIs useful when I am developing a completely new API and need to test it in varied conditions with varied data.
I’m usually going with curl but if I need something more robust, I’m taking a deep breath and opening Insomnia, Hoppscotch, or if I hate myself that day, Postman.
Let m throw Bruno in the mix as well. It came up in the Indian FOSS community. Apart from the regular GUI, it also offers custom DSL called “bru” to write your API as code, which can be versioned with Git. I haven’t needed to document any API yet, but will be my choice if I have to.
Hoppscotch was pretty great when they launched, again an Indian FOSS project. But the feature bloat has been just something. It feels heavy and I rarely use it these days.
Thanks for your comments everyone! I’ve played with a few different ones now. I’m surprised at the landscape for the GUI testing tools - most seem to be either proprietary or only open-core. And the ones that are open source don’t appear to be friendly to linux distro package maintainers or building from source: lacking docs, complex build systems with vendored dependencies, directly building appimages, debs, etc. I’m running Alpine Linux (musl libc) and struggling to build Bruno or Yaak so far (although I can successfully run in their respective dev modes). I haven’t found any of them in the Alpine repos yet either, probably because of these issues.