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!!!!

Leave a Reply to Ivan Lisitsyn Cancel

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