I need to perform a load test in my application and need to do it in a way where I can perform a short set of very common user cases. For that i would like to record the user interaction for each user case and replicate it say for 50 simultaneous users.
To monitor cpu and heap usage I am using VisualVM. In order to launch this test I am using ApacheJMeter, however I am not being able to reproduce the user interaction with my application. Is there such a plugin for jmeter or should I consider focusing in other tools to attain this goals?
"I am not being able to reproduce the user interaction"
What exact problem are you encountering when you run your test?
posted 4 years ago
first of all many thanks.
The point is that with jmeter you can perform a load test, but only accessing the start page of the application (as far as I know, which is very little). Ideally I would like to record some user interaction with the application, save this interaction, and replicate it for 30 simultaneous user, so I can check if the current architechture is robust enough to hold that load. My application performs heavy access to databases and produces quite a lot of reporting, as well as displaying quite a few pictures. So whit what I am mostly concerned is memory usage. Accessing the start page is not very meaningful. I need to program a set of specific navigation and use cases, to put the database layer in stress and also query graphic and heavy db related processes in a multi-user manner to ensure the application will respond efficiently.
I need to enter the application, navigate some pages, execute some queries, download some files and produce some reports, for each user. And would like to record those actions in the application in a "macro" manner, to execute it afterwards multiple times.
I haven't managed to find something for jmeter in google. I know there are separate applications where you can record and program this user interaction, but with those softwares you cannot launch a user interaction macro replicated 30 times!. So that's what I am looking for. Can JMeter perform such a thing? Perhaps with a plugin?
Hope I have made myself clear.
posted 4 years ago
I finally managed. Had some problems understanding the logic of JMeter, but found a couple of good tutorials and could finally do what I was aiming.
JMeter is not smart enough to successfully replay recorded session as modern web applications use many ways of tracking the user, page he came from, status of web page, passing headers back and forth, etc.
JMeter can handle or workaround the majority of challenges, i.e. it provides =http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_ManagerHTTP Cookie Manager to simulate user cookies and deal with cookie-based authentication, HTTP Cache Manager to represent browser cache, etc.
However there could be some parameters, JMeter isn't able to handle automatically and some manual input will be required. If you see that your scripts are hitting only login page - something is definitely wrong. Take a look at ASP.NET Login Testing with JMeter guide to learn how to work with dynamic parameters and perform their correlation.
I would also recommend familiarising yourself with Using CSV DATA SET CONFIG guide to learn about basics of JMeter tests parametrization (if you planning to simulate 50 users you need to provide their credentials to the login request somehow)
please buy this thing and then I get a fat cut of the action: