Reputation: 259
I need some help to use JMeter. I want to record two different scenarios like clicking 2 different buttons. If i try to run for 2 users, one user should hit first button, another should hit another button concurrently.
I know this is the basic question. But i am new to this one. Thats why asking here. I have tried like below:
Thread Group
-Throughput Controller
--Login
--Clicking 1st button
-Throughput controller
--Login
--Clicking 2nd button
When i run with 2 users using CSV Data Set Config, both login takes same user.
And also i need to test for concurrency. I am not sure how to execute this one correctly. Could anyone can help me in this?
Upvotes: 7
Views: 18020
Reputation: 12873
Throughput Controller will work correct if you have more than single iteration.
I.e. you should have N loops (using Loop Controller e.g.) with child Throughput Controller set X percents (X is integer, 0 <= X <= 100) - so than X% from N loops is integer value too.
You may look into this discussion for better examples and explanations.
For your case you can try to use construction like the following:
Thread Group
Number of Threads = 2
Loop Count = 1
+- While Controller
Condition = ${__javaScript("${login}"!="<EOF>",)}
+- CSV Data Set Config
Filename = users.csv
Variable Names = login,pwd
Delimiter = ,
+- Loop Controller
Loop Count = 10
+- Login
+- Throughput Controller
Percent Execution
Throughput = 50.0
+- Clicking 1st button
+- Throughput Controller
Percent Execution
Throughput = 50.0
+- Clicking 2nd button
+- Logout
where
- there are 2 threads (Thread Group: Number of Threads = 2) started simultaneously each with unique credentials extracted from csv-file (While Controller + CSV Data Set Config), used for Login;
- the whole test-flow - login > click button (either first or second) > logout - will be repeated N times using Loop Controller, which one makes Throughput Controller work.
Upvotes: 10