Each JMeter thread (virtual user) runs Samplers upside down so you don't need to do anything, your requests are executed from top to bottom already. If you run your test with 1 user - you will see that requests are being executed sequentially.
If you're seeing some "mess" most probably it's caused by concurrency, like
- 1st user starts 1st request
- 2st user starts 2nd request
- 2nd user starts 1st request
- 1st user starts 3rd request
- etc.
You can see this yourself if you add ${__threadNum}
function as the prefix or postfix for your request (or transaction controller) label and eventually ${__groovy(vars.getIteration(),)}
function to display the current loop number
With 1 user:
With 2 users:
With 2 users and 2 iterations:
As it evidenced by the above images each users executes samplers sequentially on each iteration, these "inconsistencies" are misleadingly interpreted due to concurrency
See Apache JMeter Functions - An Introduction article to get familiarized with JMeter Functions concept
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…