Sep 25, 2022
From the coding point of view, probably the obvious answer would be Locust, but let's look into this thing even further and why JMeter is the way to go for me.
Same as Locust, JMeter is pretty well documented, but the main distinct feature it has - is the UI - you can design your tests visually and on pretty much any platform that runs Java. Even if you have never touched JMeter before, you can still figure out the way through by trial and error or by taking one of the Udemy classes, one of them is "JMeter 2021 | Short Course | Step by Step for Beginners " (https://www.udemy.com/share/105rYY3@-BaI3rp12FLFWGfZfSNeZP4IhadMPEqCI7tRfw7RHcC0AI4DHfzaggmBQnpMvBXi/) I found it pretty okay as a starting point.
JMeter allows scripting; one of them is BeanShell, lightweight scripting for Java. More, you can add OS-level processes to be part of your testing - I, for example, run Hurl tests first (https://hurl.dev/) to probe my API endpoints, and on their completion, run the rest of the tests scripted in JMeter.
Then, maybe you want to run your tests from multiple clouds and get the real picture of the performance - there BlazeMeter for that (https://www.blazemeter.com/), - a continuous testing platform where you can upload your JMeter tests as is. More, they have a plugin for Chrome-based browsers that allows you to 'record' your test script while browsing some web app or website and then export that recording into JMeter.