Testing request after request jmeter - jmeter

I have a quick question I have a simple web application composed of cars a user is able to select the car and then is displayed his choice. The application is a dynamic web application built in eclipse.
So I am testing my web application using jmeter.
Firstly the user searches for a car ..... this works in jmeter
The result page has a checkbox with select car, the user checks the box and the cars are selected... this does not work.
THe thing is after the user selects the cars his selection is shown the thing is how do I test generate proper Http request for this because the each of these request share data amongst each other and cannot be tested indvidaully. I am using a simple controller in jmetter and I have grouped these http requests
So it looks like this
Simple Controller
Search Cars (Get Method ) ... Works
Search Results .. works
Select Car (Get Method)... Does not wrok
Selected Cars ... Does not work
I am new to jmeter

Kindly go though the below link, it will help you to record and replay the scenarios using Jmeter
http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf
first you can record the scenario
second apply correlation where ever required
group the scenarios together using controllers (simple/transaction... etc.)
re-run the script
Hope this will help

Related

Facing issues in __eventvalidation and __viewstate in jmeter

i have a scenario, as given below
once the user navigating to planning page and
clicks on a menu,
it will open the lists of recipes in week wise.
if the users wants to add a recipe for a particular, it has an option to click on '+', which will open a popup window which has all the recipe details available.
I have recorded the scenario using JMeter and it has the dynamic values like __VIEWSTATE and ___EVENTVALIDATION etc., and correlated them as well.
But at the 4th step, in the jmeter instead of proper response body and the below message is displayed.
1|#||4|137|pageRedirect||%2fPerfTesting%2fError.aspx%3faspxerrorpath%3d%2fPerfTesting%2ffi-FI%2fDefault%2fKAXXILA%2fPlanning%2fPlanningMenuWeekView.aspx|
Any suggests
Make sure to add HTTP Cookie Manager to your Test Plan
Make sure that your correlation really works, i.e.
associated JMeter Variables are there
they have correct values (like you extracted the dynamic parameter fully)
depending on your application and extra step might be required like URL-encoding the parameter or vice versa
You can use Debug Sampler and View Results Tree listener combination in order to check these variables
Use an external sniffer tool like Wireshark or Fiddler to capture the requests from JMeter and the real browser, the requests must be exactly the same including:
URL
Headers
Request body
all the dynamic parameters must be properly correlated. Given you will send the same request you should get the same response

What to check when testing controllers in Spring

I am testing controllers in simple Sprinng application using MockMvc. It is first time I am trying to do testing. Based on resources I found, I am successfully running my tests, but I am not sure about what to check on responses. My controllers only return name of views to be rendered:
index page (contains menu bar and welcome text), product page (contains menu bar and empty table of products) and about page (again menu bar and some info about author).
Tests looks like this:
mockMvc.perform(get("/myviews"))
.andExpect(status().isOk())
.andExpect(view().name("myviewsnames"))
.andExpect(forwardedUrl("/WEB-INF/jsp/myviewsjsps.jsp"));
But based on MockMvcResultMatchers documentation https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/web/servlet/result/MockMvcResultMatchers.html
I see a lot of other options for matching. What else, and why, should I check in my tests? Thank you.
Actually MockMvc is a great way to test RESTful web services, you can test your responses based on their headers, status code and response body. In the case of your use case you can test your view name based on some request criteria if any exist.

How to use jmeter using ant task - load testing on Dot Net application

I have just tried jmeter examples using ant task. I got the HTML output. Now,
I built my application using c#.net,asp.net,javascript,jQuery,Ajax,Json etc.
This is the url http://localhost/test/pagemanager.aspx which shows my
LOGIN Screen. Once after login, the user can access over multiple menus(pages) to access like checking their personal data, overall student details like batch wise, registering a new student etc... My URL http://localhost/test/pagemanager.aspxremains constant at every time.
The site can be accessed by multiple users for multiple times. I needs to find a load testing. Can some one give me a configuration step to find load testng to my application.
Thanks in advance.
First of all I would recommend recording your test scenario steps starting from login via JMeter build-in HTTP(S) Test Script Recorder.
See JMeter Proxy Step by Step guide for detailed instructions.
Once you have recorded test flow you'll need to do some correlation as the nature of ASP.NET applications assumes mandatory dynamic parameters like VIEWSTATE. So you'll need to extract VIEWSTATE and similar from previous server response and add it to next request.
See ASP.NET Login Testing with JMeter for more details.

JMeter - link clicking to generate a username

Sorry if this has been answered already, i tried to search but could get the exact information i am after.
The issue:
I am using JMeter to run some tests on a web application, as part of one of the flow, I under a first and surname in 2 input fields and i have link (Get userid) on clicking on the link the system will generate a user name. The user name is made up of first 4 letters from surname and first letter from the firsname and number at the end example: firstname is Test and surname is Environment, on clicking the get user id link the username will be generated as 'envit1' if 'envit1' is already existing then it would generated 'envirt2'
How do I simulate the click which generates the userid using jMeter.
Apologies but I am fairly new with JMeter, please ask if you need more infomratmation.
Many thanks in advance, Kay
If you're new to JMeter the best way to get things done is recording your user ID generation steps using one of the following approaches:
JMeter bundled HTTP(S) Test Script Recorder which acts like a browser proxy
A Google Chrome Extension which is capable of recording JMeter .jmx scripts right from your browser.
You can see what requests are being sent and HTML responses using handy View Results Tree listener.
However if clicking on link isn't being recorded, it's being handled by client-side Javascript. JMeter is not a browser and isn't capable of executing Javascript so you'll have to use WebDriver Sampler as Releasematic suggests.
You can use WebDriver Sampler but in each iteration it opens browser which may increase RAM usage. There is another option is to generate user id by running JS code in "JSR223 Sampler". With JSR223 Sampler you can run JS code but can't get access to DOM, so such JS code won't work:
function () {document.getElementById("edit-buttons-cleanup").click();};
You can install the plugin pack for the JMeter WebDriver sampler. Then, using some Javascript commands, you can start either a Firefox or a headless HTMLUnit and operate upon a webpage in a Jmeter step.

JMeter - How do you group all requests related to a page to provide cleaner results?

Im new to JMeter and have just created a test plan using the proxy server.
The test plan covers a fairly long user journey on a web app with a lot of pages, images, scripts and css being requested, because of this when I run the test plan and view the results in a listener such as the 'View Results Tree' the sampler list is very long and if I try and use a graph there are so many results its hard to make out individual values.
Is there a way in JMeter where I could group all the requests related to a page under that page and only have to page name display in the listener but still have the ability to drill into an individual page and see the details for each sample?
Thanks.
For this you can use Transaction Controller:
https://jmeter.apache.org/usermanual/component_reference.html#Transaction_Controller
Keep Include duration of timer and pre-post processors in generated sample unchecked.
If you're looking to learn jmeter correctly, this book will help you.
I agree with PMD, Transaction controller is exactly what you need.
You can achieve that automatically (while you're saving your test) if you enable jMeter proxy's option Put each group in a new transaction controller.
A couple of more details (about jMeter Plugins' listeners I regularly use) here:
Define a group of requests in order to obtain a total time in Jmeter
You can use the tool BADBOY tool to record your test and there you can easily bifurcate/ remove the unwanted content.
From BADBOY you can directly Export the recorded script to JMeter by simply from
File menu>>Exort To JMeter
This is what currently we are following and is a bit easy to use.

Resources