JMeter Full Course - Master JMeter in 5 Hours

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
foreign [Music] why we need J meter and furthermore we will see how we can download and run the J meter on the Windows machine so let's begin geometry is basically an open source Java based application geometer is used to measure the functional behavior in terms of the performance so using the J meter you can measure the performance of your application initially gym meter was developed for the web applications only but now they have extended their features and functionalities and you can do much more than that for example now you can test the performance of your apis as well now let's discuss why we need to do a performance testing for example tomorrow you will be developing an e-commerce application so it is expected that maybe thousands or maybe millions of users will be using your application at the same time especially in the cases of the promotions right so the more number of users will be accessing your application the more resources of your application will be consumed so at some time your resources will get consumed and your application will start slowing down and eventually your application will stop responding so if this happens your customer will not be able to purchase anything from your site and eventually it will impact your Revenue so that's why in order to provide a smooth experience to the end users we need to do our performance testing okay so now let's see how we can download and run the J meter on the Windows machine so here are the steps you need to follow in order to run the G meter on your Windows machine so first you need to download Java because geometry is a Javas application so you need to install the Java on your machine so that you can open the gym meter and work with the performance testing okay so you need to download a Java first then you need to set up the environment variables for Java setup setup environment variables for Java okay then verify okay then we need to verify that Java is installed and working properly okay after that we will download J meter and finally we will run jmeter okay so these are the steps we need to follow okay so Java is already installed on my machine but for you if you want to install Java so just go to the browser and type download Java or download jdk okay so once you will download that okay you need to define the environment variables okay for that let me open the environment variables to show you how you can Define the environment variables as Java so let me open this one on my machine environment yeah so I'm opening that one okay so you need to go here environment variables and here what you need to do is that first you need to create a new system variable okay and you need to give a name in caps Java underscore home and you need to provide the path main root path here okay once you will do that after that what you need to do just click on this path click on added and here you need to provide a Java path okay if this doesn't work just provide the full path till the bin okay so what what is the bin path so let me open my C drive here okay and here in C in program files here's my Java okay and here so in case that particular path which I showed you earlier doesn't work then copy this path from here and paste this path here in in the path system variables okay here click new and add that one so it will start working so now you have successfully added the environment variables now this is a time to verify either your Java is working or not okay so for that open your command prompt and type Java Dash version and hit enter so if the Java versions are appearing here this means that Java is installed and working properly on your operating system if not then you need to check your environment variables okay so this is how you can download it and install the Java now the next step would be basically to download the geometer so open the browser and in browser just type download J meter okay so this is the official website from where you can download a jmeter so click on this link and from here the easiest to be is to use the zip file so just click on this ZIP file and it will start downloading right now there's some problem with the link if I click on this link it says not found and most probably this is just due to this preferred something like that in the URL but once this will be fixed the zip file will be downloaded on your system so here wherever you want to save this ZIP file you can do that so you will get something like this you need to extract this file okay and it will create a folder for you okay okay now you need to open this folder and you will see multiple subfolders here so don't worry about these folders we will discuss these folders in our upcoming sessions for right now just click on this bin folder and again you will see a lot of files here in order to run the G meter you don't need to install a j meter on your machine just click on this Windows batch file in order to run the geometer just click on this one so now you have successfully opened up the J meter on your Windows machine so in our next let's just we will first discuss about the folders we see earlier and then we will discuss the UI and interface of the Jupiter which is quite simple in nature and easy to understand thank you so much for watching this tutorial we hope that you have learned something today see you in the next lectures [Music] hello everyone welcome to this jmeter tutorial in this tutorial we will learn about the different folders of the jmeter so let's begin in our previous session we learn how we can download the geometry from the official website and how we can actually run the chain meter on the Windows machine right and if you remember that we downloaded a zip file and we extracted that file okay and after extracting the file we got this folder Apache dash jmeter dash 5.4 this is a root folder and this 5.4 basically is a version of the geometer you download it okay now just double click on this folder here and here we will see a multiple folders okay we have backups we have bin docs extras lib licenses and printable docs now we will discuss each and every folder here okay the first one is a backup folder here the purpose of this folder is to get the backup of your skips by default you will not see this folder because this folder will be generated or created by the geometer itself while you are working with the scripts itself okay so the purpose of this folder is to take a backup of your scripts if I open this one you will see all my scripts which I worked on previously so jmeter took a backup of these scripts here one more thing here to notice is that the extension of J meter scripts is dot jmx okay now just go back to the main directory here and open this bin folder in this build folder you will find three subfolders examples report template and templates okay and beside these three folders you will find multiple files so here in this build folder you will find all the files to start the J meter or if you want to stop or shut down the J meter okay furthermore if you want to set some configurations you can also do it from here you can change the properties file jmeter properties file from here if you want to set some user Properties or system properties you can do it from here okay so all these files are related to how you want to start the gene meter okay now open this examples folder and here you will see a cfcv example dot jmx okay this is an example for you okay tomorrow if you want to use a CSV file and if you don't know how to do it just open this example in the jmeter and see how it works okay now open this report template so tomorrow after execution you want to share some report okay and usually the best way is to share the HTML report so this is a template just open this one and you can see so this is how the HTML report look like here's the title the source file start time and time and some if you find some errors it will display errors here okay furthermore it will create some charts even if you want to add some custom graphs you can do that it will not be created by default in the geometer you need to create this file after the execution okay now just go back to the folder here and go bin and open the templates okay so what generator do for you is that they have created a predefined templates for you okay so tomorrow if you want to work with the FTP test okay and you don't know how to start with or if you want some template predefined template to start with you can quickly use that one okay similarly they have provided for the functional and testing jdbc okay so you can use that you can use it from here as well as there's option to use them from the UI of the geometer as well okay now again just go back to the main directory here and open this logs folder so basically here in this folder you will find all the technical documentation of the J meter especially the apis Okay just open this folder here and open this index file here and you will find all the documentation this is a technical documentation and as you know that jmeter is developed using the Java so all details are present in terms of the Java here so if you know the Java you can easily understand this one okay now just go back here and open the extras so usually extras folder is used for building up the J meter so if you have worked with the Java you need to compile your code you need to create a build from it right so similarly here jmeter needs to get built okay so usually you find end here furthermore if you want to build the J meter with some add-ons you can do that so you will find all these files here in this extras folder okay now just open this Library folder here you will find multiple libraries okay furthermore you will also find two folders one is called extension and other is called junit if you open this extension so there's a capability that if you want to use a third-party plugins okay and there's so many available so for that you need to download those plugins and place those plugins here in this folder if you want to work with those okay so this is for that purpose okay now this is a j unit folder and this folder will only be utilized when you are working with the juns Lucas type okay so we will see in our upcoming sessions how we can use that folder okay now go back to the library here just giving you example of these libraries first these libraries are basically help you to work with your scripts okay the example is that you have written a script and you want to assert that either you are getting the proper response or you are getting the proper response time or not so in order to support your Escape like you want to add assertions or maybe you want to add few more properties to your scripts okay so all these are done using the libraries okay so this is the purpose of this Library folder okay now these licenses are basically the licenses of the third party things which are used by the jmeter okay so these are all like they are using some fonts they have some licenses for it maybe it's the free or maybe it's they might be paying for it but most probably they are free but licenses are required for that okay just like log 4G okay and if you go back here in the printable documents this might be something interesting for you because it has it contains the demos you can use the user manuals so from this folder the best thing is that just open this index file and just go from this one here you will find the tutorials here you will find what you can do okay you find each and everything here okay so we were talking about the junit just open this one and you can see how you can work with the G Unit and if you see that J unit tests jarifies are copied to jmeter slash Library slash G Unit instead of jmeter Slash Library so tomorrow if you want to work with the junit sampler you need to place those files here okay thank you so much for watching this tutorial we hope that you have learned something today see you in the next lecture foreign [Music] in this tutorial we will learn about the user interface of the J meter so let's begin in our previous session we learned about the different folders and the purpose of those folders in this geometer now open this folder here go to the bin folder and you know that in order to run the J meter we need to open the geometer dot batch file okay so here is the batch file okay just double click on this file it will open the terminal and at the same time it will open the UI of the jmeter okay it's opening the UI right so this is the first look for you in order to understand this is how the J meter looks like but before we understand this UI okay we need to understand something more in terms of the best practices just open this terminal here and if you read the first line don't use the UI mode for the load testing only use this for the test creation and test debugging so what this means this means that this UI is used for only creating and debugging the scripts so whenever you are putting or executing the load test you will use the command line we will not open this one so this is one of the best practice you should be aware of and while you are working with the G meter and performance testing now let's explore the different options and different areas of the geometry UI okay on the left by default you will have a test plan so test plan is the area where you will create your skills and here in the G meter your script is basically a combination of the different elements okay and on the right side basically whenever you add any element it has some properties okay so on the right side you will see the properties of that particular element right now test plan is selected by default so you are seeing the properties for this particular plan okay now let's add some element here I'm adding a thread group so if you don't know about the third group don't worry we will learn about the thread groups in our upcoming sessions so on the left it will create a tree hierarchy for you okay and on the right side you will see a different properties of that particular element now let's add one more element here okay right so on the right side you are seeing the properties of flow control action and on the left side it is creating a tree hierarchy of your script so this is the main area where you will work okay you will add different elements in the test plan and you will create your script so this is the main and core idea of working on the jmeter on the top left corner you you are seeing the menu bar we have different options here click on the file here you can open the new one you can use the templates if you remember that we saw the templates in different folder right so if you want to use those templates you can use from this templates option you can open the existing script okay you can open the recent one if you have created any recent one you can merge the script you can see if or you can see if the plan as as you want so there are different options okay you can even restart the geometer from here now click on the add edit you have different options to add it to your scripts you can duplicate copy paste merge again you have different options the good thing is that you have another option to enable or disable the different elements present here okay for example if I select this one if I click on edit and I click on disable so this element will be disabled tomorrow if you are working on debugging the script and your script is not fine or you might need to disable some elements during your execution you can disable those admins from here then we have a search option here from here you can search any element if you want to search any particular thing you can search it out you can replace it out as per your requirements okay then you have a run options now we just discussed that in order to execute our load testing scripts we need to use the command line then the question arises here why we need to have these options on the UI then so we need this option in the UI in two cases the one case is that you want to test your skips you want to debug your skips and for that you will be executing your script with a single user okay so in that case you can run your skips with a single user just like a functional test okay similarly when you are working on different machines for example you have six different machines from which you are generating a load okay from where you have six geometers working together in that case you have to run all the geometer machines from here together so the concept is basically remote distribution testing we will learn that in our feature sessions but here's the overview of this particular run options okay now we have different options here look and feel if you want to change the look and feel the theme okay and if you want to see a log viewer just click on this one so it will print all the logs here while execution and you can also set the level of the logs if you want to have the SSL okay just click on this one add the SSL certificate so you can do that from here zoom in zoom out then you can add the plugin managers you can have you can add a different plugins using this plugin manager by default you won't be able to see this plugin manager okay I will explain you how you can have this plugin manager in the geometer and how you can add the different plugins using this plugin manager okay then we have tools from here you create a heap terms don't worry about this term right now but again you have different options here you can create HTML report you can export the transactions you can import the curve you have different tools available here and again in the help section basically you can have a help and you can go to some useful links like release nodes and if you find some sure you can create an issue okay you have very good documentation available here now you can see that you have different icons available here so basically these icons are reflecting to these different options available here in the menu bar okay so in order to go to some quick actions okay for example if you want to create a new one just click on this new one okay if you want to use a template you can use from here quickly okay so these are kind of a shortcuts and quick options okay you can run you can start you can stop okay you can clean clear you can search okay these are all options which were present in the menu so these are kind of a shortcuts and quick accessible so that you don't need to open the menu bar and search for a particular option on the right side so whenever you execute it will show the time here and if there are errors it will show the errors here okay and if you click on this one so you might not see this option here because this is this icon refers to a jmeter plugins manager by default you won't have this uh you have to do some actions you need to place these plugin files in order to work with the plugins okay so this is all about the UI of the jmeter thank you so much for watching this tutorial we hope that you have learned something today see you in the next lecture [Music] hello everyone welcome to this JV tutorial in this tutorial we will be learning about the geometer elements so let's begin there are two type of elements in the gym meter one are known as the test elements and other are known as the non-test elements the test elements are those Elements which will be a part of your test script okay and non-test elements are those Elements which will help you to create your test skills now just go to this test plan right click on this one over on the ad go to the threads and then add a thread group now what is a thread group so third group is a element where you will Define the number of uses so tomorrow if you want to test the performance of your application on the 100 users you will define those 100 users here in the third Group after defining the thread group now you need to tell the J meter that what these users will do okay for that you need to go to the thread group right click on this one go to the ad and add a sampler okay so I I have added one sampler so what is sampler sampler is nothing just a type of request you are sending on the server okay so if I go back again here right click here go to sampler you will see a different type of request available here so sampler is nothing just a type of request you are sending okay then what you need to do is that after sending the request with multiple users you need to find what is happening on the application you want to know about the response okay for that just right click on thread group go to the ADD and then go to the listener so listener is basically a type of graph and reports you will get after the executions okay so this is the three basic elements into J meter which will be utilize to create a script one is thread group other is a type of request which is sampler and third is a listener we have few more elements in the J meter now just go to the thread group or the test plan here okay and you will see a config element so config element is used for configuring your test for example tomorrow if you want to send these 100 requests with the different set of data through the CSP file then you need to Define and configure CSV data set configurations okay similarly if you want to handle the cookie cache or you might need to connect to the database okay you can do that okay through these config elements right then we have a timer here timer actually mimics the time taken by a user for example as a user if you go to the application it will take you some time to log in and go to some maybe add to cart maybe profile maybe any any feature you want to use but as a human you will take some time to perform this action so in order to maintain those times delays and think times you will be using the timer here for this purpose okay then we have preprocessors so this preprocessor will execute before the sampler means before the request okay so tomorrow you might need to have some user parameters okay before you want to execute your request and you need those parameters in your request right so you will define those preprocessor and get the values and pass those values to your request similarly you can connect to the database get some values and pass those values in your request okay in a similar context we have the post processor so after request you might need to extract some value okay for example if you are working on the apis you hit the API you will get the token now the subsequent request will be using that token so you will extract that token and pass into the upcoming apis so this is how you can use the post processor then we have assertions so once you have sent your request you want to assert you want to verify that either you are getting the proper response or not so that you can verify either your request is successful or meeting your benchmark or not assessor are used for that purpose okay then go to thread group again here and you will see we have this logic controller now so this means that logic controller will only be available under a thread group not on the transplant level okay so now what this logic controller will do for you logic controller will actually control the execution of your application okay for example you're working on an e-commerce application and you are adding a product in the cart but now you need to check if the user is logged in then proceed to the checkout else you need to login first and then check out so in order to get a different conditions we have different type of logic controls available here you know order to deal with the executions okay so these all are known as the test elements okay so for what we have learned all about the test elements now we have some other elements okay this is called a test fragment test fragment is a special type of a controller it works differently than the logic controller we will see how it works in our feature lectures okay then we have a non-test elements so as you know that non-test elements are those Elements which are used to create or help you to create your test you can see that we have this HTTP test script recorder now why we need that tomorrow if you want to mimic a user flow from login to checkout okay there might be a multiple request okay and getting each and every request and mapping here in the G meter would be a very difficult now so what you need to do that you need to use this non-test scripter okay and you will record that scenario and it will capture all requests for you then what you need to do is that you need to customize those requests you you might need to parameterize those requires you need to add the thread group and the listeners and execute your script thank you so much for watching this tutorial we hope that you have learned something today see you in the next lecture foreign [Music] tutorial in this tutorial we would be creating our first geometry script based on some real-time scenarios so let's begin now first understand the scenario and then we will map the scenario on the geometer so that will make you understand the need and how we can Implement those thing on the gym meter so for example you are working on an application e-commerce application and business team or the client is planning to launch promotions on the newer night okay so this is simple scenario and the business Expeditions are that all promotions should be available okay and their users and customers should be able to Avail the promotions without any problems so this is a simple scenario and the business expectations now what can be the possible problem the possible problem is that when the promotion will be launched there might be unexpected user flow on the application which may cause the slowness or even it can crash the application so in this scenario the users might not be able to Avail the promotions and offers and Company will eventually have the impact on their revenues so now what is the solution solution is to check the application performance before you launch the application okay so now let's take a test case here means a certain number of users would be accessing the application on the launch date or launch time right so this is a scenario okay in order to take an example here just go to the browser and open this demo blaze.com this is an application simple application by the place meter so you can use this application for the practice but make sure that you should not put a much of the load on this application just try to learn the J meter okay and use this application but again I'm repeating this thing do not put a load on this application so this application will we will be using okay now just go back to your J meter okay so this is a j meter and what we need first we need to tell jmeter that how many number of users will be accessing this application okay just right click on this one add thread group okay let's do it with the one thread on one user right now okay then what we need to do we need to add assembler a type of request okay just add here a request then what we need we need a results after this request okay just add here a listener simple view results tree okay so it's added under the thread group okay now just rename these things so that it would be easier to understand what is happening okay just name it as Maybe promotional launch load or something like that you can name it accordingly then this would be you know your application right now I'm naming it as application Blaze demo okay and so these are few things we need to provide here so what is the protocol here if you go here the protocol is https just copy from here go back to the J meter and provide this protocol here okay then after the protocol we need to provide this demo blaze.com okay let's copy this one go back here and just provide this one here and we need to tell what kind of a request it is okay so obviously we are sending a request we are expecting to get some response okay now now just check this request okay just I'm hitting this request okay just play this one yes and okay saving this one and it will execute okay so you can see in the view results tree this request got successful this is correct this is mean green means this is done successfully okay and the response code is 200 and okay and this was a request we sent on the servers and these were the request headers and then this is a response data now just go back here in the J meter and just clean the results from here and go to this thread group now change the number of threads to two now initially it was a functional test we just created the script now what we are doing we are just putting a load okay we are increasing the number of users here okay now let's send this request again and see now you see the request got successful twice okay so that's how you can create a very very simple and basic script uh using J meter for the performance so tomorrow your application needs to be launched on certain time and the expected load might be maybe 1000 users so you can add those thousand users here and run the screen okay so this is a very simple way and very simple skill in our upcoming sessions we will learn much more about the J meter so keep watching this series thank you so much for watching this tutorial we hope that you have learned something today see you in the next lecture thank you [Music] hello everyone welcome to this jmeter tutorial in this tutorial we will learn about the assertions in the J meter so let's begin first now let's understand what are assertions in the gym meter and then we will see how we can use the sessions in the J meter practically with the real diving samples okay so first let's understand what are assertions in geometer okay in J meter assertions are used to verify the data or maybe the response time in in simple words assertions are used for verification purpose okay if you want to verify something then you need to use the assertions okay for verification purpose then now let's understand this concept of verification okay so you must have created the test cases as a manual tester okay so while creating the test cases there are two important Fields okay one is called as actual results and other is known as expected results okay actual is what your application is doing right now when you're using it and expected is basically what you are expecting from application to do in other words it is something related to your requirements if your requirement is saying that on clicking on the submit button form should be submitted so this is expected okay now you will go to the application and see either on clicking on the button the form is getting submitted or not so what we are trying to do we are actually comparing the actual results versus the expected one if both are same so actual is equal to expected this means your test case is passed okay and if not then obviously your test case is failed so a session worked in a very similar way in the J meter you need to put a session and J meter will see either you are getting what is you are expecting okay so this is how your J meter scripts will work okay now let's see this practically okay just open the J meter and now open the skit we created in our previous session okay just go here in the file click on open and we created this blast demo example open this one okay and just dry around this one and see either this script is working or not just click on this one and yes your script is working so your request is Success now we want to check that either we are getting the proper data proper times proper size in terms of the byte okay there are multiple things we can check on this script okay now just go to this main application sample right click on this one click on ADD add assessions we have these multiple assertions okay depending on the request type we are sending right so now just click on this response assertion okay and in responsive session we are checking the response so we are expecting that the Response Code would be 200 okay or we might be expecting some particular data in the response okay so for that purpose this response session will be used you can name this as per your requirement okay for example I am changing it to verify that status code should be 200 okay then if you want to put some comments you can do that then then you need to tell the G meter at what level you need to apply this assertion okay so this is a sample if there are multiple sub samples so you need to Define okay mean simple only sub samples only maybe both of them and just leave this geometric variable name right now we will discuss that in our upcoming sessions but right now just understand this thing is that this is a level where your assertion will be applicable okay and then we have this field to test so this is the area where you need to decide what exactly you want to test either you want to test the text response Response Code response message response headers request headers so whatever you want to test you need to Define here you need to select that one here and after that we have a section called pattern matching rules so here you want to tell the geometer how J meter needs to match this one either it it will do on the business of contains matches equals so their different way for the comparison so you need to define the rule here okay after that here in the patterns to test you need to Define how and what you are expecting okay exactly what you are expecting so just click on ADD and for example our expectation is that in response the code will be 200 okay so I need to select the response code from here okay I am saying that it would be equal okay and then 200. okay now just run this request again and see what happens so by default if you are a session passes you will not get any information here okay but if it fails you will get the information so now let's deliberately fill it out okay I'm changing it to maybe two zero one okay save this one and run this again okay now now this time you can see it's failed it's marked as a red and if you click on this one it says verify that a status code should be 200 this is failing okay just click on this one and it clearly is saying that expected to equal they received this this is 200 and in comparison it was two zero one and this 2 is 0 1 here is what we are expecting and 200 is basically what they actually received okay so that's how the assertions work okay now let's go back here and again change it to 200. okay save this one now just add another request go to assertions response assertion and this time what we need to do is that we need to verify some response data okay so if you go here in this request go into the response data and just let me find something here so here you are finding something called home okay so now you are this case is third in response you are expecting to have this home coming up okay now go back to the assertion here okay verify that home should be in the response okay now we need to Define we have this is already set as a text response Okay just set a pattern here okay so pattern is home basically and right now we are using this substring rule okay just save this one and run this one okay and let's see what happens so the request is passed so this means that in response we are getting this form okay now just chain this one to home one save this one and run it again okay and let's see yeah so this time is failed and saying that verify that home should be in the response so actually we are now searching for home one home one is not actually present home is present so we are actually deliberately failing it right to understand the concept of assertions okay so now just click on the main request okay then we have other things here now one of the important thing is that load time so when we talk about the performance we are very much concerned about the times okay so now how you can assert this time for example you are expecting that 100 users the response time or the load time should not exceed to maybe two seconds for example okay so how you will assert that in the J meter so just go to the sample here click on ADD go to the sessions and we have a session called duration assertion click on this one okay and here again you need to provide the name comments and level of a session where you need to apply and then here you need to provide the duration of the load in terms of the milliseconds okay so if I go back here in the results tree so we are getting this a 800 or something okay and if I go here I make it as 1000 milliseconds okay now just run this one to understand this session okay so duration a session got failed okay now see what message we are getting from the J meter the pressure lasted too long it took this time but should not have lasted longer than this one so what this means so this means that this is a maximum time okay our response should not take more than 1000 milliseconds okay similarly let let's go back here and see what we are getting an actual so Jupiter is saying that one zero five nine okay and yeah so one zero five nine now let's run this again so this might be passed this time and yes this is passed now because the time is now 774 okay so this is the the whole thought process and concept of the assertions okay now just go back to the sample here and add one more assertion okay and let's add sizes session here okay and now what is the size okay so if I go here in the V2 results go to the main application and see so this is a size in bytes so for example if we are hitting on application and you are expecting a certain size in response in terms of the bytes you can also assert that okay so for example I need to assert this one I'm coming from here going back to the size Association here and again you need to provide the name garments at whatever you need to implement this one okay now here we have the spawn size field to test when you tell that on hold response may be on the response headers maybe only on the responsibility Response Code response so we have different sizes for each and everything but for example right now our ex our requirement is to test the complete response okay then we need to provide a size here in terms of the bytes okay and then we need to tell the geometry that how we need to compare it okay either equal not equals greater than less than less than equal to greater than equal to okay right now what I am saying is that it should be equal right and let's see what happens okay let's execute our script and see what happens so the size assertion field okay the result was wrong size it was this one and we were expecting this one we are saying that it should be equal to this one okay that's why if I go to this main application Linker here we can see that this is what we are getting in the real time okay now let me change this to something else um maybe greater than this one or yeah and let's see what happens now okay again the size Association field so what is saying right now the result was wrong side it was this one okay but should have been greater than this one so we are saying to J meter that our response should be greater than this one okay so now let's change it to less than and let's see what happens okay and you can see that right now this time we didn't get a size assertion failure okay so this is how you can Implement different assessions as per your requirement furthermore what you can do is that if you need more information in terms of the assertions just go here and go to add go to The Listener and we have a very specific listener called assertion results click on this one and now execute this one again so here you will get the information about all the failures okay so tomorrow if you want to log or want to save these errors or assertion failures you can do it from here okay you can log and display error you can even configure the file write the results to the file or read from the file either you can read from the file or you can write to the file now what is the purpose of this assertion results here tomorrow your manager might ask you okay please tell me what assertions were failed send me the file okay so instead of going here and copy each and everything and sending uh to your manager so better option is to write these results in a file and send that file to your manager thank you so much for watching this tutorial we hope that you have learned something today if you like our content please like subscribe and share our content See you in the next lecture thank you thank you [Music] hello everyone welcome to this Gmail tutorial in this tutorial we will learn about the thread group in detail with the real-time examples so let's begin thread group in the jmeter plays really important role because in thread group we have to define the number of users for our performance or the load test right so in order to understand the thread group in a tail let's open our test which we created in our previous sessions and then we will Implement some kind of a different strategies which can reflect in the real time okay so open this test now and here you know this this is our thread group we use that thread group right in this particular thread group we have a multiple options we have to provide the name comments action to be taken after a sampler error let me have this thread properties okay so we have these three sections here in in this particular thread group first the most important is that we need to name our thread Group which is relevant to your trust for example if we need to test our sign up okay where multiple users will be coming up and signing up on our application so your name should be reflecting to something related to sign up so tomorrow there might be multiple thread groups in your test so it would be easier for you to identify what this particular thread group will do okay because every action or every request is under this thread group okay so this thread group will execute this particular scenario and then give us the results so that's how it works okay so always name it properly okay then if you want to give some comments so comments might be very useful when you are working in a team and you want to highlight something you need to put or give some information to your colleagues or your team members then this comments will be very useful so use that comments in that particular case okay then we have this action to be taken after a sample error so this is a sample okay this is a sampler right and this is saying that what your skip should do once it got some error okay so usually in 90 cases what we will do is that we will go with this continue option the reason to use this container option is that we need to see there there might be some you know five percent failures that's fine but we need to know what happened with the 95 percent of the users or the flows okay so that's why in most of the cases we will go with this continue option in case if there is an error right then we have this start next thread Loop okay then we have stop thread stop test stop test now okay so what is start next thread Loop we haven't yet discussed about the looping here but the idea here is that it will move to the next Loop we will discuss this looping ah shortly but right now just understand this thing this start next thread Loop will start the next Loop here okay then the stop thread means it will stop that particular user a stop test means it will stop your test and then stop test now so stop test and stop test now looks like similar to you okay but there is a difference stop test will stop your test but whatever your thoughts will be doing they will complete their operations however in a stock test now it will stop your threads or users immediately maybe in the half of your you know flow or execution okay so that's a difference between stop test and stop test now now when you have to use these options especially in some cases you might need to use these options in the real-time scenarios but mostly this option will be used when you are actually debugging your skips so you want to see what is happening in case of the failures you want to stop you want you don't want to execute all your script if you face some failures because you you are just trying to validate your script not executing an actual performance test okay so these options are very much helpful when you are debugging your script now we have these thread properties thread properties has multiple options like number of threads remember time Loop count okay now let's discuss each and every option here okay so the the first one is the number of thread so number of thread is basically really simple here you need to define the number of users you want for your performance test okay so tomorrow you if you want to test your application on 100 users you need to Define 100 here then we have this ramp up time so what happens in the real time is that if your application is being used by thousand user so it is less likely that thousand users are performing the same function and features at the very same time there's always some time difference when actual users are performing some actions okay so we need to mimic or we need to replicate this thing in the J meter so now what this ramp up time will do for us for example if I'm giving here at as a 50 users and I am giving it here as a 10 second of the random time so now what will it do okay so it will perform all these 50 users will be on the application within this 10 second okay so they're gradually coming up these 50 users are gradually coming up on the application and in 10 seconds we have all these 50 users on the application okay then we have this option Loop count and infinite so usually we don't go with the infinite because we want our test script to stop at some time okay and loop means how many times I need to execute this scenario okay this 50 users coming on the application in 10 seconds so how many times I want to execute this one for example if I want this scenario to be executed for five times okay so I need to select here is a 5. so this 550 uses coming into the application in 10 seconds and this scenario will repeat for the time for five times okay right now I'm executing this for one so we can see that how it works okay so just execute this one and see what happens so you can see the user are coming up on the application and it these all 50 users will be on the application in 10 seconds okay so they started from here and they start ended here so till here it took you know 10 seconds for these 50 users to come up on the application or to perform these actions right then for example so let me reduce this number of users here okay let me do it like 10 users coming on to the application in you know two seconds and now let's increase the count okay and I'm removing this one from here so that we can see how it works so you will see that the number of iterations multiplying okay so how many times it should get executed so 10 means if we are looping it into 2 so 20 times this request will get executed so if you go here if you count here so this request got executed 20 times so this is how looping works then we have this infinite option obviously we don't need our script to execute for hour right so if we choose this option here then we have to use some options from here for example we need to specify the third time okay in some cases we really don't know how many attentions we need okay in that particular case what happens is that we need to define a time for example we saying that all users should be on the application in 30 seconds okay duration in 30 seconds okay so how many additions are required we don't know okay so let's execute this one and let's see how it works okay so you'll see they are gradually increasing okay and now the graph is quite bigger than or larger than what we got previously okay so you see it is still running they are coming up gradually gradually gradually on the application till the 30th second you see still they are going 23 seconds 24 okay 25 so it will stop when the 30 seconds will be completed okay so now it's completed you can see so that's how this feature works secondly what what if I need to execute or start my test without with some delay so in order to give some delay let's suppose I want to delay for five seconds so when I start my execution This Thread will wait for five seconds then it will start the execution okay so let's see this how it works okay and just execute this again okay and let's see you will see that it will wait for 5 seconds then it will start execution okay you will see that so you can see it wait for five seconds then after five second it will start execution and it will complete you know the 30 seconds here okay so by using these options you will mimic the real time scenarios how you want these users you know on your applications how they should come on your application okay so that's how it works thank you so much for watching this tutorial we hope that you have learned something today if you like our content Please Subscribe our Channel like share and comment thank you so much once again and see you in the next lecture [Music] hello everyone welcome to this gaming tutorial in this tutorial we will learn about the HTTP test script recorder in jmeter so let's begin now first let's understand why we need this HTTP recorder and then we will see practically how we can use this HTTP recorder for our script Creations okay so let's open the test we created earlier and understand this problem okay so this was a test we created earlier and here in this particular test what we did is that we only used one HTTP request so we hit this particular application only with different set of users and we were seeing some results here okay so that's what we did but in real time what happens is that we have to check the performance of the different complete scenarios so your scenario might be you know coming onto the application login then check out so there are certain steps you need to perform as user for in order to complete that particular scenario and you also need to monitor the performance of that particular scenario and now if we talk about the scenario the problem here is that there might be multiple HTTP requests throughout this scenario okay so let's see what uh what we are talking about here so open the browser here and just let's open the inspect here and go to this network tab here I'm just going to Let's suppose google.com okay and you will see different HTTP requests going on here and then here we are searching Like jmeter official website okay then open opening this one and you can see there continuously so many requests going on in the background okay opening this one then you might be going to some link here okay so there are multiple HTTP requests going on if you perform certain tasks on the application or if you are completing one flow right and problem is that if you copy each and every HTTP request from here and map here back in the you know into the J meter it would be a time consuming and it will you know create already problems for you because you need to copy each and everything in order to make your company scenario so this is a problem okay so in order to solve this problem in gym meter we have this script recorder now what this skipped recorder will do for us so you need to start the recorder okay and perform your actions here in you know on the the browser level so whatever you perform on the browser level it will capture all the HTTP requests and map those HTTP requests here in the geometer for you so this is a concept this is a benefit of using this HTTP recorder okay now let's learn this practically okay for that just go to this file option click on new and on the test plan level just add a thread group okay and again just go back to this test plan and go to add go to non-test elements and then click on this HTTP test recorder okay so here in HTTP test recorder we have multiple options like name comments we have option to start recording then we have some global settings test plan we have some sampler settings so there are multiple settings but the key settings are basically the global settings and where we want to capture these requests okay so let's understand how this actually works so basically what we will do is that we will create a local proxy okay on a port okay so we will create a local proxy using a port so what happens is that we need to Define a port for J meter okay so we need to Define port for J meter and we also need to Define port on browser okay so for example if we have defined eight zero eight zero port on both uh you know browser level and on the geometer level okay so what happens is that whatever the data travel through this port okay this particular 80 is report will be captured by the geometer because J meter is sitting on this particular port 8080 okay and whatever the data is going through this port using the browser will be captured by the geometer so this is a concept so what we need to do we need to Define port on J meter okay then we need to provide port on browser level okay and then we need to define a local proxy so whatever the data travel through my local you know Network or proxy will be captured here okay like local proxy okay now just open this DJ meter now here just let's uh you know assume uh we should go with the 8080 right now for why the name just you can provide any name okay so let's right now go with this the you know by default name here and then just go to the browser now and go to the options here and here in the options you need to search for proxy okay in the Netflix settings you will find that one go to settings select manual proxy configuration you need to provide the Local Host here okay and you need to provide the port which you will be providing here in the geometer okay so the port number should be same on the browser and as well as in the J meter okay and then you need to click ok now you have defined and configured the local proxy so that you can start recording now just go back to the J meter okay and here in the test script recorder just let's start this one okay and let's see so it's asking for some certificate okay we need to provide that certificate okay I'm stopping right now because it will not capture our request because we need to provide a certificate so now from where we get this certificate so as soon as we start the recording here the J meter will generate a certificate in the main folder okay so just let's go back here and you will see here in the bin directory basically you will find this Apache J meter temporary Roots here so this is a security certificate okay now we need to add this security certificate in the browser okay so go back to the browser here and on the browser level Now search for certificates okay view certificates and you can import okay import this particular certificate okay trust trust Okay click OK and then okay now just open this one again and see either you have imported the certificate successfully or not just click on this one okay so we have successfully you know imported this J meter certificate okay now we are good to go with our recording now just go back to the G meter okay and let's start the recording you will find this pop-up again but right now we have already added this certificate so it will not create a problem now okay now just go back to the browser okay and go to the google.com Okay okay now I'm performing some actions okay so it will capture all my actions which I which I will be performing on this browser okay let's search for J meter official website okay and just click on this Apache jmeter website okay so just stop this now but before stopping this one you can name this one like for example I'm naming it as search J meter website okay and stop this one okay now just go back to the G meter and let's see either it has captured anything for us or not here in the test plan what we did is that we decided a folder here a transition controller would be test plan into the thread group so whatever we will capture it will place all those requests in this thread group okay test plan then thread group now we we see this we have this Arrow now click on this one and you see there are so many transaction get being recorded okay so we did some search okay okay right we open this jmeter we search for this one right so whatever we performed it got captured here but the problem here is that when we recorded it recorded so many things the first problem is that you can see this success.txt okay now the success dot txt is basically browser related transactions okay and we really don't need those in our test also there are so many other things which got captured but we don't need those one so how we can filter those data while recording okay so for that what we need to do is that we need to go here in the test script recorder okay and here we have some request filtering options okay just click on this one here we need to provide a pattern which which we gonna include or exclude while recording right so we will provide some pattern so while recording this recorder will either include or exclude that kind of a pattern for example if you don't know how to create a pattern here so in the exclude session go with the add suggested excludes okay so it created a rejects for you so this means that it will exclude dot bmp.css.js.jf okay so it has provided these files so whenever you record it will exclude this one similarly if you want to include something you can include only that particular file extension and the pattern okay so that's how you can record and let's add in the thread group let's add some listener and let's see what happens here okay I am not you know filtering out unnecessary requests right now but actually in the real time obviously we need to remove all unnecessary transaction happens okay so we have added this utility cells we are good and now just let's run this one and see what happens okay so you need to name it okay so I'm naming it as search J meter and safe now okay it will start executing okay and if we go here in the same in the results basically you will see this one okay so it start executing and we are getting the success request in actual but the problem here is that besides our actual scenario there are so many other transition get captured but we just right now learn how we can remove unnecessary transactions while recording okay now let's see some other ways to use this HTTP recorder and if you remember in our initial sessions we learned about the templates okay so just for a quick reminder let me open the folder here and in the bin folder actually we have this templates folder so we have templates okay so we have different templates available here right we have this recording.jmx recording with the think time so now let's use this one okay for that just open the J meter here click on file click on new one okay don't save it right now okay then again click on the file click on the templates okay from here in the drop down menu we have to select that one so we have two recording options here okay one is simple recording and other one is with the think time so first let's open this recording one okay and just click create so it is asking for the host and all the things so just create click on create okay we can provide this later on okay so hostname so whatever the host name is we want to gonna use will provide here so we have it learned about this user Define variables HTTP request then HTTP cookie manager so don't worry about these things we will learn later but right now just understand this how we can utilize these templates so you see that we have this HTTP recorder by default it is disabled you need to enable this one again you know you need to configure and start recording that's it you need you do not need to go and add each and everything here in the in the test plan and then again the thread group and all the things so this is the benefit of using the templates similarly we have another template okay for recording that was recording with a think time okay just click on create now and again we have this one but right now you will see that we have some uniform random timer here which was not present in the previous template so why this happened so basically we haven't again we haven't learned about the timer but the concept here is that whenever you record a script it should mimic the user behavior for example if you are going on to the browser okay and open a new tab okay then you would be typing your desired and you know website and you see that it is taking some time okay we are not entering it as it is you know without taking any time we being a human we're taking some time to perform actions okay for example I'm writing J meter official site okay so I'm taking some time right so in order to maintain this user time we would be using these timers in the G meter okay so this is a concept so this is the idea so whenever you are recording that's why it has added this random timer okay so purpose of timer here is to maintain some user delays thank you for watching this tutorial we hope that you have learned something today if you are liking our content please do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture [Music] hello everyone welcome to this Gmail tutorial in this tutorial we will learn about the blaze meter extension so let's begin in our previous sessions we learn about the HTTP script recorder and we saw that how we can record the scenario and how we put a load on that particular scenario okay so in similar context we can use the base meter extension okay so using the balance meter extension we can record a scenario and we can import that scenario into the J meter for further performance testing okay so in order to work with the blaze meter extension just open the browser okay and search for Blaze meter Chrome extension okay so open this link here and click on add to Chrome Okay add this into your browser okay so it will add this extension in your browser once it will be added it will display something about base meter here on the top and you will see this extension added here on the top okay so now go to this extension I need to pin this one so that I can see this extension here on the top okay now click on this extension here okay and you will see a multiple options we have login we have sign up option here we can provide the name of the test then we can record the test we can stop the test and we can reset the all the options so we have multiple options here in advanced options we have a user agent we have a filter pattern if you remember we did a filter in our HTTP test strip recorder as well so if you want to filter any kind of a request here you can use this filter pattern here okay then if you want to disable the cache browser cache you can do that if you want to record the address request you can do that if you want to add a randomize thing time you will add this one okay then you have functional export options as well okay so there are multiple options so based on these multiple options you will be recording your scenario okay now the first thing you need to do is that you need to sign up here I am already signed up on this extension so I'm not signing up but I am showing you how you can sign up so just click on sign up okay and you will get a distant page of Base meter here either you can register with the Google or you can just provide your first name last and email company and register okay now what I need to do is that I'm already registered on this site okay I just need to login why I need to login because after recording my scenario I need to export that scenario okay so in order to export the scenario I must be logged in on the this particular extension okay so just click on this login okay as I have already logged in with the Google so just click on login with Google or else if you have some other credentials just provide those credentials you know to log in that one okay once you are logged in then we will actually start recording this scenario right so I am right now logged in and it will redirect me to The Blaze meter account my account which is on the cloud okay here we have multiple options again right now they are not needed okay B just want to record the scenario using the extension and we need to export the tests okay that's what we need to do just go to this extension again here and now I give a name to a test so I'm giving it as Google test maybe and click recording okay now whatever we performed Blaze meter Accenture will record those actions so I am typing right here google.com Okay and here on the right side you will see that this extension is keep recording whatever we are performing so it is capturing right it is the test case here is the test and it is capturing right here you can see we have this UI and jmx so jmx means that this is also capturing for the jmeter as well okay now perform some more actions here let's search for gym meter official website okay and here it is so just open this website so you see placement is keep capturing right so once you are done with your scenario just click on stop here okay and once you click on stop you will see that there is the extension blinking right now just click on this one okay now we have options here right we can run from here and if you click on this trap down here it will give you multiple options for example you can run with the performance jmeter API functional jmeter selenium functional user experience so there are multiple options to rerun Okay then if you want to add it you can add it for J meter and selenium as well okay similarly if you want to see if you will get the multiple options here okay for example if you want to edit this on the cloud okay just click on ADD it so it will take you to the blaze meter Cloud area okay here you can remove add whatever you want you can do that okay so for example if blazemeter has recorded any unnecessary requests you can remove those requests from here okay so but what will we be doing here is that we will be exporting this one from here and importing that in the gene meter and in J meter we will see what we what we actually need okay and whatever we don't need we will remove from the J meter as well okay so now just go to this extension here again and click on Save okay just click on this jmeter jmx so while performing the actions we use two domains one was the Google and other was the apache.org which was basically G meter side so click on this both okay to include in the test and click save so it will save now the jmx file okay we are exporting the jmx file Google test okay so let me open this file here and let me copy this one to the desktop so that we can import that file in our C meter okay let me paste it here and now open the geometer here and click on the file click and open and go to the desktop where we actually place this file okay so here on the desktop we have this Google test okay this open this one and you will see that a very organized very structured script is being populated here we just imported that script which we just did export it from The Blaze meter Extinction and here we haven't you know learned about this HTTP header manager cookie manager and authorization manager we will learn about these but this placement accession is really good it populates all the required elements for your test okay it will organize your test really proper okay we haven't learned about the logic controllers here but ideally we would be using these controllers in the real-time scenarios we will learn about these logic controllers so by default base meter will generate a very good a very structured test for you okay and now if we look into the script here we are seeing some you know requests which we actually haven't executed for example play.google.com we were on the google.com we searched that there was some background requests okay so we need to remove these requests from here because it wasn't a part of our test okay so I'm removing those from here okay rest looks good to me google.com having all the google.com domains and Apache jmeter domain okay now first step is always to validate your script okay so in order to validate just right click on this one add go to The Listener here and add a view tree results okay and now just diagram this script and see either we are having the proper running script here in the geometer or not so just run this one here and let's see what happens so if everything goes well here in the G meter then our next step would be putting a load in this particular script okay so so far it's going good it got completed and every request passed successfully okay so now whatever the load we need to perform we need to perform on this particular script okay let's add one more listener here to understand more about the results okay I am adding this aggregate report here we will learn about this report later on but now to show and see either we are getting the proper data or not okay we are just validating our script right now okay so I am running this script again and see if we are getting some results here yes we are getting some results against some kind of the request which were used in our test okay so so that's how we can use this Blaze meter extension to create our scenario for the performance testing right thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture thank you [Music] hello everyone welcome to this Gmail tutorial in this tutorial we will learn about the aggregate report in the jmeter so let's begin in our previous session we learned about the basement extension and we learned that how we can record the scenario and how we came both that scenario for the performance testing right furthermore what we did is that we added one listener called aggregate report so in this particular tutorial we will learn about that particular report okay so in order to learn about this particular report just let's open the scenario we created earlier just click on file click on open and select the scenario you created earlier okay open that scenario in the J meter right and now let's go to this thread group okay go to add go to listener and here you will find this aggregate report Okay click on ADD here so this is the overview and the first look of the aggregate report for you it has multiple Fields here samples average medium 90 percent line 95 percent line 99 percent line minimum maximum error percent throughput received and sent and again we can name this report we can put a comments and then we have some options here okay we will discuss each and every option here to understand how we can utilize this report at the maximum level because the results you get plays a really important role in identifying the bottlenecks in your application so understanding a report is really really important okay now let's create a scenario here and we will generate a report and data here and we will understand that data okay for that just go to this thread group okay I'm changing the threads to 2 here from 2 to 10 okay rubber time is one second and I want to run this scenario for one time okay so this is a simple scenario and now just run the scenario and let's see either we are getting some data here or not okay so always try to dry run the scenario and you will get some results here okay now you can see that our scenario got executed successfully and we got some data here okay now let's understand each and every thing here okay so now what is label here label is your request basically so if you can see that it says main application URL and this was our request okay so label reflects to your request name okay we have an option here include group name in the label if I click on this one okay so what it will do is that it will include the thread group name against this label as well okay so I'm running this again so that we can see that either we are getting this label here or not so you can see now we are getting this thread name with this particular request name in the label so this is option is used for this purpose only okay now understand the other fields here what are the samples here so samples are nothing basically whatever we Define here in terms of the users in the thread group it would be basically populated here against each and every request in uig media script so is basically denotes how many time this request got executed so whatever we defined here in thread group will be represented here in the samples now we have another field here which is called average so what is this average here so basically average here means that g meter takes the average time of these 10 samples okay in the similar context median is means the 50 of your request time okay then 90 means that ninety percent of request time at how many time these ninety percent request got executed successfully okay similarly goes for the 25 and 99 percent so why we need this 90 95 and 99 because we want to know that how many of request work got successful and how many requests got fail and how much they took time so for example here if we go with this 10 samples here this means 10 request okay and these 10 requests okay took around 600 milliseconds so all times here your J meter are in the milliseconds so 9 out of 10 requests nine request got executed within this period of time okay then how much was the minimum time minimum time was 475 millisecond maximum was this if you find any kind of Errors during this execution it will display the number of errors here okay then we have this throughput now what is throughput throughput is basically a number of requests per second per minute or per hour okay so the more you get here is the better because if there are thousands of requests and they are getting successfully done or completed within one maybe minute they are really good so higher the number higher the throughput would be okay then this throughput receive this number of kilobytes is basically a kilobytes per second that data sent and received okay so that's all about this particular data we get when we have these other options here the main important option is basically to write results the file or read from the file now let's see how we can write and read from the file okay in real time what happens is that if we don't right in the file jimita will take a lot of memory because it will populating all the data here within the G meter okay so in the real-time scenarios we will be writing our all the data into the file okay so now let's see we can how we can write the data in the file for that just open Excel here okay and in Excel we will create a blank file here blank CSV file okay so I am saving this file here save as okay I am saving on the desktop okay and it will ask the name so I am saying that data results and we need to select the type of okay so that we can save the file accordingly so we will be selecting here as a comma separated delimited okay so let's find that one here so here CSV comma delimited one select this one and save this file okay now file is saved and you see that we don't have any kind of a data here okay now if I go here we have this file on the desktop okay now let's just go back to the J meter here and I'm clearing this results from here now click on browse here and we need to select that file which we created okay just go to your file location and select that file okay I'm selecting this file from here so if you can see that we can select only dot XML dot JTL or dot CSV that's why we have created the CSV file here click on open this one okay now the file has been imported into the J meter and whatever we want to display here we can select accordingly if we if we only want errors we will select errors if we want only success we will do that and also we can configure the fields we want in this particular file okay there are so many options available here you can select as per your requirements okay now let's run this again and let's see but before that if you start running this one you will get these options here okay now you can see that it's asking to append the existing file okay don't start override the existing file if you want to append the results in a single file you can select this one okay if you don't want to start again click on this one but the best option would be to override the existing file because every time you need a new result and you can compare those results with the previous executions just click on this overwrite existing file and let's see what happens our Escape got executed successfully and we can see that we got the results here in the J meter now open the file from the desktop and see either we have able to successfully log this data into the file or not okay just go to your file open that file and see okay so now you can see that we have successfully logged the data here okay so it will tell about the label response time okay whatever the settings you've done okay so you will get all the details here okay so you will see that it will say or give the details about the 10 executions one two three four five six seven eight nine ten because in the J meter we configured it for the 10 threads so that's how you can write into the file okay now in order to read this file I'm just opening a new project here so you can see that okay and here the Tesla 11 go to The Listener add aggregate report here click on browse and open this file okay and you will get the results here so that's how you can read and write from the file okay furthermore you have option to save this file okay click on this save table before that if you want to save the table header these are the headers okay so you can check this one or if you don't want this uncheck this one again if you want to include the group name you can add that as well okay I'm clicking this one and click on save data and I'm naming it as aggregate.csv click save just go back to the desktop and we will find this aggregate report here okay now open this file and see the results so you can see the results here in the aggregate file so that's how you can work with the data and then you can analyze the data so that you can identify any bottlenecks in your application thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture thank you [Music] hello everyone welcome to this Gmail tutorial in this tutorial we will learn about a listener called view results in table so let's begin in our previous session we learned about aggregate report right in this session we will learn about the view results in table form okay for that we will be opening our test which we created earlier okay and we will be adding that particular listener okay so here on the thread group level just click on this one click on ADD then go to The Listener and here you will find view results in table yeah this one okay just click on this one okay so this is the first look for you in terms of this particular listener it has multiple Fields here okay sample start time threat name label sample time status bytes send bytes latency and connect time and we also have these main commands and we also can write and read from the file as well okay then we have this options here scroll automatically child samples number of samples latest sample average and deviation so we will learn about each and everything here okay for that I will be executing a word test and see if we getting some data here or not so just drag around this one before that I will be you know changing to the one threads okay so that you can understand okay run this one and let's see yeah so we we are getting some data here right okay now let's increase the number of threads so that we can have some data here in this report and then we will analyze each and every column here okay just go to thread group and change the number of threads to 5 here and wrap up type is one second that's okay and the iteration count would be one okay now clear the results first here and execute this test again okay you will see that we are getting some results and execution got completed successfully now what is the sample number actually we have defined the number of threads or users as five so in the report it says that this is sample number one means thread number one thread number two thread number three thread number four thread number five so either you can call it as a thread or a user okay here you can also have the start time of each thread or user okay you can see the start time so when this user start the execution of this particular request okay then we have this thread name thread name is basically a thread group name here okay and then in front of thread group name we have this numbers 1-1-2 1-3 1-4 1-5 now what this means so the first one means that first iteration first iteration first user first iteration second user first iteration third reason and so on okay then we have this label so label is basically is your sample name or the request name okay then we have sample time in milliseconds okay so how much this sample okay took time in terms of the milliseconds okay so we have time for each and every sample okay with respect to number of threads so thread one means user one two three four and five okay all users have now different times okay in terms of completing this sample request then we have this status column here okay so if you haven't used any kind of assertion so by default if your request is okay means you are getting some proper response then it would be a green here okay in case if request is not getting properly loaded or there is some problem with the request you will get a red mark here okay but in case of the assertion if a session is passed you will get a green tick and if the assertion is failed you will get a red mark here okay then these are the bytes okay then we have sent these number of bytes and receives these ones okay and now we have two important Concepts here number one is called latency and other one is connect time now let's understand the concept of latency because latency and connect time are really really important in order to understand the performance of your application okay for that I'm opening a document here and let's try to understand this one so usually what happens is that you would be sending a request from your browser to your application okay and you're getting some response okay from the server so your application is basically hosted on some server so you are sending some request from your browser maybe your mobile application which is your client and then that request will be processed here on the server level and after that server will give you a response okay so this is a whole process of your request from the request till response you see it okay now what is latency here okay so latency is basically a Time taken from this client request and the response time okay response in terms of the request traveled from server to the client it doesn't include the server processing time so what it means is that if I create some block here to explain you exactly the what is the timing here so the time of latency is calculated here as from this point okay till this point okay so this is the portion okay and let me change no fill okay so this is time for from the client to server this time and from server to client this is called and latency or latency time now how it would be calculated for example here request from client to server took like one second okay and when server competed to the result and send a request response back to the client okay it took like 2 seconds so your latency will be basically okay just let me write here so latency equals to three seconds okay so it's basically request time and response time okay and in some cases what happens is that obviously there would be a processing time in the server side okay in an ideal case the server took maybe like here okay like three seconds to process this request okay so if we have to compute the whole time of the response okay then in this particular case the complete response response time okay complete time of request or response complete time okay is equals to is equals to 1 Plus 2 plus 3 okay so which is equals to Total six seconds so latency is the time travel over the network so this is the area where your request was traveling over the network and then the similar way the response was traveling from server to the client over the network okay so the traveling over the network time is basically a latency time okay now in J meter it works slightly in a different way okay so what happens in the J meter it takes some time to assemble the request okay so let me add some here some more images here okay for example right so in geometer what happens is that when you create a request Jimmy to take some time very milliseconds maybe okay in order to assemble your request so maybe it starts from here okay and then let me change the color so that you can identify this one okay let me change the color to Green okay now in a similar fashion on the server side okay it might take some time to assemble the response okay it might take some time to assemble the response okay so in G meter this time is also included in the latency okay so this is concept of latency now if this latency is increased for example if you are getting the higher latency for example 10 seconds for a request a particular request or feature this is a problem okay the latency should be lower the lower the better okay similarly same concept is for the connection time so connection time is that in how much time your application got connected to the server it may be some milliseconds or maybe seconds okay and when we talk about the correction time it also include the handshake with the server so there might be SSL handshake so that time is also included in the jmeter higher the connection time and higher the latency this is a problem these both should be the Lesser or the better one so the if you get milliseconds for the each request this is better the more latency the more performance will be degraded because your request is taking so much time from client to server and from server to client and this time is added into the complete response time okay this is a problem so let's go back to the jmeter so this latency is basically in the milliseconds here okay and this particular request has this latency and in the similar context we have this connect time okay then we have couple of more options here the first one is basically scroll automatically so what it will do for example if there's so many samples here okay and you need to scroll down in order to see any particular sample number okay so the one method is that you can do it manually the other one is that you need to automatically scroll down to the bottom one okay now let's uh change the number of users here from 5 to 50 and clear the results and run this one so you will see that it is not automatically scrolling down here okay so it is on the top if you want to scroll you have to scroll down okay now select this option and run this again you will observe that it will automatically scroll down yeah you can see this it will automatically scroll down to the bottom of your request okay then we have this child sample so if you have any kind of child sample here and you want to see only that sample just check this one but in this case you will get only the child samples not the main sample okay so it would be your requirement how you want to populate the samples here in this particular report okay then we have total number of samples which is 50 which we have defined here in the threads okay then we have last sample 729 milliseconds this is the 50th sample and this is a time okay then we have average time of these 50 samples and then we have a deviation of 47 milliseconds between these samples okay and again if you want to write these into the file add the file you can write this one and again if you want to read from the file open the file here and you can read you can log errors successes and you can also configure the different header files here okay thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do subscribe our Channel like share and comment once again thank you so much and see you in the next lecture [Music] hello everyone welcome to this Gmail tutorial in this tutorial we will learn about the aggregate report in the G meter so let's begin in our previous session we have learned about a particular listener called view resistant table in this section we will be learning about another listener called aggregate graph okay in order to learn that just go to the file click open I have already created a test for this one okay with the name of aggregate graph here I am opening this script here okay so in order to understand this script before that just understand the scenario which I automated here okay so the scenario was very simple here I was going to this particular application which is called as demoplace.com and then I was clicking on the phone category okay so what it means so let's open the browser to understand so this is uh demo blaze.com website so I was hitting this website and then I was clicking on this phone category so you might have a real-time scenario where you want to identify the performance of this particular scenario that how much time users are taking from coming to the application and browsing a particular category so this is a simple scenario which we have mapped here in the G meter now just go back to the G meter okay so here uh don't get confused with this HTTP header manager user defined variables because I have generated this using the base meter extension so if you don't have understanding of Base meter extension you can watch my video on this one okay so right now just focus on this area we have this thread group okay Under This Thread group we have a controller okay this is a transaction controller we haven't learned about the controller but don't worry about that we would be learning in our upcoming sessions okay so here we have to request the first request is basically hitting on the application and the second is basically clicking or browsing the phone category so these are the two transactions furthermore what I did here is that I have renamed these two requests so that we can easily identify what these requests are doing besides that we have also renamed this controller now what this controller is actually doing here is that it will also provide us the results of the complete transaction so our complete transaction is basically from hitting the application till opening the particular category right again this is a slightly overview for this particular tutorial we will be learning that controllers in detail in our upcoming sessions now just let's add this aggregate graph for that just right click on thread group over on the ad then go to The Listener and Page will find aggregate graph just click on this one okay so this is a first look which might looks complicated to you but don't worry we will understand this graph okay so basically this again graph is pretty much similar to the aggregate report which we learned so you will find all the values we already learned in the aggregate report okay so this particular graph gives you an additional feature to have the values in the form of the graph so this is the main purpose of having this aggregate graph so now we have multiple options here again we can name this graph okay then we can put a comments we can read and write to the file using the different configurations then we have these settings here for the graph now let's discuss about this column setting so whatever we need in the graph okay for example we need average time we need median we need 90 or 99 or 95 percent whatever the means we have to select from here okay so for example if we need average 90 percent and 99 okay so if I click on this graph it will display these values right now it will not display because we haven't executed the test and we don't have any data here so if I click on this one it will say no values to the graph okay so now uh just run this one here and let's see how the graph will be populated okay so the test got executed successfully and we have the data now now click on the graph and you can see that we have a graph now here okay so on this side we have time in milliseconds okay and on this side we have the name of this request and this transaction as well okay here it displays a very beautiful graph so that we can share it with our management or the client or maybe the stakeholders okay now let's formulate or customize this graph to look more appropriate okay for example now you have to change the color of any column here for example you want to change the color of average just click on this one and change color to Let's suppose to green or red okay I'm checking the screen here and click on this one so it's selected as a black yeah it's this one and yeah this one okay click on this one and now save this one okay clear the results here and run this test again now you will see that your average bar would be in this particular green color okay just go and click on graph here and here okay then we have more options here okay if you want to change the font size and type you can do that also if you if you don't want to draw outline okay so you can do that you have similar options here okay right now if you go here you see that there is a border line against each bar okay now if we don't want that bar just uncheck this one okay clear the results and run this again and see the difference okay our script got executed go to the graph and here now you can see that we don't have any bars here okay then we have this option called column label selection okay for example if you want to have a report for particular transaction or request you can filter that data okay tomorrow if your manager is asking for a graph which represents the total time taken from hitting to browsing the category okay so you need to define a popular data for this particular browse category okay now how we can do that for that you need to check this one then dot steric okay and then name of this transaction because this transaction have both requests and we need the complete time copy this one and paste it here then again static then dot okay and click apply okay now clear the results and run this test again and here you will see that this graph or the data you will get only about this particular transaction because it got filtered and similarly it will also be displayed in the graph now click on the graph and you can see that now we have a browse category only here and it does at the time of whole transaction okay now go back to the settings here and then we have the title of the graph okay right now it says aggregate graph but again our management might not be able to understand this one okay so go here give it a proper name for example browse category performance okay so you have given it this particular name again you can format this title with the font type size and style okay I am creating the the results here running it again and let's see what happens now okay now just go back to the graph here and here you can see now we have a proper title which we have defined in the settings browser category performance okay this one right then we have some more options here I prefer it that you should go with this Dynamic graph size but still if you have some particular request from the client or maybe the stakeholders okay then you can Define the height and the width of this particular graph okay then we have this Legend column here now what is this Legend here okay so Legend is nothing but this one like it identifies or helps us to understand about this graph so wherever you want it and how you want it you can Define it here okay for example right now it's in the bottom I'm changing it to the right or the left okay and let's change the font and size and save this one and clear the results and run this test again okay so once this test will be executed we will go to the graph section here and right now you can see that now size has been increased for the Legends okay and also the position of the legend has been changed from bottom to left side then after executing and customizing the graph as per your requirement then obviously you need to send this graph to your management or to the manager maybe the client or the stakeholders file so that for this purpose just click on the safe graph button and now you can save this graph in the jpeg format okay so I am saving this on my desktop okay you can name it properly let me yeah I'm on the desktop and you can name this graph properly like browse category performance okay or anything which is more relevant okay and you click on Save now uh let me go to the desktop here and on the desktop we got this graph here now you can open this one and you will see that we have the same graph which we have populated in the J meter okay it might take some time to load here meanwhile we can look some more options you can also save the data in the table click on this one and you can see in the csvp we have already learned that how we can say this data into the table okay so these all options available here in all to populate the perfect graph for your management okay and one thing to remember here is that if you are running a proper performance test maybe on thousands of users in that particular case you won't be populating this graph here because populating a graph here in the J meter will consume a lot of memory okay but for the short performance like 50 users 100 users can be manageable here in the G meter okay so just make sure that if you're running on the higher number of the users just avoid using this graph here okay now this graph is open here and you can see now if you want to email that one you can email if you want to updates your some documentation against the performance you can attach this image for the reference okay thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture foreign [Music] tutorial in this tutorial we will learn about a new listener called response time graph so let's begin in our previous session we learned about a listener called aggregate graph in this particular session we would be learning another listener called response time graph for that I will be opening the same script which we created for aggregate graph click on file click on open and select this particular script okay I'm opening this one here right and before we actually proceed with the response time graph let's understand why this graph will help you okay for example if you want to run your script and during the execution let's suppose your test stars at maybe like 1 pm and it ends at okay at maybe 1 30. PM okay so now what you need to do is that you need to see how your response time is progressing throughout this execution okay so you want to see the variation of the response time throughout the execution when you're putting the load this graph is basically populates a line line graph okay this is basically line graph right and you know that aggregate graph was a bar graph right so now let's go back to the J meter and go to the thread row right click on the third group go to add go to listener and we have this response time graph here okay click on this one and we have different options here so this is a first look for you in terms of the response type graph and we have multiple options and we have settings for the graph as well so on the top we have the name you can name this graph you can put the comments and furthermore if you want to write and read from the file you can do that from these configuration we already learned how we can do that then we have these graph settings here okay so now let's understand these settings so that we can populate our graph right before that what I will do is that I need to create a scenario so that we can have this graph okay for that go to the thread here and you need to run this with 50 users okay and the ramp up time should be like 60 seconds so we need to execute this script for some time so that we can have a graph okay so now let's run this and let's see how it works it will take a time to complete because we have mentioned a wrap up time as a 68 seconds here okay and if you go here and click on graph you can see that we are getting some response here right so we have to request one is home page and other is phone category right and this is how it's progressing right now okay so if I go back here click here you can see it continuously progressing so it start from here and it continuously going on right so the blue line is basically indicating the home page okay and the red line is basically indicating the browse phone category request and on the x-axis we have these times because at this time we start receiving the response and the test is going on and it will end somewhere here okay so I am clicking on settings again so that we can have a updated graph here okay so this is the upgrade graph after completion for both the requests and on the y axis basically we have a time in the milliseconds okay so it starts from here and then there were a continuous progression which was pretty much very straight line okay this means that we have a very good response time which is continuous in terms of stability right so it shows that there is a stable in your application with this particular set of users and the load now we have a multiple settings here let's make this graph more appropriate to understand okay for that click on the settings here okay now we have this interval for example let me change this interval to 20 000. click on apply and now go back to the graph here okay now you can see the interval here we are showing between the two timings is basically 20 000 milliseconds okay and if I changes to 10 000 and click on apply and you can see now the interval between the timings is 10 000 milliseconds similarly if you want a lesser one just change the timing as per your requirement click on apply interval and go back to the graph and now you can see that we have a very different graph and it populates the timings between 1 000 milliseconds so that's the purpose of using that particular feature here okay now uh similarly if we want to filter some record from here we know that how we can do it we just need to provide historic dot okay then we need to provide a transaction name okay whatever transition we want to filter okay transaction name and then again static and that's how we can filter once we provide that we need to click on apply filter and that would be filtered for us okay similarly just like we did in the aggregate report okay now we have more options here for example the title because we need to give a proper or meaningful name to the graph okay so for that let's suppose I am giving the name as maybe response time graph for browse phone category I'm just giving a random name here again you can form it okay then we have a line stroke or line settings here basically this stroke width is nothing it's is this one right and then this point how we want this in the graph So currently it's a circle and you can see that we have circles throughout the line right if I change it to Diamond or Square it would be change here as well okay so this is the purpose of using these settings we will do these changes and run the script but before that understand the concept here okay then I personally recommend to use the dynamic size but if you want to have a custom width and height you can use that then if you want to change the timing format you can do that okay and then we also know that what are the religions and how we can configure those for example I am changing here to the left changing the sizes and fonts so that we can understand okay I'm also changing here as well okay and changing it to bold and from Circle I'm changing it to Diamond okay now we have the new settings for this graph let's create the settings and run this again okay so before we run now we have cleared our data so if I click on this graph it will says no values to the graph right now let's run this again and see how these changes will reflect on the graph level okay now there would be a different font different font size okay we have now a graph title we have changed the C point to the diamond it should be diamond and then we have also changed the legend placement and the font type okay so once the accession will be completed all these settings will be populated in the graph okay so let's click on the aggregate graph so that we can see that either we are getting some responses or not yes we are getting some responses here and click on the response time graph here and click on graph so here you can see that we have these Legends on the left side home page browse phone category and now you can see that instead of the circles now we have these diamonds here okay and furthermore we also Define the name of your graph this is the new name which we provided in the settings and you are getting the time here as well okay so that's how these changes are being reflected into the graph okay furthermore similarly what we can do is that we can save this graph and we can share this graph with the management okay thank you so much for watching this tutorial we hope that you have learned something today if you like our content do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture foreign tutorial in this tutorial we will learn geometry plugins manager so let's begin in Geometry just go to these options here click on these options here and you can see that I have this plugins manager here okay now what is this plugins manager and how you can have this in the J meter plugins mentioned is nothing basically it helps you to manage your plugins it will help you to install and install and update your available plugins okay so by having this plugins you have an additional features in the gym meter and eventually it will increase the capabilities of the chain meter okay now we need to go to this particular website which is jmeter Dash plugins.org Okay so if you go to this website here this is a look of this website and you can see that we have around 92 plugins available okay and we have some options here like install browse plugins documentation and so on right and in order to use these plugins okay we need to install this plugins manager just click on this install button here and you can see that the easiest way to get the plugins is to install plugins manager so how you can do that we need to download this file plugins Dash manager.jar file and we need to put this file into the library slash extension and then we will restart our J meter now if I go to the J meter and if I go to the action options here you can see that I have plugins manager here so this means that I have already placed this file in my folder okay so let's go to the folder structure here and let's go to our library and go to the extension and you can see that I have this G meter dash plugins Dash manager 1.6 okay so that's why I am seeing this option in the J meter so let's suppose let me close this jmeter here okay now I am copying this file from here and pasting this file here in the main directory okay and let me remove this file from the extension here okay and we will start this J meter again and see either we are getting this Plugin or not okay so go to the bin folder here and let's start the J meter from the jmeter dash batch file okay and now if I go to the options section I will not have this option okay so jmeter is up and running I am clicking on options here and you can see that I don't have this option anymore here now let's close this here and go back to the main folder here into J meter and I am copying back this file from here and we'll place this here in the library extension folder okay let's paste this file here now the file is here and open the gym meter again okay so go to the bin and let's start the gym meter again from here and right now once it will be open you will have this plugins manager in the J meter okay so once it will be started we'll go to the options here okay and we'll see either we are having this plugins manager or not click on options here and you can see that we have this plugins manager here okay before we understand how we can use this plugins manager in the chain meter now let's go back to the website itself okay so we have multiple options here okay if I click on browse plugins okay so it you can browse among the different plugins here you can see that this is there is a Azure backend listener okay so if you click on this one right it will take to this particular you know GitHub page or whatever the page they are linked to this particular website okay you can have the information about this particular plugin here furthermore if you go to the documentation section here what you can do do is that click on this documentation and select the plugin you want to know about for example if you want to know about this active threads over time okay so there is a documentation available Bell and you can also see that there is a download button as well so there's the information about this particular plugin so if you want to use that so you can go through this documentation and you can use this plugin the best thing is that if you don't know about which plugins addition plugins you need to know or which plugins you need to use for your performance testing okay so go to this tab here and you can see the stats here in terms of the popularity here so there are some common popular plugins which people use in terms of the performance testing okay furthermore if you want to have any specific kind of requirement you can go ahead and search for the particular plugin which might help you okay for example if you want to have some graphs versus kpi versus kpi grabs you can have this one okay so there are a lot of plugins available here so if I go back here into the documentation section you can see that we have these additional plugins which can have a multiple different kind of a graphs we can have in the geometer similarly different thread groups timers listeners functions logic controllers Samplers you can find each and everything here which you can have additionally into the J meter okay now just go back to the geometer here and go to the options here go to the plugins match here okay so it will open a new window here it has three tabs install plugins available plugins and upgrades so if there is any kind of upgrades it will show here if you click on this one it will show all the available plugins and then we have install plugins so whatever we install here will be displayed here okay now just go to the available plugins and for example I am adding this Azure backend listener okay you just need to click on this one it will give you some details about this plugin here okay and if you want to go to the documentation again the link is provided for this particular listener here and after that once you check on this one click apply changes and restart but before that after installing the plugin we it will go it will go in the same extension directory okay so if I go here in the J meter into the library into the extension this Azure plugin will be installing here okay so let's apply the changes and restart J meter and see either we are having this Azure plugin in our plugin sections or not okay so it's downloading from here in this particular site and you can see that now we have this jmeter dot backend listener dot Azure plugin here okay now it's restarting the jmeter so that this plugin should be reflected in the jmeter now there is another way to have the plugins in the geometer right so this is the easiest way to use the plugins manager you can install the plugins manager and from plugin manager you can have these plugins but other ways that just go to the website open any kind of The Listener or thread Group whatever you want okay open this one here and you can see we have download option just click on this download option here and you can download that particular file okay jar file and you need to place that jar file here in this particular folder and after that or restart the J meter this plugin will start replicating on the J meter thank you so much for watching this tutorial we hope that you have learned something today if you like our content do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture foreign in this tutorial we will learn how to create a database test plan in the G meter and also we will see how we can test the performance of database queries so let's begin first let's understand the test scenario we have so we have to test the performance of our database queries okay so this is our Target this is our goal okay now for this particular tutorial I am using a very simple query here which is Select static from City okay this is the query I will be using for this particular tutorial and this query will actually return us all the data present in this particular table okay now let me open the database here and I have this database here and the name is world and I have a table called City okay so let's run this query and see are we getting some data or not or what kind of data we are getting from this particular query so this query is actually returning us all the data present in this particular table this table has the name country code district and population and there are so many records available here okay now we need to test the performance of this particular query okay now go back to the documentation here first what we need to do is that we need to configure our J meter okay the main important thing is that we need to download a connector from this particular website okay this is a MySQL connector I'm using MySQL here so that's why I needs are connected here okay now this connector will help gmeter to connect with my database so this is my database here so it will help Gmail to do connect with my database here so that's why first step is always to have this jar file because we will go in this particular URL okay we will download the jar file and we'll place that jar file in the jmeter folder okay and in the jmeter folder we will be placing this file in the jmeter slash lib folder and then we will restart our J meter so this is the configuration before we start with performing the database testing okay now copy this URL from here and open this URL in the browser okay so this is a website from where you can download MySQL connector okay here you have option to select between the operating systems but my recommendation is that you should go with the platform independent version of this one okay so for that click on this one here select platform independent click on this one now from here you need to download the zip file from here okay this one MySQL Dash connector Dash Java Dash 8.0.25.zip click on this one okay and click on no thanks just start my download so it will start downloading your zip file so once it would be downloaded you just need to extract this one okay so after extracting you will have a folder so this is a folder okay and you need to open this folder here and this is a jar file which we need to place in the geometer so you need to copy this file and you need to move to the J meter okay so let's suppose you need to copy from here and you need to go to your jmeter directory okay and in the library you need to paste here okay so this file is already in my system okay so that's why it's saying that replace the file or something like that okay so I'm not doing any action on this one right now and let me show you that I have already this file okay my SQL connector yeah so here this one okay so once you paste this file here okay then you need to restart your jmeter after that now J meter will be able to connect with your database using this MySQL connector so this is the first step you need to do before you actually start writing the database performance scripts okay now open the documentation again and see what steps we need to perform here so our first step would be to add a thread group okay then after that we would be adding the jdbc connection configuration and then we will add jdbc request so now what is this jdbc connection so first we need to connect with the database right so this is the reason we have this configuration we need to do the configuration in the J meter and once we have established a successful connection with the database then we need to execute our Q so writing a query would be a part of this jdbc request and after that we will be adding The Listener so that we can see uh either we are getting the proper responses or not so these are the first steps which will be due right now to create the skill so open the geometry here and add the thread group go to add threads add a thread group here and from thread group go to add go to config element and go to this jdbc connection configuration Okay click on this one now go back to the thread group again add go to the sampler add this jdbc request okay now again click on thread group go to add go to listener and add a summary report okay now first what will we do is that we need to configure jmeter so that jmeter can connect with the database okay so open this jdbc connection configuration here and we have so many things here but the important things are to provide the variable name okay and then we have this database connection configuration the other configuration are basically regarding to the you know delays weights Auto commit and these kind of activities you can do if you want furthermore if you want to validate that this jdbc connection configuration is working fine you can validate using a query here as well okay right now the important thing is that when need to provide a name so I am giving a name here as database test okay and I'm copying this name from here and you need to go to this jdbt request okay and again you can see that we have this variable name here so the variable name here is the same name which we have defined in the configuration okay so now what is the reason for this so reason is that this J meter will know that this connection will execute this request okay so that's the reason we are pointing or having the same variable name in both okay now just go to this database connection configuration here okay and here we need to provide the database URL jdbc driver class username and password of your database okay so now what is the URL and how you can Define that let me open the document here so the pattern here is that you need to provide the keyword called jdbc colon I'm using MySQL so I'm using MySQL colon and the URL of your database so the first part is the URL of your database okay and then slash your particular database and we need to set profiles equal equals to rule so that it can be accessible okay I am copying this one from here and pasting it here in the database URL now as I'm using my SQL so I would be selecting a driver which is ready to mySQL so com dot MySQL dot jdbc.river click on this one I'm using as root and my password here and this is how you can configure this one right so we are now ready to connect with my database and execute a query now go to this jdbc request here and here you need to select what kind of a query you will gonna use for this particular scenario so if you click on this drop down here it will say select update commit roll back whatever you want okay so I'm using the slide query so let me copy the query from here that was very basic one okay let me copy this one and let's it paste here okay we have some parameter values parameter types you don't need to worry about those at this moment we will cover those in our upcoming sessions but right now we are good to go with this execution here go to this thread group this is one user one second okay all good now I secured this one and see either we are getting some data or not okay so let's see yeah so we are there is one sample we are getting some average minimum and maximum time again this request okay now if I increase the number of threads here okay and run it again so let's see how many samples will get executed so 10 samples got executed and we got the results here and if I go here okay now now the problem here is that we are not sure either this query got actually executed or not right so because here right now we don't see the execution of the query okay so how you can ensure that one for that you need to go to the thread group here click on ADD go to The Listener and add view results free okay now clear the results and execute again here you can see that our request got executed and if I click on this jdbc request here okay the response code is 200 this means success okay now if I click on this response before response data just click on request you can see that our request is basically a select query which we provided here in the jdbc request and if now I click on response data so you can see that we are getting a proper data from the database table okay so if I go here into any of the requests you will find the data so this means that we have successfully established a database connection we are successfully able to execute a query and we also added a number of threads who were actually executed this query so that's how you can actually do the performance testing of your database queries thank you so much for watching this tutorial we hope that you have learned something today if you like our content do subscribe our Channel like share and comment once again thank you so much and see you in the next lecture foreign tutorial in this tutorial we will learn how we can test the performance of soup and rest API so let's begin in this tutorial first we will learn about the sub API then we will learn about the rest API so for slow BPI you need to copy this URL okay and you need to open this in the browser so from this particular website we will be picking up example API for the learning purpose so let's go to the browser and open this particular website so this is a website if you scroll down here we will find the examples so there are multiple examples one is basically calculating or converting from Celsius to Fahrenheit and then we have another API which is very simple if you provide a name here whatever the name you provide in the XML it will responds back with the hello and the name you provided here and this is the URL of this particular web service or API now now let's open the postman and see either we can execute this particular API node so simply uh what you need to do is that in the postman you need to provide the complete URL and the XML okay change the name whatever you want and click on send okay so after executing you will see that now it's saying hello testing Fender okay so this is a simple API now let's open the geometer here and in a g meter just go to the test plan right click on this one go to add add thread group okay and now right click on thread group go to add go to sampler and click on HTTP request so basically if you go here in the postman you can see that this is an HTTP request HTTP okay now go back to the J meter here we need to provide the protocol which is HTTP and then we need to provide a server name or IP so if I go here and open the J open the postman here so www.com okay this one is basically a host or server name copy this one go to the J meter and provide it here now we need to tell the path okay so go back to the postman here and we need to provide the rest of the remaining URL okay so we need to copy from here and go to the J meter and provide this here okay now we also need to tell the geometer what will be the method of this particular call so open the documentation here and you can see here that this call is basically a post call okay this is a postcard so we need to select a post from here and what else we need for this call so we also need an XML body right we need to send a parameter so click on the body here and copy the body from the from the website okay now copy this one and paste this here in the body section okay now let's change the name here and changing is to testing Fender okay now our request is ready just add a listener okay go to The Listener add view resist free okay and now just dry around this one here and see what happens okay so request got executed okay so here in the request go to the request tab here so this is a request this was a complete URL it was opposed and we posted this data so now in response we should have hello testing Funda so go to the response data here and you can see that we are getting this hello testing fundra okay so that's how you can configure the soap apis in the jmeter furthermore obviously we want to test the performance of this application or API so you need to go to the thread group add the number of threads let's suppose we are adding 10 let's run this again and we will get the results as per our the load on this particular API okay you can see that we are getting the proper response here so that's how you can test the performance of the soup API in the J meter now let's see how we can test the performance of the rest apis open the notepad here and open this particular website copy this URL from here and open the browser and in the browser paste this URL here and in this particular website we will be picking up some sample apis for the landing purpose go to this fake API go to this rest API and you will find a lot of sample apis here okay so we have apis with the different methods like get post delete patch put right so from these ones I have picked this get API and also I have picked this post API so from this get API I will be fetching all the airlines data and from this particular API I will be creating a passenger okay so now let's open the postman here and let's see either these apis are working or not so for the get API you need to select the get here okay then you need to provide a complete URL and click on send so after sending a request you will get a proper response here okay so this means that this ePay is working now click on this API here and here you need to provide the body okay and this is a postcode because we are creating a passenger okay now from where we get this body open the website okay and here you can see that we have small arrows which is pointing us to the documentation Okay click on this one and you will get the sample request here so this is a Json format okay so you need to copy from here and paste here in the postman Okay now click on send here and you will see that it will create a passenger here now open the geometer here and first change the thread group to 1 okay and change the name of this first request so I'm naming it as sample soup API or web service okay and let's add another request go to the sampler select HTTP request again because the rest ePay is also HTTP base so that's why we need to select the HTTP request now open the postman here and you can see that this is https not HTTP okay so go to the J meter here and you need to provide https then we need to provide the server name so open the postman here and you need to copy till dot net API dot instant webtools.net okay you need to copy till here okay copy this one open the J meter paste it here okay now this is the get call okay but now we need to provide the path for this particular API open the postman and copy the rest of the URL copy this one open the geometer here provide slash here and the rest of the URL now change the name to sample get rest API okay cool so I am removing this one from here and let's add another one go to add go to listener here and add view results tree now let's run this one and see what happens so soap got executed test is still running and now it will execute the rest API this one so this get one so the larger data the larger it will take the time so the request code executed successfully here click on this one okay and go to this requests tab here so you can see that this is the request the method is guide and this is a URL and now just click on response data so we are getting details of all the a lines here okay there's so much data coming up in this particular API so that's how you can test the rest API having the get method okay now I am distending this one here okay let me disable this one and let's add another request here add sampler Go to http request okay and now change the name it to sample post rest API okay and from this API we will copy the data from here okay and these data will remain same for the both calls and now we need to provide the path now open the postman here and go to this post call here okay and we need to provide the rest of the data so we need to provide the rest of the URL from here copy this one open the geometer here provide the URL and now we need to provide the body so in order to provide a body here you cannot go to this body data and provide the Json format here so how we can do that now you just need to click on parameters and we need to add all the parameters passing in the Json okay so open the website here and go to the documentation section here so we have three parameters name trips and line so copy the name from here go to the geometer here click add okay name and select the value okay I'm giving it as testing finder click on ADD then we have this strips here copy this one go to J meter again and provide the value okay then click on ADD then again provide the third value okay align copy this one go here and provide the value okay now save this one and run this one now okay so go to here in the view registry the request is Success you can see that we are getting this proper response here our request is the post request okay and in the post data we have name trips and Airline okay so that's how you can configure a rest API now the rest API has been configured properly you can add a load here okay I am changing it to 10 and clear the results run it again and let's see what happens so this request got executed 10 times and every time we got a proper response here thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do subscribe our Channel like share and comment and once again thank you so much for watching this tutorial and see you in the next lecture [Music] hello everyone and welcome to this event tutorial in this tutorial we will learn how we can test the performance of your FTP request so let's begin first let's understand what is FTP and then we will see how we can test the performance of FTP requests using J meter so what is FTB FTP is a file transfer protocol used to transfer a files between one computer to another computer over the Internet okay so if you want to transfer one file from one system to another system over the Internet so you will be using a FTP protocol okay and the architecture used by FTB is a client server so what this means this means that your one machine or computer will act as a client and other will act as a server okay now FTP uses two kind of reports one is 21 for controlling and 24 data transfer okay so let's understand what kind of operations you can perform between the two computers okay so basically your one machine will act as a client and other will act as a server so now you can perform two actions here either sending a file from client to the server or from server to the client so if you are transferring a file from client to server so basically you are uploading a file okay now if you are transferring a file from server to the client this means you're downloading a file so you can perform two operations uploading and downloading so now in order to transfer the files from the client to the server you need to connect to the server so how you can connect to the server you need three things for that you need a hostname or the IP of that server you need a username and password and the third thing is the port so you need these three things to connect to the server okay now how you can connect from the local machine okay for that I am using a filezilla so this is a filezilla which you can use to transfer file from your local machine to the server it okay so on the left side basically this is my local machine and it has all the files which are present in my local and this is a server okay so it has all the files present there now in order to connect to the server what you need you need a hostname okay which we discussed already username password and the port and then you need to click on click connect okay now from where you can download the file data for that you need to go to the website which is known as files.project.org so from this particular website you need to download a filezilla client and you need to install that one on your system so after installing the system you will get this fileza and you can provide your host username and password and port to connect to the server okay so this is my local system and this is my remote and this is my local hierarchy where I'm standing right now and this is a server hierarchy okay now for example if I need to upload a file okay I just need to click a file from here click on upload so it will upload here slash hddocs and you can see this file has been uploaded here okay so similarly if I want to download a file from here I need to click a download it will download to my local system okay this file already exists on my system that's why it's saying that Target file already exists just click on this one it will transfer the file so file is being transferred back to my system so we need to perform the same actions using the jmeter okay now let's open the geometry and see how we can create a FTP request and then how we can put a load on that one okay open the J meter here and on the test spell level right click on this one go to add go to thread group add the thread group here and from thread group right click on this one go to add go to sampler and here you will find a FTP request click on this one here we have multiple options like name commands server or IP port remote file local file okay and then we have these options like get put binary save file and response and then we have a login configuration okay we just learned that we need to provide a server name or IP port name port number username and password in order to connect the server now let's provide a server name here so my server name is basically ftpupload dot net okay I'm copying from here go to the G meter okay so not here we need to provide here then we need to provide a port okay and we need to provide a username and password okay this is my username okay let me go from here paste it here and then I need to provide my password okay let me copy from here okay it's not allowing me to copy from here let me copy from my document file so this is my password from here I'm coming from this one and let's provide the password Here so in order to retrieve a file this means you are downloading a file you need to select this get okay we need to select a get now we need to after making connection we need to tell the geometer that from which location you need to copy a file and which file you need to copy and after that we need to tell achieve meter that where this file need to be placed on my local machine okay so if I go to the filezilla here so this is a file location here okay let me come from here okay so basically is slash htdocs then slash upload dot txt okay so I'm going to the jmeter here and providing a remote file here slash okay then the name of the file complete file name so this is a file upload.txt let me copy the name from here and I need to go back to the geometer here and provide the full name okay and now where I need to place this file on my local machine okay so already it is placed on my local machine here on the desktop just let me remove this file from here okay and now I need to place this file here on the desktop okay so let me provide the details here so this is a path till my desktop I need to copy and I need to provide here and also what I need to do is that I need to tell the geometer that what will be the name of this file so I need to copy this name from here and paste it here okay now our request is ready to execute before that we need to go to add go to The Listener add view results free okay so right now what we are doing is that we are downloading the file from the server so I'm changing a name to downloading file okay now just let's run this request and see what happens let me save this one okay and let's run this one and you can see that the request has been successfully done okay and you can see that the response code is 200 this was a request okay this was our FTP server path or the file path and that was a path and the file we need on our local machine okay so if I go to the response data you don't receive any kind of data because we are just copying a file from server to my local machine so that's why you don't have any kind of information available regarding this one so now let's go to my desktop and see either we can have this file or not and you can see that now we have this file here okay so this is a file so that's how you can retrieve a file from the server now see how we can upload a file to the server from our local machine to the server okay for that open to the jmeter and here all things will remain same almost okay we just need to select put here so put means that we are uploading a file your server okay so again we need to tell what will the name what would be the path on the server and what is our local path here okay so let me go to my local here and let me rename this file here okay so change name it to upload to server okay now we have this file here and it has some text as well okay now let me copy the path from here and this is a path and this is a file name okay let me copy this one from here and go to the J meter so basically it's upload to server Dot txt so this is a file we need to upload to my scdoc slash okay so I need to copy this here and I need to paste it here okay and if I go here you can see that we don't have such file in the HD Docs okay now let's run this and see either the file is getting uploaded or not so before in before doing that I am changing the name here is to upload upload file okay and let's run this and see what happens so the request got executed okay and we can see that the response code is 200 request is from this to this and now you can see the arrow is pointing towards the backward okay if I go here error is pointing this way okay so from this to this and here from this to this okay now let's go to my files that are here and Let me refresh this here and see what happens okay so now you can see that I have the similar file on the server in my St doubs okay let me open this file or let me download this file okay so now you can see that the file size is same and this one already exist click on this one okay it will overwrite the file so that's how you can configure for uploading and downloading the file in terms of the FTP okay now you need to perform a load testing on this one okay for that obviously you need to go to the thread group you need to increase a load as per your requirement now if I'm increasing the load here it will not create the 10 files on the server okay let me show you and I will tell you why this is happening as well okay let me run this one okay and here you will see that one two three four five six seven eight nine ten so ten times this file has been transferred from my local to server but if I go here and refresh here okay so you will see that there's only one file now why this happening so this is happening because the same file exists so what happens is that if you are trying to hit 10 times from a j meter okay you might get the performance in terms of hitting the 10 times okay but the file would remain same and here on the server the latest file will be uploaded okay so how you make this data driven for that what you need to do is that you need to provide a dynamic file every time okay you need to either you can provide from the CS3 or from the Excel file which we will learn in our upcoming sessions how we can make our requests data driven but you can see that if I'm hitting 10 times there are no files creating for the 10 times okay but that's how you can do the performance testing of the FTP request using the jmeter thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do subscribe our Channel like you and comment and once again thank you so much for watching this tutorial and see you in the next lecture foreign [Music] how we can run our geometry scripts from the command line which is the non-jui mode so let's begin so far what we were doing is that we were creating our scripts in the jmeter and we were also executing the scripts from here okay so let me open my existing test which we created in our previous sessions okay so let me open this one okay and in order to execute this test we were executing this test from here okay let me execute this test from here okay and let's see what happens so you will see the results here and we got the results here so that's how we were doing till now but this is not a good practice when you are actually putting a load on application okay now what is the best way to execute your skills the best way to execute your performance script is a command line which is known as a non-gui mode now why we need to run our scripts from the command line okay there are multiplications for that so the first reason is that whenever we execute our escape from the interface it will consume it will consume a lot of memory and resources because this is a Java application it will consume a lot of your memory and your resources of your system from where you are running the geometry scripts okay this is of one reason okay now the second reason is that tomorrow if you want to run your skips on any devops tool okay for example Jenkins okay so you need to provide you need to provide a command to in order to run your script okay so these are two reasons now let's understand the point one here in case if geometry is receiving a lot of memory and resources then what will happen okay there are two possibilities okay one is that you might not get the proper performance results okay and the second is that you might not get any result so no results at all okay so when we are talking about the resources what can be the possible resources here for that I am opening a task manager here okay and the core resources are the CPU memory disk and the network okay if you click on this performance okay it showing that how my CP is being utilized memory disk and internet okay so as soon as you put a lot of load or generating a lot of load through a j meter it will consume a lot of your CPU memory internet okay or your network bandwidth so if it reaches to maybe 70 percent plus okay so your processing time will delay okay and that delay of processing okay delay processing is included in the response time you get in J meter so this means that you are not getting the actual response time of your application the delay of your J meter because of the resource consumption is also included okay and if this resource consumption reaches to the 100 percent okay so your J meter will stop geometer will stop working okay and in this case you will get no results okay so that's why we need to execute our scripts from the command line instead of opening the J meter UI okay and executing the script from the UI now let's open the geometry command prompt here okay so this is the one command round it it will actually appear when you strategy meter and if you can see here they have also mentioned that don't use the GUI mode for the load testing only for the test creation and debugging purpose okay for load testing use the CLI mode which is a non-ui mode okay so here is a command okay so let me write this command and understand this command here okay let me copy from here and let me paste it here okay now what this command is we have a keyword called jmeter okay then we have Dash N Dash N means that we want to execute our J meter script or the J meter from the non-ui mode Dash t means that we need to provide a j meter Escape file which have an extension called Dot jmx and then Dash l means where we need to put our results after execution okay so usually we need to provide a file so jmeter accepts two kind of a file here one is called dot JTL and the other is called dot CSV so the commonly the best practice is that you should be using the dot CSV file so this is a simple command here okay which will help us to execute our script from the command line now let's open the command prompt and let's execute our escape from the command line okay for that type here as CMG okay so now first thing you need to do is that you need to Traverse to the J meter bin directory otherwise this jmeter command will not get executed okay so for that I'm going to my D drive okay and in the D drive I will be going to my Apache jmeter Dash 5.4 okay CD Apache Dash jmeter Dash Okay then 5.4 okay and then we need to go to again the same folder okay now if I type directory here you will see that we have a bin folder so again CD and Bin so right now you are in the jmeter bin folder from where you can execute the J meter using the batch file okay so if I provide a jmeter command here in the command prompt okay so it will get recognized otherwise it will not recognize a geometric command okay then what we need to do is that we need to type A J meter Dash N Dash T okay now you need to provide a j meter dot jmx file okay so let me go to the J meter and our file or script is Blaze demo sample dot jmx okay so let me go here and let me copy from here okay so this is the file right click on this one go to the properties and copy from here okay and now go to the command prompt here again and you need to provide this file here okay now what we need to provide we need to provide where we want to save the results okay for that we need to create a CSV file first and then we need to provide a path of that CSV file here okay so let's go to the desktop here okay and open Excel here okay and in Excel you need to create a blank dot CSV file okay so create a blank file here and now click on file go to save as okay I am saving on the desktop okay and let's name it as non GUI okay and we need to select as a CSV comma delimited Okay click on this one and save this file okay and you need to keep this format yes okay now we have this file on the on the desktop click on this file okay and you see that we don't have any kind of the data here in this particular file right now close this file from here and let's copy the path of this file okay go to the properties and this is the path and this is the name of the file so copy this path from here okay and let me look at the notepad here so that we can create a proper path for this file okay and then we have to provide the name okay and then we also need to provide extension of that file as well okay so this is non GUI dot CSV so this is a complete path okay from here and copy this one from here go to the command line here and then we need to provide Dash L and then the name of file okay so go to the command from and provide Dash L and then we need to provide a command copy this one from here and then provide here okay and here you might have a question that folder skipped we just provided the name of the script but for the CSP file we have provided a whole path so why this happens because this J meter script is under that bin file so that's why we just provided the name here in case if your geometry scripts are not in the bin folder of the J meter okay so you need to provide a complete path of your geometer script okay now just enter this one and see what happens here okay so you will see that it will start executing the test and you will see some details here in the command prompt as well now you can see that it will start executing okay it will take some time and let's see what happens so you can see that the test got executed and we have a summary which is 10 threads okay this is a time this is average this is a min max so we are getting some results here and we got n of the run so the JBL script got executed without opening the J meter and running from there okay now we want to see either we were having the 10 threads in the script okay so let's go to the geometer here and if I go to the thread group here you can see that we have this 10 threads here in the J meter okay now open the CSV which is important part here either we are getting the results or not okay so now let's open this one and you can see that we have results in the CSV file so now if you need more help about the combined and command prompt for that just go to the command from here and in the bin folder you need to type jmeter Dash H so Dash h means you're asking for the help here okay press enter here and it will provide you a list of help for you okay so for example if you want to list all the commands Okay so this is how you can do it in the windows or this is in the Linux okay so we have all other options available how you can do this using the command prompt okay to generate a report from existing CSP file okay so we want to run a j meter to use a proxy server so this is a command so you can have all kind of a help from this one okay right now what we need to do is that we want to know about more commands so we need to use jmeter dot batch Dash question mark okay so J meter dot batch Dash question mark now press enter it will list all the commands we have you can see that we have all the commands available here okay so Dash h means help Dash b means version if you want to lock the file Dash L okay so you find all the commands here in the G meter if you want to know about these commands you need to type again limited dot bat Dash question mark thank you so much for watching this tutorial we hope that you have learned something today if you like your content then do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture foreign so let's begin in our previous session we learned that how we can execute our script from the command line right so after executing your scripts you might need to send the report to your management make the client or the stakeholders okay in jmeter you have an ability to generate an HTML report okay once you can generate that HTML report you can send it to your management or the client so in J meter there are three ways to generate the HTML report the first one is through the command line okay and then we have another method again this is related to the command line okay and then we can use the interface jmeter interface to generate the HTML reports interface to generate the estimate report so now what is the difference between the first and second command line method okay so in first method what we will be doing is that we will be executing our scripts executing a Scripts and at the very same time we would be generating CSV file or we would be logging our results logging our results into CSV file and once that file will be generated we will be generating we will be generating will be generating HTML report from that file okay and in the second method command line method what we will be doing is that we would be generating HTML report from existing results file okay so your results file might be CSV or it might be dot JTL okay so in the second method you would be generating from the existing file you are not executing your scripts okay and in first method you are executing the script at the same time once they got executed they log the data into a CSV file or dot JTL file and from that file it will automatically generate the HTML report so in in the first part in the First command line we need to provide all the details okay for example we need to tell the J meter okay where to log the results and also we need to tell where J meter needs to generate HTML report okay and and obviously what we need to do is that we also need to tell the geometer which script needs to execute it okay so in our previous session we learned that okay so I'm opening the command prompt here so here if you can see that in order to run from the command line we know that we need to provide a keyword called jmeter Dash N Dash T Dash and means non-ui mode Dash T which test we want to execute Dash L is basically where we want to log the data either it's a CSV file or dot JTL file and then Dash e Dash o so here we need to provide a path of the folder where we need to generate the HTML report so this is a whole complete Command to generate the HTML report and this is a command which we are referring to this first method first command line method okay in the second method we we would be only providing the log file or the CSV file and the path of the HTML folder okay and in the third method which is a UI method okay so let me open the geometer here so if you go to the tools here you can see that generate HTML report you will find this option in the latest versions of the J meter in the version 3 you might not find this option okay so in the latest version like 5.4 5.4.1 you will find this option just click on this one and we have these three options here okay now what we will do is that we will open one script okay we will run that script we will run that script from the command line and then we will see how we can generate the HTML report using these three different methods okay now let's open the geometer and in the geometer go to the file section go to the open and let's open the test we created earlier I am opening my API performance testing script here for this demo here okay now this script has three API requests one is a soap and other two are basically a rest EPA request okay so the always the best practice is to dry run your script before you actually execute or put a load on that one okay so I am changing a thread group to one here and let's run this one and let's see how it works so it start executing and it got executed successfully all request got executed perfectly here okay so now what we need to do is that we need to open a command prompt in order to execute from the command line right so we need to go to my geometer directory here so for that CT and let me see what is my folder and yeah so this is my folder here and this is CD Apache Dash G meter dash 5.4 okay and same again and then CD bin so now we are in the G meter directory bin directory right so from here we can execute our Escape using the command line so we know that the command line is basically using a keyword called G meter so J meter and if you don't remember the syntax or the command for that one so you can always refer to this window this window opens up when you actually start the G meter right so the so the command here is that g meter dash n n means non-jui mode T is the test script which is dot jmx file then we need to define the where we log the file okay and then we need to Define where we need to place the HTML report okay so let me go here again and let me follow this command dash n Dash T and they can go to the directory here and let me find my script so this is my script so let me copy this one from here let me copy from here and let me go ahead the command prompt so this is my test script now dash L and now I need to provide a file where we need to place or log the data okay so here you can do two things here the first thing is that you can create a file and give a path of that file okay or you can just give a path it will automatically generate a file for you okay so let me go to my desktop here and in the desktop okay so let me copy the path from here okay so this is the path I'm coming from here let me go to this command prompt here and what we need to provide Dash L okay now we need to provide a path okay let me give it name as results okay dot CS V so what it will do is that it will execute my script and generate a CSV file on my desktop with the name called results.csv okay so far we are not generating HTML report so just click on enter here and let's see what happens okay so it will start executing the J meter script and it will generate a log file and in the log file it will catch all the results okay so the results got executed successfully and let's go to the desktop and you can see that it generates a result file let's open this one here and you can see that we have results here okay so that's how you can generate a log file now let's create a folder here on the desktop okay and I'm naming it as HTML report okay so this is my folder now so I need to generate a HTML report and I need to place this HTML report here inside this particular folder okay right click on this one go to the properties here and copy okay let's cancel this one go inside the folder copy the complete path from here copy this one now again go to the command prompt and you need to provide this command then we need to provide Dash e Dash o and the path of the folder okay now one thing you need to ensure is that whenever you execute this command you need to ensure that this particular CSV file should be empty we know that it would be generating a new file every time but if the file is already being generated it will always from the error here that file is not empty so for that what I am doing right now is that generating a new file here and I'm calling the file here as results1.csv okay now let's run this one and let's see what happens okay so it will start executing it will first generate the CSV file with the name called results1.csv and from that particular file it will generate a HTML report so the execution is completed now let's go to this one and open this Resource One and see either we have a data here or not and yes we have a data here and now just go to this HTML report folder and here you can see that we have now different folders and index.html file right now open this file and let's see this is how your HTML report looks like so you have different sections here here you can see the request summary which is this which is the source file start time and time okay we will discuss about this report later on I understand this report but right now just understand that how you can generate this report so what else you get in this report is different charts here okay so you have different charts spawn times over time active thresh over time latency over time okay and if you if you want to generate a custom graph you can do that as well okay so this grass will really help you to understand in detail and you can also share this with your stakeholders so this is the first method now now what we will do is that we would be using our second method okay so we would be generating from the a16 results file okay now what I'm doing is that I'm removing this data from here okay and this folder is empty now and we have there is results one file already available here and from this file we would be generating a HTML report okay now let's go to the command from here and this time what you need to do is that you need to provide a keyword called J meter now dash G then you need to provide a path of your CSV file this is a path of your CSV file okay so let me copy the path from here okay so this is our file just go to the command from here and Slash so it's results one Dot CSV and then we need to provide a output folder here so you need to provide Dash o and the path of your HTML folder where you want that HTML report you can see that this is folder is empty now I am copying the path from here and let's go to the command prompt here and paste this here so right now what we are doing is that we are just generating a HTML report from the existing CSV file okay so let's hit enter and see what happens now so it will generate a HTML report from the existing CSV file so once it would be completed it will look like this way so you will not get any proper message here now just go to this folder and you can see that now we have this data in the HTML folder okay so if I go here you can see we have a data here now click on index and you will see the same report and again you can see the source file start time and time and other details here in the HTML report so in case of the errors you will see the errors here okay so right now what I'm doing is that let's open the J meter and modify the script a little bit so that we can get some errors okay so for that I am adding one assertion and if I go to this soap API so the size here in bytes is 279. okay so what I am doing is that I'm adding an assertion of size and I'm saying that it is equal to 100 so whenever it got executed it will fail so I am intentionally failing this one and let me increase the number of threads as well so now the number of threads would be 10. okay so now let's go to the command from here and before that let me clear this folder here okay and now just go back to the command prompt and we need to provide the whole complete Command because I have modified the script so I want to execute a modified version of the script right so for that I'm executing the whole command and again I'm changing a file results file here to results 2 so that we don't need to go again and again and clear the data from the file okay now let's execute this one and let's see now it will fail some data and we will see some errors in the report because the size was somewhere around 260 and we are saying that it should be equal to 100 okay now just open the G meter and okay now let's go to the yeah in the HTML folder now open this index file and now you can see that the result source file is basically results2.csv okay and we have some failures which is 33 percent and 66 percent are passed now and if you go down here now you can see that this is the error so the result was wrong size so it is saying what type of error we have how many times we got this error so what is the percentage in terms of error for this particular sample and with respect to the All sample so with respect to the all samples is 33 percent is specific to this sample is 100 so again if there are multiple layers so it will show top five errors for you here okay now we have remaining one more method which is basically to generate from the interface okay so I am deleting this data from here okay so that we can generate from the UI just go to the jmeter here go to the tools option and click on generate HTML report again you need to provide a CSV file so let me browse the CSV file so it was results 2 right so I am going to my desktop here and sorry so here's my desktop so this is the results file you need to select this one then you need to select the user.property file so I am browsing that file it would be in your jmeter folder okay so you need to go to the jmeter folder into the bin and Bing you will find this user dot properties file click on this one and now you need to provide a output directory okay so our output directory was basically on desktop okay and on desktop we have this HTML report folder okay and let me reconform either we have cleared the data or not so the data is cleared Here and Now go to the geometer here click on generate so it will generate the HTML report now we know that we have these multiple options okay the best option is the command line you can choose between the first two methods again depending on your requirement so in some cases you might not need to generate HTML board okay you might be working from the existing you know CSV file depending on your circumstances and the requirement for example if I am working as a performance test engineer I am running the scripts again again to see the bottlenecks and the fixes and how it is impacting the system so for that I might not need to generate HTML report okay so I just need to take care of the CSV data file and results and because I am a performance as engineer so I don't need to have a HTML report every time so depending on your scenarios you can use this command line interface is not recommended because now the data is very strong in the CSV file once you have have a millions of data it will start crashing you will not able to generate a proper results file so always use this command 9 for generating the HTML report so now the file has been generated successfully now let's confirm this one so go to the folder here and see so now you can see that the files has been generated click on index file and you can see that we have a proper results file here so that's how we can generate HTML report using the different CSV files from the command line and as well as from the UI in geometer thank you so much for watching this tutorial if you like our content then do subscribe our Channel like share and comment and once again thank you so much and see you in the next lecture foreign tutorial in this tutorial we will learn how we can configure the HTML reports and we will also understand the different sections in the HTML report so let's begin in our previous session we landed how we can generate the HTML report so there were three ways to work from the command line and one is from the UI so in some cases you might need to customize that report okay so in order to customize the report first let's generate the report and then we will see how we can customize and see the how it looks like when we customize it so for that just let's go to the tools here go to the generator HTML report and select the CSV file which we created in our previous session so it will be on my desktop so I am selecting results2.csv open this file now select the user.properties file this file will be in the bin folder of your geometer so go to the win folder here and you will find this user dot properties file click on this one here and now you need to select the output folder of your HTML okay so browse that one so in previous session we created a folder on the desktop for that one so I'm going to my desktop here and I am selecting this HTML report folder click open now generate the report so it will generate the report and we will confirm that after generating and once it will be generated so file has been generated now go to the desktop and open the folder here and open this index.html now you can see that the HTML has been generated and this is generated from the results2.csv okay so there are multiple things you can do here the first thing is that you might need to change the title of this report by default in J meter is Apache jmeter dashboard but you might need based on your project okay so let's first change this one or customize this one and see how it looks like so for that you need to the bin folder of the jmeter and here you need to open user.properties file okay and here in this particular file you will find a report configurations you need to scroll down a bit here and you will find that one so reporting configuration and this is the first information you can change change from here this is the report Title by default's Apache jmeter dashboard you can change it so for that you need to uncomment this one and you need to change as per your requirement so I am changing it to my my API performance testing project okay and I am saving this file now we need to restart the geometer if we are generating the report from the UI okay so I am closing this one and let me reopen the geometer here and we will generate the report again so meanwhile it will start so what I will do is that I will go to my this HTML report folder here and remove this files from here okay now the folder has been removed and let me go to the J meter here and in the J meter I need to go to the tools here again click on generate report here and I need to provide the same results 2. CSV file which we provided earlier so go to my desktop and here is the file open this file we need to select the user.properties file and we know that it's in the bin folder of the G meter go to the main folder here select user.properties file and we need to select the output folder so I'm going to my desktop again and I need to select this HTML report folder now click generate so the report has been generated now let's go to the folder again so you can see that now we have this index.html file again here open this file and now you can see that it's changed to my API performance testing project and previously it was Apache jmeter dashboard so that's how you can change the basic title of your report okay the next thing we need to understand is about the application performance index so here you can see that we have a toleration Threshold at the frustration threshold so basically these values reflects to your minimum and maximum threshold okay so right now by default it is 500 millisecond which is a minimum value and the maximum is one second and 500 milliseconds so if your samples lie between these so it will satisfy your performance okay if not okay so it will index between 0 and 1. so if you are getting one this means that most of your requests or 100 of your request in this particular case lie between these two values okay and if it doesn't lie between these in terms of the response so it will show the zero or it will calculate based on the number of samples lie between these or doesn't lie between these values so let's suppose let's talk about this sample post rest API okay sample post rest API so now you can see that the average minimum is satisfying the minimum threshold right and if I go here for this particular this one rest API get one okay so you can see the time is in art quite higher they are not lying between these okay so these are not satisfying this one okay so this means that the performance is not what you are expecting and you can Define these two threshold values in the geometer as well as per your requirement so now how you can define those values okay so again you need to go to the properties file and in the properties file you will find the threshold as well okay so here here's the first one and here's the second one okay so you can change this parameter you need to uncomment this one so I am changing it to 5000 and changing this to 15 000. so 5 seconds and 15 seconds so I'm saving this one and let me restart the J meter so that we can generate the latest report and I'm creating this folder as well from here let me clear this one and now let's go to let me open the J meter again and we will generate another report and see what is the difference here okay so let it open and we will generate another report here okay geometry is up and running now so I'm going to the tools here go to the generate HTML report and go to the browse here and here we need to select the same CSV file so I'm going to my desktop and this is the results 2 dot CSV then I need to select the user.properties file let me go to my Gmail folder here and let me select this file here and now the output folder so it would be my same folder on the desktop and I'm selecting this HTML folder now generate this report so once it will be generated it will open and see what is the difference okay so the report has been generated let me go to the folder here and here you can see that we have this report generated I am opening this index.html and now you can see my threshold is basically five seconds the minimum is 5 Second and maximum is 15 second okay so you you can Define these thresholds as per your requirement so overall the your application performance index is 0.5 which is average so it should be somewhere near to 1 okay so it will be more appropriate and more accurate in terms of your performance okay furthermore we have this stats section so it will show the stats the number of Errors okay the average time the minimum time maximum time median of your samples so medians of 10 samples here similarly this shows the 90 percent means out of 10 9 requests got executed within this time similarly for 95 and 99 percent and here's a throughput for the installation and the bytes we send and receive furthermore if there are any errors it will display errors here okay and you get to know what kind of Errors you are getting so right now this error is not a proper error our assertion was failed and we failed it intentionally so that we can see some errors here in the report okay so this is the overview and this is the overall summary how many percentage is passed and how many percent is failed okay then we have some charts here over time throughput response time okay if I click on anyone right now you don't see anything because the granularity is one minute okay and we are executing results or the executions are getting valid rapidly so that's why we are not seeing this on such kind of graph but when you are executing a scripts which might take one r2r so you will see the difference here right now in order to see the difference we will change this granuary to minimum value okay again for that what we need to do is that we need to go to the properties file and here you will find this one yeah so right now it is set to 60 000 which means it's in one minute so I'm changing it to 60 right now so that so that we can see the difference and again I need to close the J meter to take the effect and I will start the J meter and I will also clear this folder from here okay so that we can generate the new report okay so once the geometer will be up and running we will generate an other report and see how it looks like now okay so it will be more readable report as compared to the previous one so geometer is up and running and I am going to the tools again going to generate HTML report now click on browse and again I would be selecting the same report which is my results 2. CSV and now I need to select the user.property file let me go to the J meter and the J meter it would be in the bin folder now I need to select the output folder so it would be on my desktop and on desktop this is the my folder okay now generate the report and once it would be generated will open and see the difference okay so report has been generated now let's go to the desktop here and you can see that the report has been generated open this one and now go to the charts here go to the overtime okay so now you can see you are seeing some kind of a data here so from this presentation you can analyze what is happening how your different transaction and requests are performing so this is the response time over time so on the left side there's these are the average response time in milliseconds and this is the granularity so this is this will help you to understand what is happening with your request so this particular request basically sample get request is having a variable time which is increasing so this is something which is should be notified and get reported to the developer so this actually reflects that the performance gradually decreasing or increasing depending on the number of the load okay so similarly goes for the different reports here okay you can see some kind of proper data here and if I open the previous one you might not see a proper data here so again you can see that this one and if I open this one so you can see a very straight line so you will not be identifying what is happening okay but here if I go to this one you can see each and every report it has some proper data so what were the active number of threads at the start and how they usually decreased so these stats will really help you to identify in the bottlenecks okay so this bottlenecks will help you to to identify the problems and then you need to fix those performance issues okay now you can also Define some custom graphs right now there's no there's no custom graph because we haven't defined that but you can Define the custom graphs as well so let me open the J meter official website for HTML report generation and let me open this file so there are a lot of properties you can change okay so here if you go here down let me go down here and I will show you what properties you can change right now so if you want to make a massive change so jmeter suggests that you should copy okay you should copy them in your user dot properties file instead of this reporter generator.properties now again where this file exists so go to the bin folder and it would be here so report generator dot properties file so if you want to change some more properties so from here you can change so you have a lot of things here again you need to uncomment and you can change the properties as per your needs but what they are suggesting is that you should not change anything in the report generator dot properties file instead what you need to do you need to copy from here okay and you need to paste it in user dot properties file and call from there okay this is what JM it is suggesting okay so then if you want to filter some data for example you want to filter some request so this is how you can use this one so you will also find this in the user.properties file okay then we have this configuration you can go through this one okay and there's some general settings you can do for gmeter DOT report dot generator so you can do different settings from here as per your requirement okay so that's how you can actually Define and configure the report so that it makes more sense and it looks appropriate which can be presentable and which can help you to identify the problems thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do subscribe our Channel like share and comment and once again thank you so much for watching this video see in the next lecture [Music] hello everyone welcome to this Gmail tutorial in this tutorial we will learn how we can make our request data driven using the CSV config element so let's begin so far what we have learned is that we were sending our jmeter request with the same set of data however in actual your application will be accessed by different users and they will be sending a different set of data on your application now you need to create your screen such a way that your script will be sending a different set of data every time or on every iteration okay in order to do that you can use a CSV config element okay and for this tutorial I will be using some apis so you need to go to the browser here and you need to open Instant web instant webtools dot net and from this particular website you can get some fake apis for the testing purpose and the learning purpose so you need to click on the fake API then go to the rest API here and scroll down a bit here you will find a lot of apis so we need to pick a API which will be sending some data so usually the post apis are those apis which will be sending the data so I'm picking this passenger API this API will create a passenger using a correct passenger data okay and we need to map this into the jmeter right so let's go to the diameter here and on the display level right click on this one go to add go to thread groups add a thread group here now right click on the thread group go to add go to sampler click on HTTP request and now because the apis are basically an HTTP request you can see that this is HTTP or https right so that's why we are using a sampler which is called HTTP sampler right now what we need here we need to provide a protocol we need to provide a host name and we need to provide a path we need to provide a method for this API and then we need to provide a parameters for this particular API okay so let's go to our documentation here so the protocol is https I am copying from here and let's go to the J meter paste it here now we need a host or IP name so IP and hostname is still.net so I'm copying this one from here and let's go here and paste it here then this is a post call I'm selecting it as a post and now what we need we need a path so the path is basically this one right slash V1 slash passenger right so this is the path let me copy from this one here and just go to the gym meter and provide the path now what else we need we need a body for this particular post call so for that I am clicking on this one so here is the body okay and it has three parameters one is main trips and a line okay now let me copy from here and go to the J meter and let's add a parameters here so the first parameter is name okay and the second parameter is trips okay and the third parameter is basically the airlines right so this is the airline and I am having this here okay and now what are the values so the dummy values are John 2 I'm copying this one from here pasting it here then we have trips this is 250 and then we have this a line which is 5 okay so we are riding with this request and I'm changing this request to API data driven testing okay and now what we need to do is that we need to add a listener and you need to go to this view resource tree here okay now we have created a request here and I am saving this request here as API data driven testing API data driven testing so this method is not only applicable for the apis this method will be applicable for any kind of request okay so I have saved this request and let's run with a single user and see either this request is working or not so let's run this one and see what happens so request got executed successfully and if I go to the request here so you can see that the name is this one trips is this and a line is five okay now what we need to do is that we need to send this request with a different set of data okay for that what we need to do is that we need to go here on the thread group right click on this one go to add go to config element and you need to select the CSV data set config Okay click on this one and make sure you need to put this on the top as well okay now it has multiple options here we have a name we have a comments and then we have this important data to configure the CSV data source it has file name it has file encoding variable names if you want to ignore the first line you can do this you can use what kind of a delineator you want to use so ideally if we are using the CSV so we would not be changing this one this is a comma here and do we want to allow the quoted data so for example if there is any kind of data which is under the codes so either we want to allow that data to be passed here or not similarly we need to recycle at the end of the file if yes make it true if false so you can based on your requirement you can change this one as well then you can and what what do you want at the end of this file do you want to stop the thread or not also you can share this with all the threads okay so right now first we need to do is that we need to create a CSV file so let me go to the desktop here and let me open the Excel here okay and we will be creating our set of data okay now what are the variables here so variables here are basically if I go to the request here so it is name open from here go to here paste name what else we need we need trips okay copy from here and we need to provide trips and then we need to have our Airline okay now these are our users variables okay now we need to provide a data here so First Data is let's suppose testing window one okay and sending the trips as 200 Airline equals to five let me copy this one paste it here paste it here and two make it three let me change the trips to 300 here and let me change the trips here as 350 and you can have a line five and five okay so now you have created your data and now you need to save it as a CSV file click on the file here and go to save as here and you need to select the file type here so by default it's Excel workbook you need to click on this one and you need to select a CS3 comma delimited here okay click on this one name the file here so I'm saying this file as data level okay and I am saving this file on my desktop okay so you need to copy you need to have this format so click on this one okay okay and close this one from here save this file and save ping this again so it's already being saved so yeah okay so now let's confirm this file so this is a data driven file and this is a CSV file we need to right click on this one here and go to the properties and we can see that the format is basically dot CSV okay so this is confirmed now now let's open this file to confirm either we have a data or not so we have a data here proper close this one now go to the J meter here and go to the CSV config element now click on browse and you need to Traverse to that particular directory where you place this file so I have created this file on my desktop I'm opening this one uh we haven't select any kind of encoding if you have any kind of encoding you need to select the proper encoding from here okay and then we don't need to provide the variables name because we have already provided that in the sheet and this is false this is okay this is okay so now now we have imported our data file here what next we need to do we need to pass the variables into the request so let's go to the request here previously what we were doing is that we were sending this hard-coded data so instead of this hard-coded data now you need to provide a dollar sign okay calibrases and you need to provide a name of variable which you have used okay so I'm changing here these variables actually I'm passing these variables here so trips now here we have a lines so again I need to provide the variable name a line okay so let's save this request so now we have a three set of data which we created so this means that I need to go to this thread group here I need to select this three from here okay now we are good to go with that and let's run this and see what happens now so API got executed three times and every time the request got success so let's open this request and see that now this is testing Funda okay searching for under one and we have some trips so let me highlight this one yeah so trips is 200 A9 equals to 5 then we have this request where we have testing Fender two then we have this where we have testing for not three so that's how you can make your request data driven or you can make your request parameterize using the CSV config file okay now let's go to the CSV data config again and we have this option recycle on the end of the file okay so it's true now so what this means for example if I go to this thread group here and I change it to 9 so this means that my request will go will get executed nine times however the point and the problem here is that I have only three set of data so now what happens so what happens is that the same data will be repeated for the next iterations okay so let's run this again and let's see what happens so till here we see that the data got executed previously now we have this testing Fender okay this testing finder one and second two okay so this one here again you will find the same request okay so after every three data got consumed it will repeat so this is the way you can use this recycle at the end of the file okay so that's all about how you can make the request data driven using the CSV data config file thank you so much for watching this tutorial if you like our content then do like comment and share and subscribe our Channel see you in the next lecture [Music] hello everyone welcome to this team media tutorial in this tutorial we will learn about the timers in the jmeters so let's begin now let's first understand why we need timers and what are timers in jmeter so for some Stan what are timers in jmeter okay so in order to understand the timers first let's understand a scenario what happens if you create a generator script it will consist of multiple requests like request one request to then request 3 right so by default what happens is that by default let me write by default default so by default J meter will execute All Above request without any delay and now if limit is executing request one after one one after one so it will not create a realistic geometry performance script because in real time let's suppose as a user if you are going to any application you will open the browser you will take some time to write any website for example google.com then it will take some time to load and then one is is Got Loaded then you will be typing what you need to search okay and if you go to some specific e-commerce side maybe you're exploring some products so you will take some time to explore the products right so there's always a time between the request so in order to make your script more realistic like more realistic so you need to add timers in jmeter so what these timers will do it will delay it will add the delay it will add the delay between the request so what happens is that after adding the timers the things will go in such a way okay let me copy from here and paste it here so it will take like maybe after this request it will wait for or delay for maybe five seconds okay that's what actual user might be taking time for example maybe here it take three seconds okay and here it might take six seconds okay so this is the scenario we need to populate so how this will be done so this will be done using the timers so what we will be doing here is that we will be adding the timers against these requests so that we can mimic the actual time taken by the user as we know that by default jmeter will not add any delay here now let's open the geometer and see how we can use the timers and what kind of timers we are available here now open the J meter and go to the test plan go to add go to the thread room okay and against the structural is ADD HTTP request so I'm adding multiple requests here let me copy and paste the request here and now let's open the browser and make some request here let's create a script so go to the browser and go to the J meter official website so this is an official website right so let me create the script for this one okay so go back to the geometer here so going to the first request it would be like J meter home page then let me change let me find some other requests like get started okay so let me go to the Jupiter again change the name to get [Applause] started then let me go to to the user manual or maybe the best practices okay so go back to the gym meter here let me create best practices okay and let me now populate these values like we need to provide the protocol we need to provide a server name and if there is any path we need to provide the path okay so let me go to here so this is our website let me go from here and paste it here and we don't need to provide a protocol here we need to provide a protocol here okay so our first request is ready the second one is get started okay we need to provide https here and we need to provide the mean or the hostname okay here and then we have for get started we have this URL okay let me copy from here and go back to this one so slash path okay and then also we need to provide the HTTP request here and let me copy from this one and then we are talking about the best practices so click on best practices okay and let me copy this complete one from here okay and go to the G meter and provide the path so we have populated our request here now add a listener here and see either it's working or not okay so we have added a listener here just run this one and see what happens so I am giving name as timers and let's see what happens so we're all request called executed successfully and you see it only takes around one second here on the top here right but and actually when I was going to the application I was taking some time maybe two seconds three seconds now we need to mimic that delays using the timers okay so if I go here on the third group level go to the ad we have a timer section here and you can see we have a multiple timers here constant I'm a uniform random timer precise throughout timer okay so all these timers will help you to give a delay between your request and commonly we use either constant timer or uniform random timer and you can see we have other timers as well like version random timer poison random timer so now what is the difference between these basically this gaussian random timer will be following the gaussian method to generate a random time similarly this poisson random timer will generate a random value at the same time but using this poison I'll go but in commonly our all most of the cases will be done using this constant and uniform random timer let's see how they are different and how we can work so now how and where we can add the timers the timers can be added onto the test plan level it can be added to the thread group it can be added to the request as well let me add a timer on the transplant level so this timer will be applicable to all the thread groups and all the requests so here we need to provide a timer for example if I provide a value 5000 so it will take 5 seconds for each request here okay previously you see that it takes only one second now let me remove this one and run this one here you will see one two three four five then first request then again it's waiting for the five seconds okay going for the second request then will it take five more seconds to complete all the requests here so this timer was applicable throughout the test name now let me disable this one from here and let me add to the thread group level as well so now this is on the third group level and now again I'm giving here five seconds so each request because we don't have any thread other thread group now it will act in the same way and you will see how it works so one two three four five first request code executed then it read for five more seconds execute the second one then in a similar way the third one you can see that we can apply on the third we can apply this on the test spell level we can apply this on the third group level now we will see how we can apply this on to the specific request let me disable this one and let me add to this particular request okay so go to add go to timer so what constant timer is doing that is giving a constant delay between the request now let's run this one and you see for this particular request it will take five seconds you'll see here so after five seconds this got executed but without any delay these two requests got executed the reason is that the time is applicable on this particular request another question arises here is that what happens if we have a timer on a thread group level as well as on the request level so let me enable this one from here and now let's execute this one and see what happens so now because this constant timer is available for all the requests in the thread group right and this one is for this particular request this constant timer is running for five second and this is for 5 seconds so this means that this particular request will delay or wait for the 10 seconds and rest of these will be waiting for the five seconds let me run this one and see one two three four five six again you can see once it will reach to the 10 second it will you know execute this request and then for five seconds and then for a more five second I would like to use the third one so that's how you can use the timers based on your requirement where you want them in your script let me disable this one and this one too uh now let me add a random timer So Random driver has two values random delay maximum in milliseconds and constant delay offset so what this means is that so I'm saying that the maximum delay should be the five seconds okay and the maximum offset is thousand now what it means it means that the value which will be picked is that between four thousand to six thousand so any value will be picked randomly between this because our actual delay is 5 and we are giving a delay of or we are saying that offset offset is one thousand so X actually create a boundary and from the boundary it will generate that random value so ideally in most of the cases the random values really appropriate because being a user I might take five seconds maybe other user might take six seconds similarly maybe another user might take 4.5 seconds right so that uniform random driver really helps you out so let me go to the distributor again and let's execute this one and see this time it will not not be the 20 or something like that 15 it will be different so okay so the whole thing got executed within the eight seconds so this is a random time right so let me run this again maybe it will be eight seconds or maybe it will might be a different value this time again it takes eight seconds let me run it again so it totally generates a value randomly so now you can see that this time it takes nine second because the value is being generated randomly last time it takes a second so we need to mimic the time which is random and obviously each user is taking some different time but it should be in some range so when you are getting your script Define the read properly and you will get the random values against the different actions on the request level onto the thread group level or even if you want you can put that into the test pen level thank you so much for watching this tutorial if you like our content then do like comment share and subscribe our Channel once again thank you so much and see you in the next lecture tutorial in this tutorial we will learn about the variables and functions in jmeter so let's begin so what are variables in jmeter okay so variables are used variables are used to store a value okay so wherever I used to store our value and why we need to do that because it will make your scripts make your Scripts efficient easy to read and easy to update slash modify so basically for achieving these three things we need variables in J meter okay so Intimidator you can create a variable and you can name a variable for example I'm creating a variable here variable and giving a name it as for example test so test is basically a name of variable and now you can store any value to it so this value can be static or you can extract a runtime value and save into the variable you can store any value for example you can store here anywhere you like tutorial okay so tutorial is the value of this variable and the name of variable is test how you can make your scripts efficient the answer is really simple to it let's suppose you have request multiple request okay request one request to request three and let's suppose it's it goes to like up to request 100. now in these requests there is something really common let's suppose the URL or The Host name is common okay and now if you don't use the variable what you need to do is that you need to provide the hostname against every request right but let's suppose if you create a variable jmeter and name it as host name and your host can be like for example www dot jmeter.org okay now you have stored a value into a variable called hostname now you don't need to repeat this hostname against every request for example one thing is using is that you can just go here and provide this host name against every request this is the one way of doing it right when you provide separately so it will consume a lot of memory so it will make your script less efficient the second way is that you can use the hostname here which is the name of variable instead of this now what you can do is that you can just refer the variable here or call the variable here okay and that's it now instead of creating a 100 different memory slots on the back end it will utilize only one we are just referring this variable name in our request and now you can see that it is easy to read and understand furthermore tomorrow if your host name changes to J meter one Dot org for example okay if you haven't used the variables you need to go to each and every request and you need to update each and every request so in this scenario you need to open the 100 request and update each request but in case of using the variable you just need to upgrade here where you have defined the variable so this is a concept of using the variables now let's open jmeter and see this practically now let me open the test we created in our previous session let me go to open and there was timer session which we created and I'm opening this one here and we have these multiple requests here so I am removing these timers from here so that we can understand this concept properly okay let me remove these okay remove this one from here another school so we have three requests and you can see that the server name or IP is jmeter.org Dot emitter Dot apache.org similarly we are repeating this thing here in our get started request and same for the best practices as well okay now how we can use or achieve this using a variable go to the test one level go to add okay and in config element you can see that we have a variables option Define user defined variables click on this one move this on test pen level here and now click on ADD and I am giving the name has host name and that's it now what is the value the value is this one copy from here and paste it here so you have just defined it once and the name of the variable is the hostname now we just need to call that particular variable into our request so here you need to provide dollar curly braces close curly braces and name of the variable that's it so just dry around this one and see what happens we just change the hostname for this particular URL and if I open this request you see that it is going to jmeter dot Apache dot org but we just you see that we just provided or passed the variable here so let me copy this again here and pass this here and let me do it for the other request and save this request and let it run again and you will see all three requests got executed successfully here and this is the power of using the variables so tomorrow if this hostname changes you just need to go here and update your hostname now what else you can do in similar way if you feel that somebody values are repetitive and we are using them into the multiple request you can create the variables for them as well so for example here we have this user manual okay in this particular call get started and here as well so what I can do is that I will go here add a variable called like I am giving name it as user manual okay let me correct the spelling here and so value is this one okay I'm coming from here and pasting it here okay now in this request instead of using this value I will use dollar percent dollar calibrases and the value and let me copy this whole part from here and use this in best practices call okay so instead of this user manual I'm using this variable now clear the results run this again and let's see what happens so you can see these requests got executed successfully so tomorrow this user manual value change to some maybe user guide okay you don't need to go again to each and every request containing the user manual and update them you just need to go to here user Define variables and just update the value so that's how you can use and get the benefit from the variables now let's understand functions and see how we can use the functions in J meter for that let me open the notepad here so functions are really powerful and when you define functions so there's a selection of body okay selection of a code this code what it does is that let's Suppose there is some code written in function and let's suppose I'm just hypothetically writing here provide random string so in ideally there must be some code written here is the purpose of using the function is that let me name the function as function and naming it as random string okay so what this random string function is doing is that whenever you call this function so it will generate a random value anytime now what is the benefit of using this so they're already pre-written functions in the G meter and you just need to use those functions in your script you don't need to write a whole logic to get some output so let's let's go to the geometer here and we need to go to the tools section here and you can see that there is a function helper dialog like on this one and here in the drop down click on this one so you can see there are so many functions available here okay and you can see that random date so for example tomorrow you want to generate a random date in your script you don't need to write a function or the code you just need to use this function in your call or your script and rest it will be done and now the second question is that how to use these functions in your script so for example if I go to here some let me find random string here yeah this one so it has random string length character to use from so you can populate the string as per your requirement for example you need a string whose length should be 10 and it should have a values like ABC and you are specifying the characters you just need to click on generate and copy to the clipboard so now it has generated a function for you and already being copied if you don't want to specify anything here just remove this thing here and click on generate again but ideally because we are testing some application let's suppose you need a name of the user so user name must have a length of maybe 15 and name should contain like a b c d e f g h i j k l m n o p q r s t u v w x y z so what I'm doing is that I need a function which provides me a random string the length of random string should be 15 and it should contain only small alphabets okay let me click on this one so now this function has been generated let me close this one and let's see how we can use this one now let me close this thread group let me disable this one this one as well let me create another thread group and now open the browser and let me find a API so there is API called instant web tools so from this website you can have Adobe websites so instant tools instant webtools.net open this one and now you need to go to the fake API go to the rest API click on this one and here if you scroll down you can see that we have a API to create a data for the passenger so this is the API and let's map this first into a j meter so this is our host okay and I'm adding a request here as HTTP request so I'm changing a name it to create passenger okay this is the host name and what else we need here so what we need here is that we need this path okay slash V1 and going back to the G meter providing the path here this is a post call okay and what else we need we need the protocol from here going back to the geometer here providing the protocol now we have mapped the requirements here and we need to create a passenger and as we know this is a post also we must need to provide a body okay so we need to add the variables here so where we can find those so for that we need to click on these arrows okay so this is the body so it contains name Crepes and N line let me copy these ones from here and name okay and add name then we have trips and what else we have name trips and nine and the third one is here Airline okay so name can be like right now I'm typing as testing Fanta and tips can be 250 and Airline is fine so this is the information we got as a sample from this particular website now let's go to the geometer and add a listener here and just drag on this one and see what happens okay so request got successful and this user has been created and hey you can see that the name is tested under which we provided trips 250 and N line is this one now assume that your API have a registration and the the Restriction is that you cannot create a passenger with the same name right so the one way is to use the CSV and make this API data driven or the other way around is to use the function here to generate the random string here click on this one here and what I need to do is that go here click on function helper dialog so I am going here to the string random string yeah this one I am giving the lamp S15 and okay so the function has been generated and just like we use variables we pass the variables now instead of personal variables we would be using the function here and whenever I use this one it will generate a random value so previously you can see that it was testing from the let's run this one you can see another passenger has been created and right now you can see this some random value being generated okay as we haven't provided the function but we need exactly so I am going back to the function helper.org and let me go to this particular function here and 15 and a b c I'm just giving some random things so that I can generate value from these okay now copy this one go to the passenger here and let me paste it here okay now save this one and run this again now you can see it generated a random value the random cell is actually been generated based on the function okay so let's run this again and you will see a random value again and again thank you so much for watching this tutorial if you like our content then do like comment share and subscribe our Channel once again thank you so much and see you in the next lecture hello everyone welcome to the simulator tutorial in this tutorial we will learn about symbol and once controller in the jmeter so let's begin so basically what are controllers in the J meter first let's understand this thing what are controllers in J meter okay so in gym meter controllers serve two purposes one to organize your organize your your scripts and second the mean purpose is to control the execution of your script so in most of the cases you might need to control the execution of your request you don't want to execute one request after another then another another you might need to control that execution so these two purpose are being served by the controllers so in this particular tutorial we will be discussing about simple controller okay and then we will see once controller okay and now what is simple controller simple controller does not have any functionality okay it's just a simple container okay and in that particular container you can place your request to make it organized and make your script cleaner and neater on the other hand the once controller will control the execution it will can show the execution and it will execute the requests once per thread even if we use the loop in thread group third group okay group let's see how it works so first you will create a thread group okay and this thread group you will use two threads and you will Loop it out three times three nines Under This Thread group you will add once controller under this once controller you will add Quest 1 and out of this controller means under the same thread group you will add request two okay request to now 2 into 3 means three iterations into two thread groups okay so when you execute this one so as per the definition this request one will get executed two times only and this request to will execute six times so this is a concept of using the once controller so once controller will get execute the request once per thread so there are two threads so this request from one will get executed two times and the request out of the thread out of the once controller will get executed six time because we are having a two thread and we are looping it three times okay now let's see once group and the simple controller practically open the J meter here first let's understand the once controller here so I'm going to add a thread group under the thread group going to add going to logic controller going to the ones controller I'll get this once controller I'm going to add one request so request one and and on thread group level I am adding one more request and naming this request as okay now go to the thread group change the number of threads to 2 and the loop count should be 3 here okay so as per the definition what we have learned so far is that this request one is basically under the once controller and it will execute once per thread so there are two threads so this will execute two times and this is out of the ones controller it will execute six times let me go here add a listener and now let's execute this one okay let me save this as once controller and execute this one so now you can see that the request one got executed only two times here and here and the request to which is out of this once controller got executed six times so this is how you can use and utilize the One controller as per your requirement now let's see how we can use the simple controller okay let me open the new script here let me add a thread group let me add some request here let me copy this request and paste a couple of requests here now we have a multiple request and we need to organize them we need to place them in a folder we need to structure them okay for that we need to go to the thread group here go to add go to the logic controller go to the simple controller and we can cut these requests from here and paste here so let's suppose all the requests present here belongs to the login module so you can name it as login module okay and tomorrow you have more requests based on different modules and the features you can do that in the similar way okay now you have a multiple request here and again what I'm doing is that going to the ads going to the logic controller going to the simple controller I'm cutting all these requests here and pasting it here and my let me name it as sign up module so tomorrow it will be easier for you to manage and to debug or if you want to add or modify something you can easily go to that particular In Case Logic simple controller and you will identify the request where you want to modify so that's how you can structure so this simple controller will not have any kind of functionality it is just a folder to organize or structure your scripts so much for watching this tutorial we hope that you have learned something today if you like our content then do like comment share and subscribe our Channel see you in the next lecture thank you once again hello everyone welcome to this Gmail tutorial in this tutorial we will learn Loop and interleave controller in the gym meter so let's begin so what is the loop controller so first let's understand this thing what is loop controller okay so as the name suggests this is a loop so it will Loop your request now let's suppose for example you have added a thread group okay under that thread group you are adding Loop controller and under this Loop controller you will be adding the request so you'll be adding requests one request to so when you add the loop controller you need to Define how many times you need to Loop these requests so for example if you set the counter as 3 this means that the request under this Loop controller will execute three times right and if you have defined a loop count in the thread group as 2 so it will execute total six times so 2 into 3 that would be 6 so that's how that Loop counter works now let's go to the J meter and see how it works so here's the same meter let's add a thread group another thread group let's go to the add go to the logic controller go to the loop controller and once you add it you can see that we need to define the loop count here so I am adding some sample requests under this Loop counter let me copy and paste let me change the name to request one and request to now let me add one more request outside the loop controller okay so let me go here add go to this one and let me change the name to request outside the Loop and controller okay now we are set let me add a listener here so look out here is let me change to 3 right now the request 1 and request 2 will execute three times and the request outside the loop will execute once because we have this one Loop and one thread here okay so let's execute this one let me save this as Loop controller demo save this one and let's see so now you can see that the request outside the loop controller got executed only once because of this thread group and the request inside the loop controller got executed Thrice one two three now go to this thread group here and change the thread group to to here and clean the request and run this again so here you will see that your request now because you have thread group 2 and that's why this two users or threat executed the same things here right now what you can do is that you can increase the loop count here as well now the lookout is 2 here and under the loop controller it's three so two into three this means 6 times and I am changing the threads to 1 here and clear the results and run it again so it will be total six times you can see let me run this again and you can see the results okay that's how it works now go back to the notepad here and now understand what is interleave controller and show there okay so basically interleaf controller alternates the request inside and outside of the thread room so what this means is that for example you have a thread group under the thread group you have enter leave controller and inside that you have request one then you have request to and out of that you have another request called request three so when you execute this one based on the number of iterations so let me add one more request to make it more clear so request three here and let me change name here to four so when you run this particular script so what it will do is that you need to Define here the number of iterations let's suppose three iterations three iterations means three loops right so in the first Loop what happens is that the output will look like something this out come so it will execute request 1 then come out of the leaf controller and execute request 4 for the first Loop it means for first iteration so in iteration one iteration one so the output would be request 1 and then it will come out of the interleave controller and execute the request for and similarly for hydration to it will execute and this time it will take the second alternate request so this means now request to then request 4. in the similar way let me copy this one from here and paste it here now this time it would be three and four so that's how this interleave controller works in the G meter so tomorrow if you want to make some scenario where you want to hit one request then this request this can be home request so for example let me change the name here so that it would make more sense for example this is your profile okay now this can be your add to cart and let me change this to maybe add friend and and this is under the leaf controller and the request 4 here which is outside this one is assume that this is home page so how now this will work so first it will hit the profile then it will go to the home page then it will again in the second partition it will come to the add to cart then home page then add to friend then home page so if you want to populate such kind of a scenario you can do that using the interleaf controller now let's go to the jmeter and let me open the new script here add thread group under the thread group go to the logic controller go to the interleave controller here and let me add more requests go to HTTP let me copy this one paste this one so we have multiple requests here so let me see this one as this request belongs to profile and this belongs to R2 I print and this means add product to the card okay so we have these three requests and now I'm adding one more request out of this and changing this to home page right now we have created the scenario let me add a listener here and let's execute this one but before that as we suggested as we discussed already that this interleave controller will work with the iteration so I have three requests I need to alternate between these three requests with the home page so what I need to do is that I need to go here I need either three and three or one and three combination so let's run this one save this one and let me call it it as enter leave demo you this one so now you can see that first it hit the profile then home page add friend then home page right and I'll put it to the card and then home page so that's how it works and in case if I remove the loop count here so what it will do now so let's execute this one so you can see it executed one iteration and for one iteration the script went to the profile then come out of it and hit the home page so that's how this interleave controller works thank you so much for watching this tutorial if you like our content then do like comment share and subscribe our Channel once again thank you so much and see you in the next tutorial thank you so much thank you hello everyone welcome to this J media tutorial in this tutorial we will learn about htmlink parser so let's begin what is HTML link parser htmlink parser is a preprocessor which means that it will execute before us sampler now what it will do it will pass the HTML response from the server and extracts the links and forms from that particular URL so now when you have all the links and the forms so what you can do with that so there are two use cases for that one one is called spidering the other one is called Dynamic data so what is mean by splattering so the idea behind spreading is that you can randomly click on different links which you got extracted using the HTML link parser and dynamic data is that if you have any data coming in the form of response then you can utilize that data in your script so you don't need to provide any external CSV in that case so what are the test scenarios for example if you are opening a home page and now you want user to randomly open the different links available on that particular page so how you can achieve this you can achieve this using the HTML in person secondly if you need to select the data randomly from the page then how you can do it for example there are two drop downs and each drop down has a multiple data now what you want to do is that you need to select the random values from the drop downs so that you can create a combination of new data every time now let's open the gym meter and see how we can do it practically now in Geometry go to the test plan here right click on this one go to add go to threads go to thread group under this start group click on this one go to add go to sampler Go to http request okay now let's go to the browser and understand the scenario open the browser now go to J meter official website which is jmeter.apache.org now in this particular website you can see that we have different links here okay you can see that we have index.html we have licenses we have downloads so we have so many links now my scenario is that my users should come on this home page and they should go to or navigate to different links available on this page so now I want to achieve this scenario so in order to do this let's copy this one from here and go to the J meter here and let's create the request first so we need to provide the host or the IP and we need to provide the protocol here in the protocol section okay and I'm naming it as J meter home page okay and I'm adding a listener here now let's dry run this one so let me name it as um demo HTML link parser okay and let me drop this on my desktop um it's like the next stop here right so this is now on my desktop and it got executed successfully add in the response we got the proper data here so the request is working fine now what we need to do is that we need to click on different links after this particular request so let's add one more request here and I'm naming this request here as different different links okay and different links I need to provide some data here okay I need to copy the protocol and I need to create the host name here as well okay now if I go to the application here and hover any of the links you will see that these links are coming after Apache dot or this slash this means that these are the sublinks for example if I right click on this one click on the inspect element and you can see that slash user manual slash this this means that jmeter dot Apache dot org slash user manual you can see on the right as well slash index.html similarly if I hover any of the links here you will see that they are coming after the host beam host name slash you are slash something okay so now we need to add a preprocessor known as a stimuling parser I need to place this before this home page request because I need to extract all the links from this home page and then I need to pass the links here so what I need to do is that I need to go here and here it was slashed and the sub URLs were like manuals guides something like that so now after adding the HTML link parser what we need to do is that we need to provide Dot and static so what we are saying is that dot static means that anything after the slash just give me that one which you have extracted through the HTML parser I will pass it here and it will generate the random links it will click on the random links and that will serve my purpose now let's clean this one and run this requests and see what happens so the first request got successful and the second request is also got successful and you see that it landed on gmeter.apache.org Epi slash index.html although we haven't provided anything here we just provided dot static which means that pass anything after slash so now let's uh increase the number of threads here 10 and clean this one and run this again so it will run the 10 times first you can see the API thing then SVN index.html then issues.html then again it can repeat the same because we are doing it randomly we are providing dot static so there's a possibility that the same URL will open again now here you can see we have a user manual we have api.index repeating again this one we have mail.html that we have building.html so we have user manual again so you can see that this is how you can actually be populating or hitting the URLs provided on the page randomly so it will serve the scenario of hitting the different URLs when different users are coming onto your application so this was one of the scenario now let's uh have another scenario regarding the forms so let me click on the new one here and for this I am using a blaze demo application so this is my main application and let me clear this one and enter it again so what this application is do is that it is a simple travel agency which will book your ticket for the airline so you need to select different cities from N2 and what you need to do is that you need to click on find flights so it will provide multiple flies here now if I go back here and you can see that we have multiple options here right so what I want to do is that I want to select randomly for each user so that we have a different combination of two and from destinations okay so for that what we need to do is that I am using the base meter here so that we can create a scenario open this one and I'm giving name it as demo HTML link parcel okay click on recording it enter so that Bliss meter records the URL now select anything from here and also anything from here and click on find flights okay now stop this scenario here you need to save this as a j meter GMX file click save and we'll open this file into the jmeter so it will actually creates a basic scenario for us and we will use HTML link parser to make it Dynamic data so here it is I'm pasting it here so this is my scenario this is my thread group so these are two requests first is blazemma.com which is actually hitting the base URL and the second is that is basically to reserve.php which actually is a post call and this post call is sending two parameters one is from Port and others to Port now here you can see that these values are static which we recorded but what I need to do is that I need to pass this dynamically from the list of the drought plan so again what I need to do is that I need to go add and I need to go to the preprocessor HTML link parser and I need to pass so here okay okay and now what I need to do is that I need simply I need to replace this with DOT Dot steric copy this one and this one so when we hit the blaze demo we got those drop downs right so if I hit this again here you will see that on hitting this one I am getting this drop down so that's why before this request I need to place a HTML link parser right so this we are done with this one and let me add a listener here and let's run this so first request called pass successfully and let's see what happens with the blaze demo.com slash deserve.php so this got executed successfully and if I go to the request here so we are seeing that we are getting some different cities in in to and from now let's increase the third group here to 10 clean this one and see what kind of a combinations we will catch here so it got executed so Boston Mexico City to New York Paris to Berlin okay so you can see that now different data combinations we are getting so we have actually make our data Dynamic using the HTML link parser thank you so much for watching this tutorial we hope that you have learned something today if you like our content then do like comment and share and subscribe our Channel thank you once again see you in the next lecture hello everyone uh welcome to this Demeter tutorial in this tutorial we will learn how we can run multiple thread groups sequentially in jmeter so let's begin first let's create multiple thread groups here so go to the test pen here go to add go to the thread group let me copy this here let me paste the thread goes multiple times here and in order to understand this concept of executing your thread groups one after one instead of parallel so let's let's take a real-time example here so let's take example if you are working on any kind of application which is just like a Facebook so on the Facebook what you will do first so as a user you will be going on to the application you would be signing up then you would be logging into the application and after logging usually you would be adding the friends and then you will start posting on the walls or chatting with the friends so let's populate this scenario here and let me go to this thread group here let me change the name here to sign up then let me see the name these two as log in then add friends and after that let me see chat with friends and let me add one more thread group here let me copy this one and paste it here and let me change the name here as post on the wall so assume that we have these couple of thread groups and we are saying that each thread group will do a different task here so first thread group will be doing the sign up then login and add friends then chat with friends then post on the wall so against each thread group let me add one sampler here let me add HTTP sampler and let me change the name here as Signum so I'm not adding a proper request here we just need to understand this concept so let me uh add this HTTP request against each of these thread groups so let me change the name here so login then add friends and friends and try it with friends chat with friends and then post on the Vlog post on the we have added the request against each of this thread group so by default what happens is that if I start executing this test script so what happens is that the execution will be parallel let's execute this one and let me add a listener here and right now what happens is that each thread group has one thread and see what happens so let me execute this one and let me save it as okay post on the wall save and see what happens so sign up login add to friends post on the wall chat with friends so you can see that the sequence is not correct the ideal sequence should be sign up login add to friends chat with friends and post on the we get from this one so this means that the execution by default engine meter is parallel so let me increase the number of threads so we can see this different visibly and let me change this one to two here and clear this one save this one and let me execute this again so here you will see that it will start with chat with friends sign up login post on the wall so sequence is not followed so parallel execution happened case this each thread group here and what will happen eventually eventually your script will fail because you want to sign up first then login then chat with friends or whatever your sequence is and how you will ensure that this sequels will be followed in the J meter for that what you need to do is that you need to go to this test pen here and here you need to select this option run thread groups consecutively one at a time so what this means by default Jupiter will execute from top so it will start sign up login add friends chat with friends post on the wall and it will execute one after one it will not do the parallel execution which we see earlier and what happens here what kind of results we will get so by default if you see that this sign up has two thread groups let me change this to three go here at add five friends for example and here chat with you know one friend and post on the wall like three so now what will happen is that first it will execute sign up two times so it will execute this thread group first then after executing This Thread group it will come to this login it will execute login three times and once it will complete it it will move to the next third group and here in this thread group it will execute add friend request multiple times this means that this third group will execute for five users here and whatever the request under this will be executed for your types and then it will move towards chat with the friends and it will execute one time and then finally it will execute three times post on the wall so let me save this one okay here the results and let me run this here and see what happens so you can see this first time it executes sign up for the two times because this thread group contains two right then login three times right so here you go so one two three then we ask this thread group to be executed and you will see that this is the execution flow this is a sequential flow first this right group then this thread group then this thread group then this one and finally this one and each time it follow the number of threads so that's how you can execute your thread group sequentially and if you don't want to run them sequently just go here and remove this check and that's it thank you so much for watching this tutorial if you like our content then do like comment share and subscribe our Channel we hope that you have learned something today see you in the next tutorial foreign in this tutorial we will learn how we can solve this report generation error when you're actually trying to generate a report from the command line you might encounter with this error or exception so first we will discuss this error we will produce this error and then we will see how we can fix this issue so let's begin first I will be opening a very simple script which I created earlier for that I will be going to the file section going to open and I will be opening this very simple script here so this script is actually hitting in the home page of G meter and that's it so let me execute this once here and see what happens so the script is working fine now now let's move towards the command prompt and we need to Traverse to Geometry Bend directly first so let me Traverse to Apache then Apache then Ben so right now we are standing in the geometry bin folder so from here we can execute our Command I have already written the command and this is a command and this is actually running the same escape from the command line right so let me copy this one from here and we need to go back to the command from here and simply paste this command here before executing this command we need to ensure that this dashboard folder and the CSV file should be empty so I'm going on my desktop here and on my desktop so this is my folder here so I'll open this one so this is empty here right now and this is a little folder and let me delete this one because jmeter will automatically create a file for us if this execute successfully so now let me go to the command prompt here and hit enter and see what happens so it will start executing the our escape and it got executed successfully with one user however the problem here is that we are getting this error error generating the report org dot Apache dot jmeter dash reports this exception while this is this and it will you know exit with size 0 is not equal to fix size five so we are getting this error and we are unable to generate the reports and and we can cross check this one as well let me go back to this folder here and let me open this one so you can see that no report has been generated however we have successfully generated a word results file right so now why this error occurs and how we can fix this one so this error occurs because of the compatibility issue Okay so this error or exception occurs due to in compatibility of jdk and J meter right now the version I am using in the gym meter is 5.4.3 so let's confirm this one yes so 5.4.3 let me write it down here jmeter version is that G meter is basically 5.4.3 right this is the latest version and let me check my Java or jdq version here so for that we need to go to the command prompt here and we need to type Java Dash version So currently I am using the version 17. so this means that so let me write it down so Java or jdk is basically version 17. so version 17 has some upgrades just because of those upgrades we are unable to generate the reports so now we are coming to the solution the solution is very simple either we can upgrade our up upgrades are jdk to 18 version or or we can go back to the 16th version we cannot change the version of this one because the update of gtk is the problem here so now let's fix this problem and I would recommend that you should go with the 16 method of GDK because 18 is the latest one and it might take some time or you might find some more issues while you are working with the geometer also let me go to the control panel here and let me click on uninstall a program and here you will find that we have jdk shifting let me uninstall this one from my system right now and let me close the applications automatically okay turn and now let me go to the 16th version of this one let me run this one let me run this with administrator right click on this one go to run as administrator click on guess and it will start you know installing the jdk 16 on your machine in some cases you might need to set up the environment variables if you are not able to get the version from the command line right so let me open another command prompt here and let me check the version of java again here so now you can see that I am using this steam version of Java or jvk and let's go back to our command line again and I would recommend that instead of trying here again if it doesn't work then you should close the command prompt and run it again and again we need to clear our results file here okay because it will just read another error for us so click on this one click yes now this folder is empty first let's try from here and see what happens in case if it doesn't work then we will close this one and again we will follow the same process of traversing and executing over Square from the command line so let me hit enter and it's executed successfully and now you can see that we haven't got any kind of error here previously we got this error error generating report this this and there was no HTML dashboard Repose what generated now let's go and confirm either we actually you know generated our HTML report or not so click on this one and now you can see that you have successfully generated your HTML report so click on this one and let me open this one here and you can see that we have a proper report here so much for watching this tutorial if you like our content then do like comment share and subscribe our Channel once again thank you so much and see you in the next tutorial
Info
Channel: Testing Funda by Zeeshan Asghar
Views: 516,036
Rating: undefined out of 5
Keywords: jmeter, jmeter tutorial, jmeter load testing, jmeter tutorial for beginners, jmeter performance testing tutorial, jmeter tutorial load testing, jmeter testing, jmeter api testing, jmeter load testing tutorial, jmeter tutorial for load testing, jmeter install, jmeter interview questions, performance testing using jmeter, jmeter complete course, jmeter crash course, jmeter load test, jmeter performance testing, JMeter Full Course, Master JMeter in 5 Hours, learn jmeter
Id: Gz57tS1a47g
Channel Id: undefined
Length: 326min 4sec (19564 seconds)
Published: Wed Dec 07 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.