Subscribe to SoftLogica
Newsletter to get 10% discount on newly
released products!
Advanced Tasks
Advanced Tasks
This section covers several advanced tasks that can help you during the testing process.
Collecting Performance Counters Statistics WAPT Pro can measure various parameters of web server performance during the test, such as
CPU, RAM and network usage. It can also read various parameters of the database performance, which is essential for web
applications that include databases. This data is included in the test results, so you can see how these parameters were
changing during the test.
Read the following topics for details:
Managing the Behaviour of Virtual Users WAPT Pro provides you with a number of operators to manage the behaviour of virtual users and
add more reality to your tests. The following operators are available in WAPT Pro:
Loop While If Then Else Delay Stop Session Random JavaScript Task
You can insert any of these operators in the sequence of recorded requests of any profile.
For details, see the topic:
Testing of Web Sites with Dynamic Content
Testing of dynamic web sites and applications often requires the usage of dynamic values of request parameters.
If you don't change the recorded user profiles, WAPT Pro will simply repeat all requests that
you made during recording, so all virtual users of the same profile will send identical requests to the server.
However, you can add more reality to your tests by using parameter values generated dynamically at run-time.
WAPT Pro can simulate this with the help of various functions.
The program provides you with a number of functions for dynamic calculation of request parameters
and URL paths at run-time:
Static text Variable - $Var User number - $UserID Ordered list - $LOrder Random from list - $LRand Alphanumeric random - $ARand Numeric random - $NRand Sequence - $Seq JavaScript - $JavaScript Search parameter - $Search Hidden - $Hidden Parameter from URL - $UrlParam URL from Form - $Action URL from link - $HRef File - $File
You can read the detailed description of these functions in the following topic:
HTML pages often contain dynamic data. It is the data that changes each time you access a web page, for example,
links with the current date and time, session IDs, user IDs, product IDs and so on.
Dynamic data on HTML pages is usually represented in the form of:
- parts of URL paths that change each time you access a web page, or
- a field (sometimes hidden) recorded during a form submission.
The following example demonstrates how the dynamic values appear on HTML pages.
Suppose WAPT Pro recorded a profile, and some URL path was recorded as
/scdp/page;jsessionid=u8kzzgzsr2. Here jsessionid
is a session variable
which is different for different virtual user sessions, and
u8kzzgzsr2 is a static value of that variable.
During the recording process, WAPT Pro
remembers the static values of session variables.
If you use the static value of jsessionid during test runs, you will receive an error.
The reason is that you try to use the old value of jsessionid.
You need to
form the correct URL path for all user sessions no matter what value will stand instead of
u8kzzgzsr2,
so that the web server will be able to find that URL.
WAPT Pro provides you with various functions to calculate the URL paths at run-time.
In particular, the $Search
function searches for dynamic values located between 2 specified strings.
Consider a case where the HTML code of a web page contains the text:
<A HREF="/scdp/page;jsessionid=u8kzzgzsr2">Preparing a test scenario</A>
You can create a variable in request properties which is calculated using
the $Search function that searches for dynamic values between the following strings:
"/scdp/page;jsessionid=" and "">".
After that you will be able to change the recorded URL path into this one:
You will obtain the actual URL with a new value of jsessionid.
Such URL will be different for different virtual user sessions;
it will be generated dynamically at run-time.
The following topic describes how to work with session variables:
In the previous example,
you created a variable in request properties which was calculated using the $Search
function, and manually
changed the recorded URL path into this one:
You can automate the process using the "Automatic Parameterization of Requests" feature of
WAPT Pro.
You can specify 2 strings (left and right boundaries)
on the Parameterization tab of program settings:
just enter "/scdp/page;jsessionid="
and "">" to the corresponding
fields. During recording, WAPT Pro will search for dynamic data located between the
specified strings. If the program finds a dynamic value, it will automatically create a variable
$Search(/scdp/page;jsessionid=,">,0)
and substitute it into the recorded URL path.
For more details on how to use this feature in your testing process, see the topic:
On the whole, this is a part of the previous feature Working with Session Variables.
You can use the "Automatic Parameterization of Requests" feature only
if you know that some dynamic value is always surrounded by the certain strings on the left and on the right.
In this case, you can specify the boundary strings and organize the search. You can also organize the
search for dynamic data which is contained in the hidden fields of HTML forms.
The benefit of "Automatic Parameterization of Requests" feature
is that WAPT Pro automatically performs actions which you did
manually: when the program finds dynamic values in responses during recording, it automatically creates the
corresponding variables, uses them in subsequent requests and corrects the recorded URL paths.
This feature considerably simplifies the design of tests for pages with dynamic content. In many cases,
it will allow you to reduce your manual work on creation of session variables and changing the recorded URL paths.
Full and Error Logs
You can set WAPT Pro to create full or error logs.
Log files will help you know what occurred during test run. See the following topic for more information:
Verifying a Test Scenario
When you are designing a test, you can validate your test scenario before running the test.
This is useful to make sure that test scenario does not contain errors, for example, if your scenario uses
dynamic parameter values. Read the following topic for details:
Editing Reports Name Pattern
Here you can read how to edit the default name pattern for CSV files with test results.
How to Set up Multiple IP Addresses on a Computer
You can set up multiple IP addresses on any server running Load Agent, and then use several IP addresses during tests to
emulate page requests coming from multiple computers. This feature is called IP spoofing. You can enable it
in Load Agent settings.