Why I don’t use Postman

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.