0

I'm doing a performance testing using JMeter. I'm trying to run a load test for series of APIs that provides the process of create, update, and delete for a certain scenario. Creating the item must happen first in order to make the next 2 requests work and return 200. I'm using normal thread group with transaction controller to add the HTTP requests in it.

To illustrate more: I have request 1 create, 2 update, and 3 delete. Requests 2 and 3 depending on running 1 first. I want to have 5 users to do the test concurrently. So user 1 will go create item then move to update and delete after, and at the same time the rest of the users should be creating item and then go to the next 2 requests and so on.

When I tried to run the test using multiple threads (10 threads for 5 sec ramp up period and loop count 1), a lot of requests for the update and delete fails because they couldn't find the IDs created for the item. I will need to do the tests on larger scale of number of threads and ramp up period not only 10 threads.

I searched a lot for a way to run multiple threads concurrently which include the requests running sequentially but couldn't find any results. Can someone help me with this issue?

1 Answer 1

0

It should work normally

  1. Each JMeter thread (virtual user) executes Samplers upside down (or according to the Logic Controllers)
  2. If you're extracting created item's ID into a JMeter Variable then it shouldn't be a problem as well because JMeter Variables are local to the thread and other threads cannot "see" the variable value

So either you're trying to run a test with missing or improperly implemented correlation or there is a bug in your application and it returns the same IDs for items created by concurrent users. You can check what's wrong by temporarily enabling saving of request and response data and adding Debug Samplers to your test plan so you could see all JMeter Variable values for each request.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.