Being an API person, many people would expect me to use Postman. It’s the most well-known tool for HTTP-based APIs and it’s so ubiquitous that some use it even for SOAP (not the best idea ever).
I did use Postman. My gist with installation scripts for Linux was so popular that Postman support team reached me out when it started causing non-obvious issues with updates. I also used this tool for internship courses. Yet I won’t do it anymore and let me explain why.
#I’m not a tech writer
Postman isn’t just a tool for testing: it’s often used for writing documentation. I’m a tester, thus, this use case does not apply to my day-to-day work. Maybe it can be useful for your organization, though I don’t approve of the inability to self-host.
#I’m confused by GUI-driven tools
I still have PTSD from SoapUI. It’s the best exploratory testing tool for SOAP services, but, damn, scenarios more difficult than request+response are brain busters. Many people don’t have problems with GUI-driven stuff:
- JMeter for load testing
- UI git apps
- Point&click tools for web automation
For me, all these are torture devices for anything more involved than two clicks. It’s something psychological, because if GUI tool requires tinkering with LEGO-like loop/if steps or pre/post-scripts, my nerve cells start audibly screeching. I’m not a command line nerd and I use these tools for certain activities, but not for complex automation.
#I can code
Here we go to the obvious part: I am comfortable with code. Yeah, shitty smelling code, nevertheless, I find it way more intuitive to write a for loop purely in a programming language than to glue together pieces of JavaScript with GUI-level bits.
My language of choice is Python because it’s very easy to scribble down a working script. It also has packages for any API needs imaginable, be it Requests, Bravado, Zeep, or Yandex.Tank.
#I use Insomnia
Until recently I still used Postman a bit. I switched to Insomnia for mostly emotional reasons:
- Insomnia is open-source.
- Postman is bloated with features I don’t need.
- There is too much Postman around. They even organize a conference now! I wonder is there a certification somewhere already.
Insomnia is a case where less is more. I hope its recent acquisition by a bigger company won’t be detrimental, but being open-source we can always fork it.
Though it’s not the only tool I use for exploratory API testing. My general patterns are:
- Rapid data creation or testing simple requests: curl
- Requests with bigger payloads: SwaggerUI or Insomnia
- Chained, looped, or other complex stuff: reusing bravado-based adapters from automation framework
And for actual automation, it’s code and code only.
Your brain is your brain. Your context is your context. Mine resulted in avoiding GUI-driven tools. Research, try different approaches, and don’t simply default to the most popular choice.