How a user session is recorded and replayed

As I wrote before, to load test a web site you need to record a sequence of actions that constitute a single user session on the site. Then when you run the test, this session it repeated by many virtual users running simultaneously.

Let’s look more closely on what does it mean to record a session. One would think that WAPT should record all the actions you perform at your computer using the mouse and keyboard. This approach would probably work, but it would be hard to replay such session in the test, because WAPT would need to emulate the full system environment for each virtual user. How many simultaneous users your system would be able to create in that case? If your browser normally consumes only 5% of the CPU time and RAM on your system, you would be able to overload it with just 20 users running 20 browsers. This is hardly a good performance for a load testing tool.

That is why WAPT does not run any browsers when performing the test. And that is why it does not record keyboard strokes and mouse movements. Instead of that it records the sequence of HTTP requests that your browser sends to your web site while you working with it.

In fact, all your actions in the browser window (when you fill forms, click links, buttons and use any other controls on web pages) are transformed into HTTP requests that are sent to the web site. These requests can transfer some data inside them. For example, when you login to a web application, you enter your user name and password in a form on the login page. When you click the “Login” button, the form is submitted to the web site. This is usually done by a POST request that contains all the form fields (user name and password in our case) as parameters.

When you record a profile, WAPT saves each and every request sent to the site along with all the data contained in the parameters. When you execute a test with the recorded profile, WAPT will send same sequence of requests to create a copy of the recorded session. What is most remarkable is that it can change the parameter values for each session it creates. So, different virtual users can use different names and passwords.


  1. howard cardenas

    the number of virtual user sessions depends on the duration of the transaction in the recording in WAPT?

    I dont understand the process of virtual users and user sessions on WAPT thnaks

    • In WAPT each virtual user executes sessions one by one. As soon as it completes a session, it starts the next one, and so on until the test is finished. So, each virtual user emulates several successive real users and can execute corresponding number of sessions during the test. At any moment the number of active concurrent sessions is equal to the number of virtual users. The more users you add, the greater load will be created against the web site. So, if you use the “ramp-up” option, in the beginning of the test you have small number of users, but it can grow throughout the test. Comparing performance characteristics (such as response time) for different test phases you can check if they degrade with higher load.

      So, the total number of virtual user sessions executed during the test depends on the duration of each session, if you specify total test time. In such case WAPT can execute more sessions if they are shorter.

  2. howard cardenas

    thanks ivan, I want to launch high-volume testing like JMeter classic.
    in WAPT I configure the number of sessions, regardless of virtual users.

    I do not want virtual users, I just want to send session (real users). the maximum number of sessions WAPT has a limit?

    • Sessions are executed by virtual users. You cannot create session without creating users.

      When you specify test duration you can either choose the exact time or the total number of sessions to execute. In either case WAPT will create load according to other load parameters until the specified criterion is met.

      Total number of sessions in the test is not limited. Total number of concurrent sessions is limited by the number of concurrent virtual users. Typically it is about 2000 for the regular version of WAPT. If you want to create higher load, you can use the Pro version and the x64 Load Engine.

  3. howard cardenas

    ok.. I have another question, looking your publications upload files to launch tests of WAPT Pro 2.5 version works well or version 3 is recommended according to the release. thanks

    • In version 3.x you can parameterize the name of the file. This means that you can upload different files in different sessions. In earlier versions this was not possible: the same file was used for all users and sessions.

  4. howard cardenas

    thanks ivan, I will look at the load with WAPT 2.5 pro

  5. MariaVijay

    Hi Ivan,

    I recorded one Authentication flow. it contains Username/Password/One-time-Password pages. How it will create a copy of this. can you explain with above flow. one more doubt is One-time password how it will execute for more virtual Users. because it will automatically generate and the Value will change Randomly!!!!

  6. sourav suman

    How does wapt group the parent request and its child components?
    Because what i am seeing in my pro version of wapt that it records child request but doesn’t place it in the page element of the parent request even though i have already checked the option automatically group recorded requests

  7. sourav suman

    Hi Ivan,

    Thanks for the reply.

    Right now i am using 3.5 version.
    I have few points to place in front of you :

    1. How do define sub-requests and page element.
    2. When i open browser i can see my page making 50 request(for example). Now this should be the part of my main URL in WAPT Pro tool i.e they should be shown in page element tab but it is not.

  8. Page elements are shown on the “Page elements” tab. Sub-requests are those that appear when you expand the “+” sign next to the request in the left view (provided that it has one).

    If you would like to get support on specific issues, please obtain a license for the latest version of WAPT Pro and send your query to

  9. Does the call of sub-request in Request page are made parallel.?

Leave a Comment

Your email address will not be published. Required fields are marked *