Thursday 5 December 2013

Generate UUID / GUID in LR

Sometimes in a request it is needed to send some basic encoded strings like UUID or GUID as part of the request. In loadrunner you can generate UUID using the function lr_generate_uuid();

Changing Transaction Order in Analysis Report

By default the transaction names in the analysis file comes in alphabetical order but if there is requirement to change the order in which the transactions were executed during a test then you can perform some tweaks to do so.

Open the "AnalysisSummary.asc" file placed at the location/bin/dat in wordpad or textpad
Go to Section "Line22_Field0" in the file and scroll down to section "JoinedSelectString="
Add the below Query in that

SELECT [Event_map].[Event Name] AS [Event Name],[Minimum],[Average],[Maximum],StdVal,[Table2].[Value] AS [90 Percent], Round([PassedT].[CountAll],0) AS Pass, Round([FailedT].[CountAll],0) AS Fail, Round([StoppedT].[CountAll],0) AS Stop FROM (((((Event_map LEFT JOIN [Table1] ON [Table1].[Event Name] = [Event_map].[Event Name]) LEFT JOIN (SELECT * FROM [Table0] WHERE [Transaction End Status] = 'Pass') AS PassedT ON [Event_map].[Event Name] = [PassedT].[Event Name]) LEFT JOIN (SELECT * FROM [Table0] WHERE [Transaction End Status] = 'Fail') AS FailedT ON [Event_map].[Event Name] = [FailedT].[Event Name]) LEFT JOIN (SELECT * FROM [Table0] WHERE [Transaction End Status] = 'Stop') AS StoppedT ON [Event_map].[Event Name] = [StoppedT].[Event Name]) LEFT JOIN [Table2] ON [Event_map].[Event Name] = [Table2].[Event Name]) LEFT JOIN [TempForSummaryRep0] ON [Event_map].[Event Name] = [TempForSummaryRep0].[Event Name] WHERE [Event_map].[Event Type] = 'Transaction' and ([Table2].[Percent] = 90 OR [Table2].[Percent] Is Null) GROUP BY [Event_map].[Event Name],[Event_map].[Event ID], [Minimum],[Average],[Maximum],StdVal, Round([PassedT].[CountAll],0), Round([FailedT].[CountAll],0), Round([StoppedT].[CountAll],0),[Table2].[Value] ORDER BY [Event_map].[Event ID]

Save the File and Open the analysis  this will get reflected in your transaction Name order.

How to create custom scripts for DB Queries and stored Procedures

If there is requirement to run queries or stored procs on database and measure the timings then you can create a custom script either in Java or in .Net protocol and you need to write some code to achieve this.

The below solution was tried and tested for SQL Server, Oracle and Sybase Databases using .Net protocol in Load runner.

1.Open a new .Net protocol script in Vugen. 

2.Go to Recording Options and choose the recording language to VB .Net.
3.Launch browser to record. Once it is launched properly stop recording. This will generate a blank script with reference to VB .Net libraries otherwise it will open a blank script with C# libraries.
The use the VB .Net code to create your connection and query the DB. Sample code is given below:***************
Dim retvalue As String = ""
Dim Count As String
Dim reader As OleDbDataReader
Dim myconnectionstr As String = "Provider=OraOLEDB.Oracle;Data Source=Database_Name;User Id=XYZ;Password="& lr.decrypt(lr.eval_string("{Password_1}")) &";OLEDB.NET=True;"
Dim objConnection As New OleDbConnection(myconnectionstr)
' Query sample
Dim strSQL As String = "select * from table_Name"
Dim objCommand As New OleDbCommand(strSQL, objConnection)
objConnection.Open()
lr.start_transaction ("Query")
reader = objCommand.ExecuteReader()
if reader.HasRows then
lr.end_transaction ("Query", LR.PASS)
else
lr.end_transaction ("Query", LR.FAIL)
Msgbox("The Query has returned 0 rows")
end if
MsgBox(reader.HasRows)
If (reader.Read) Then
retvalue = reader(3).ToString
End If
reader.Close()
MsgBox(retvalue)
objConnection.Close()
objConnection = Nothing
reader = Nothing
objCommand = Nothing

Pre-requisites: Machine should have .Net Framework and Database client drivers

Vusers Gets Stalled in Exiting Status in load runner

While stopping the test Vusers go to "Gradual Exiting" status but get stalled there for a long time. Even stopping the test makes the users to go to "Exiting" Status but seem to be there for ever.

If you are sure that the test is complete and stopping the vuser forcefully won't affect your results then safest way is to do a Stop Now. In case that button is disabled then disconnect the Load Injector from the scenario. This will make the user to error-out. Re-connect the LG and re-collate the test results (in case it didn't collate properly).
There are 2 ways to change this value; 
one is to change the config file or using a function in your script.

Next thing you need to do is to restart the controller machine and register the controller dlls; this can be done by running the batch file "register_controller.bat"
placed at: "LoadRunner Install Dir\bin"
Log-off and re-login to the machine.

This case can get worsen if you are using CITRIX protocol and you manually tried to stop a vuser who was performing the below two functions at that time:
"ctrx_sync_on_bitmap_change" and "ctrx_sync_on_bitmap"

In case of you have large number of Vusers in your scenario then mention a limit on number of vusers that can stopped at given time also how you stop them. The setting for ramp-down limit is given in the LG properties:

Go to "Run-Time Quota" tab of LG details page and select the check-box for limiting the number of vusers that can be stopped and provide appropriate value in it.
For setting on how to stop the vusers:

Open Tools -> Options in Controller and go to "Run-Time Settings" tab
Select the appropriate option while stopping the vusers in the second option (depends on your scenario).

Issue in replay due to redirections

If your application uses URL redirections, you may encounter issues during replay if the redirection depth is set to zero. For example, you may see an error message like this: "Action1.c(x): Redirecting "https://www.easyloadrunner.com " (redirection depth=0)" followed by "Action1.c(x): Error: Failed to connect to server..."

To resolve this issue, there are two ways to change the value of the redirection depth. The first method involves modifying the configuration file. Here's how to do it:

1. Go to the \template\qtweb directory.
2. Open default.cfg using a word editor.
3. Look for the [web] section.
4. Add an entry for MaxRedirectionDepth.

Set MaxRedirectionDepth to the desired number of redirections (e.g., MaxRedirectionDepth=x, where x is the number of redirections desired).

Repeat the above steps for the default.cfg file in the script folder as well.

The second option is to use the web_set_option function in your script. Here's an example of how to do it:

web_set_option("MaxRedirectionDepth", "4", LAST); // This sets the maximum redirection depth to 4.

"Vuser failed to initialize extension vbascriptext.dll" when replaying a VB or COM script in load runner

Some timesthe  user receives the following error while replaying a VB or DCOM script

"Vuser failed to initialize extension vbascriptext.dll." 

Troubleshooting vbascriptext.dll error
1. Make sure that VBA is installed properly :
  • Install the VBA drivers by going to Start -> Programs -> LoadRunner -> Tools -> VBA Setup.
  • Complete the install and reboot the machine.
  • Run your script again.Note: If you are using older versions of LoadRunner ( before LoadRunner7.5) please contact Customer Support for the VBA setup install.2. VBA compiler has a limitation of up to 39 characters of the file name. Since Mercury adds additional characters to the script name, it must be 21 characters or less.
2. If the problem persist, try to run your script though the VBA IDE once. To do so:
  • Bring up your script in VuGen.
  • Go to Vuser -> Run-time settings -> VBA.
  • Enable "Debug script through VBA IDE (VuGen only)."
  • When you run the script, VB IDE should be launched. If not, it means VBA driver was not installed (properly). You might need to reinstall your VBA setup.
3. If step (3) brings you to the line 'Dim objectHelper As New LoadRunnerVbs.ObjectFactory', it is an indication that LoadRunner helper object is not registered. You can manually register lrapihlpr.dll and lrapivbs.dll under the \bin directory. After that, "LoadRunner Protocol Replay Helper" will be checked by default in the Run-Time Settings -> VBA option.

4. Make sure that you are using the VB function correctly. For example, LoadRunner function should be referenced as 'lr.' instead of 'lr_'
Example: lr.save_string "param_value", "param_name"

5.Check the security-properties of the \bin\vba6_setup\vba6.msi file and make sure 'Everyone' have full permissions on it. Uninstall the VB Addin by right-clicking on vba6.msi file and selecting 'uninstall' and re-install the Add-in.

Note:

1. You might need to reboot your machine after making these changes.
2. For running script on a remote machine, please make sure that you installed the components for the application on all load generator machines.

Creating a Basic Script from Server Traffic (Web-Services) in Load runner

While dealing with web-services based application(s), sometimes it is not possible to capture the user actions using Vugen. This might be due to application nature or something else. In this case there is an utility to create a basic LR script by using "analyze traffic" feature of web-services based script.

The actions needed for this are as follows:

1. Create a network capture file
2. Open a new web-services script in Vugen and import the WSDL.
3. Use the analyze traffic option to generate the script.

Create the capture file:

You can obtain a capture file using the command line utility or any existing
capture tool.
There is a utility in Vugen's bin directory called as "lrtcpdump.exe"which can be used to create the network traffic capture file.

To create a capture file on a Windows platform follow the steps

1.Choose Start > Run, type cmd and click OK to open a command window.
2. Drag in or enter the full path of the lrtcpdump.exe program located in the product’s bin directory.
3. Provide a file name for the capture file using the following syntax: lrtcpdump -f
4. lrtcpdump prompts you to select a network card. If there are multiple interface cards, it lists all of them. Type in the number of the interface card (1, 2, 3 etc.) and click Enter.
5. Perform typical actions within your application.
6.Return to the command window and click Enter to end the capture session.

Use the analyze traffice option to generate the script.

1.Choose File > New and click New Single Protocol Script in the left pane.
2.Select the Web Services protocol and click OK.
3.Click the Analyze Traffic button or choose Vuser > Analyze Traffic. The wizard opens.
4.Add the WSDL file location/URL and select next (optional)
5.On the next page provide the capture file information and click Finish

This will generate your basic web-services script for the action(s) performed. Then you can do your customization (parametrization and correlation) to the script.

Note: Please make sure that while making the capture file, all other TCP application(s) are closed. Only the application under test should be opened.

How to replay Citrix script against a different window size

If you are running a citrix script some times you may get error of different window size.The solution is

Go to the script directory in Windows Explorer.

Open the default.cfg file located inside the script directory and change the window= value under the [CITRIX] section to a valid value that can be seen in the recording options (640 x 480, 800 x 600, 1024 x 768,1280 x 1024 and 1600 x 1200).


Note: if you have any ctrx_sync_on_bitmap functions recorded it will not replay in the new window setting because the hash value will be different.

How to execute Analysis with a .lrr or .lra file from command prompt in load runner

Executing Analysis from the command line:

Here is the command line that you need to execute to run Analysis from the command prompt:

"LoadRunner Install Dir"\bin\analysisui.exe -RESULTPATH "path to .lrr/.lra file"
You can as use the flag -TEMPLATENAME templatename to specify the template you want to use.

NOTE: templatename should only contain the name of the template to be used. The full path is hard coded in a configuration file.

How to specify the number of iterations when executing a VuGen script from the command line

Use lr_get_attrib_string() to read the command line argument

VuGen has an -infiniteiterations option to specify the script to run infinite times. There is not currently a command line option available to specify the exact number of iterations.

1. In VuGen, select Run-Time Settings -> Additional attributes.
2. Create an argument name (for example, "iter"), and give a default argument value of 2.
3. Use a for loop in the Action item, and repeat the action "iter" number of times.

Example:

Action()
{
int iterations, i;
iterations = atoi(lr_get_attrib_string("iter"));

for (i = 1; i <= iterations; i++)
lr_output_message("This is a test, iteration is %s", lr_get_attrib_string("iter"));
return 0;
}


Note:
If you have any parameters declared in the script that are set to change values for each iteration, you may want to change them to each occurence so it takes a different value for each time it runs.

From the command line you can now run the script as

"LoadRunner install dir" \bin\mmdrv.exe -usr "path to .usr file" -out "path_to_output_directory" -iter "no_of_iters"

Working with Firewalls in Loadrunner

Working with a firewall means that you can prevent unauthorized access to or from a private network, on specific port numbers.

In a regular Load Runner load test scenario (not over a firewall), the Controller has direct access to the LoadRunner agents running on remote machines. This enables the Controller to connect directly to those machines.



When running Vusers or monitoring applications over a firewall, this direct connection is blocked by the firewall. The connection cannot be established by the Controller, because it does not have permissions to open the firewall.

LoadRunner solves this problem by using a communication configuration based on HTTPS or secured TCP/IP. This configuration uses the standard SSL port on the firewall (port 443).

A LoadRunner agent is installed on load generators running Vusers over a firewall, and on Monitor Over Firewall machines that monitor the servers that are located over a firewall. The agent communicates with the MI Listener machine through port 443 in the firewall.

The MI Listener is a component that serves as router between the Controller and the LoadRunner agent

.


When the LoadRunner agent connects to the MI Listener, the MI Listener keeps a listing of the connection to the agent using a symbolic name that the agent passed to it.
When the Controller connects to the MI Listener, it communicates to the MI Listener through port 50500.

The following diagram is a basic example of a LoadRunner deployment over a firewall.

Setting Up your System to Use Firewalls: 

Setting up your system to use firewalls involves the following stages of configuration:

Installation and initial configuration Running Vusers over a firewall

Installation and initial configuration:


To enable over-firewall communication, ensure that you have installed the
following LoadRunner components:

MI Listener:Monitor Over Firewall component 

To perform initial configuration of your over-firewall system

1. Configure your system according to TCP or HTTPS.
2. Modify your firewall settings to enable communication between the
machines on either side of the firewall.
3. Configure the MI Listener.

Configuring the MI Listener

To configure the MI Listener:


1. Open incoming HTTPS service for port 443. The port settings are set by your system administrator.
2. Stop the LoadRunner agent on the MI Listener machine by right-clicking its icon in the system tray and selecting Close from the popup menu. 
3. Run MI Listener Configuration from Start > Programs > LoadRunner > Advanced Settings, or run\launch_service\bin\MILsnConfig.exe.



4 .Set each option as described in the following table:


 5.Click OK to save your changes, Cancel to cancel them, or Use Defaults
 6.Restart the LoadRunner agent by double-clicking the shortcut on the desktop, or choosing Start > Programs > LoadRunner
 7.Make sure that port 443 is free on the MI Listener machine.

Running Vusers over a firewall:

To set up your system to run Vusers over a firewall:

1 .On each load generator machine that will be running over a firewall, configure the LoadRunner agent to communicate with the MI Listener.
2 .Configure the Controller machine to recognize the load generator and MI Listener machines.

Configuring LoadRunner Agents Over the Firewall

1. Stop the LoadRunner agent by right-clicking its icon in the system tray and selecting Close.
2 .Run Agent Configuration from Start > Programs > LoadRunner > Advanced Settings, or run \launch_service\bin\AgentConfig.exe.
3. Select the Enable Firewall Agent check box, and then click Settings.



The Agent Configuration dialog box opens.



4 .Set each option as described in “Agent Configuration Settings”




5. Click OK to save your changes, or Cancel to cancel them.
6. Restart the LoadRunner agent by double-clicking the shortcut on the desktop, or select Start > Programs > LoadRunner > LoadRunner Agent Service/Process.
7. Check the connection status between the LoadRunner agent and the MI Listener.

Configuring the Controller for Running over a Firewall

1.Run the Controller from Start > Programs > LoadRunner > Applications > Controller and create a new scenario, or load an existing one.
2.Click Generators to display the Load Generators window. In the Name field, enter the symbolic name of the server. This is the same name that you entered in the Local Machine Key setting in the Agent Configuration.




3.Select the Load Generator, and click Details to display the Load Generator Information.




4.In the Security tab, enter the MI Listener machine's name in the MI Listener
field. This is the same name that you entered in the MI Listener Name
setting of the Agent Configuration dialog box. In this example, the MI
Listener is bunji.
5.In the Firewall Settings section, select one of the following options:
  •  Enable running Vusers over Firewall. To run Vusers over the firewall.
  •  Enable Monitoring over Firewall. To monitor Vusers over the firewall.
6.Click OK to return to the Load Generators dialog box.
7.Select the load generator and click Connect.

This will do all the setup required to run your test over the firewall.

What if the number of events does not increase/nothing gets recorded in Vugen load runner?

While recording in load runner Vugen some of the events are not recorded?what is the reason for this?

check the following

1. The selected protocol might not be correct
2. The action currently recording does not use the protocol that is being specified in the script. The number of events will not increase till it comes across the protocol that is specified.
3. The activities that are taking place are client side and not server side. This will not get recorded.

If Controller crashes in load runner???

Here i am presenting you that what are the steps that we have to take when the controller crashes.

Make sure that you login as a local administrator

Login to the Controller machine with a local administrator account. Using domain account may cause unexpected behaviors.

Make sure that there are sufficient Disk Space
Make sure that you have enough disk space available on the controller and load generators. During scenario execution, the events are written onto the Load Generator machines and are saved locally until the scenario finished; where results are send back to the Controller. If the machine does not have enough disk space, it can cause problem.

Make Sure that the Temp directory is outside the User’s default Temp directory.

Make sure that there are sufficient memory available

To check available memory on a machine:
Right-click the status bar, and select Task Manager. Select the Performance tab to check the physical memory available. Select the Processes tab to check which processes have high memory consumption in the CPU column.

To free up memory: 

1.Close any unnecessary processes running on the machine, and try running the scenario again.
2.Restart your computer.
3.If the problem persists, reduce the number of virtual users that you are running on the same machine.

To enlarge the size of your virtual memory: 

1. Click Start -> Settings -> Control Panel -> System.
  • For Windows 2000, select the Advanced tab, and click Performance Options. 
  • For Windows NT, select the Performance tab. 
2. In the Virtual memory section, click Change. 

3. In the Drive list, click the drive that contains the paging file you want to change.
Under Paging file size for selected drive, type a new paging file size in megabytes in the Maximum size (MB) box, and then click Set.

To boost performance, and allow more Virtual Users to run on the load generator machine:
On Windows 2000 machines, select Start -> Settings -> Control Panel -> System -> Advanced -> Performance Options, and select the Background Services option.
On Windows NT machines, select Start -> Settings -> Control Panel -> System Properties > Application Performance. Set Performance boost to "None."
Check if the size of the output.mdb file in the results folder is more than 2 GB
If the output.mdb file becomes greater than 2GB during a load test, Controller is unable to write into it anymore and cause a crash.

Run the Controller’s batch files to register DLLs


Sometimes, DLLs can become unregistered or the registry can become corrupted to a point where a program's DLLs cannot be found. The purpose of batch files is to reregister them into the system's registry so that the programs can locate them. Use the following steps to do this:

 Shut down the Controller.
  1. Navigate to the \bin directory, and look for the following files:
  • register_controller.bat 
  • set_mon.bat
   3. Create a duplicate copy of the file, in the same location.
   4. Open up the duplicated file. In it, you should see several entries like the following:
 regsvr32 /s webbrwsr.dll
Remove the "/s" from each of these statements, but leave a space between the "regsvr32" and the DLL name.
  5. Save the changes.
  6. Double click on the batch file to run it. You should get several pop-up messages.

Try to recreate the Controller’s initialization file

Sometimes, the initialization files can become corrupted (e.g. after a crashed). You will have problem in launching or using the Controller after that. Use the following steps to do delete the initialization file so that a new copy will be created:
1. Shut the Controller.
2. Navigate to the C:\Winnt ( or C:\Windows for Windows XP machine )
3. Delete all files that begin with wlrun*. For example,
wlrun.ini, wlrun5.ini, wlrun7.dft, wlrun7.hst, wlrun7.ini

Check the temporary environment variables

Unlike the earlier window’s versions, Window 2000 and Window XP have the default environment set to c:\Document and Settings\\Local Settings\Temp instead of c:\Windows\temp. This long path with a space can cause several problems on LoadRunner. To resolve the issue, change to a directory without empty spaces

Reboot the system

When programs crash, they leave the system in an unstable state. This can cause many other problems that seem to have no apparent reason for happening or has not happened before. When the system is rebooted, it resets the system into a more stable state. This should be done after any program crashes.
Verify the information in the event viewer
Sometimes, if a program crashes, it does not give any clues for what had happened. By using the Windows event viewer, it may be possible to find some clue as to what happened when the crash occurred. The event viewer can be launched from Start -> Programs -> Administrative Tools -> Event Viewer.


Verify other programs are interfering with Controller


To find out whether hooked DLLs are possibly causing a problem, you can use a third party utility call "Process Explorer." This utility has the ability to view the DLLs loaded by an application. It can be downloaded free of charge from the following link:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

This can be used to see if LoadRunner loaded any other program's DLLs. 

Use the following steps to do this:

1. Unzip the .zip file, which was downloaded from the above URL, into a directory where you wish to install Process Explorer.
2. Start the Controller.
3. Run the Process Explorer (procexp.exe) from the directory into which you unzipped it (step a).
4.
 Select wlrun.exe (Controller) from the top section of Process Explorer.
5. The bottom section should be displaying a list of DLLs. If it is showing handles for the application, go to the "View" menu and select "DLLs."
6. Search through the list to see if any other program's DLLs are loaded. Normally, only DLLs from the \bin directory and standard Microsoft directories are loaded. For example, if you see wbhook32.dll (McAfee VirusScan hooking DLL) loaded by LoadRunner, then you would want to shut down the anti-virus software.


Disable the Anti-virus software what ever it present

It is known that anti-virus software is intrusive when they are set to look for viruses. However, in searching for viruses, the software can interfere with a program's proper execution. This could cause problems and sometimes crashes. This is why, for debugging purposes, it is recommended to turn off the anti-virus software.

How to display the total number of Vusers in the scenario instead of just the running Vusers

If you want to display the total number of Vusers in the scenario instead of just the running Vusers

There are two files that need modifications.

1. Open VuserStateGraph.def located under \bin\dat.

Search for the [AdditionalFilter0] section.
Change Values=Run to Values=Quit.
Save the file.

2. Open AnalysisSummary.asc located under \bin\dat.

a. Change FieldName=Maximum Running Vusers: toFieldName=Total Running Vusers:.
Save the file.

3. Open up the results file (.lrr) again, it will now display the Total Running Vusers as opposed to Maximum Running Vusers.

How to view the all error messages in the Analysis session of load runner | Error messages in load runner

We can see the complete error messages in the analysis session by adding the simple line.
 
Add "AdditionalGroupBy=Error Message" to ErrorsPerSecond.def and ErrorSummary.def

For this  Close Analysis file and
  • Go to C:\Program Files (x86)\Micro Focus\Loadrunner Analysis\bin\dat
  • Open ErrorsPerSecond.def using a notepad++
  • Edit the section for "Graph Definitions."
  • Add an "Error Message" value to the AdditionalGroupBy key as shown in below
  • Repeat the same  for ErrorSummary.def. and reload the raw analysis session and Add Error Statistics graph.
  • After the 'Error Statistics' graph is added, right click on the graph and select ' Set Filter/Group By' option.
  • On the Lower pane where it says, 'Group By' select 'Error Message' and it should be available in the 'Available Group'
  • On the upper pane where it says 'Filter Condition', under 'Error Message' or 'Error Type' select all or any of the error codes or message to be shown on the graph.

[Graph Definitions]
AdditionalGroupBy=Error Message

On the lower half pane where the graph is displayed, this will display the error messages and the corresponding code. It will also be exported in any reports that are made.

Logs in runtime settings in Load runner

While creating and debugging the script which generated in LoadRunner always create various types of logs which appear in Virtual user generator screen. These logs are very useful when it’s come to debugging your script.

There are four types of log available in LoadRunner:
  1. Recording Log
  2. Generation Log
  3. Replay Log
  4. Co-relations Results


1. Recording Log: This log is generated when user records any script. This log mainly contains client server communication information which is nearly non-readable format. This is not very useful for us since we cannot map many things of this log with our script. This log contains all protocol communication information which used by application on which we are recording.
This Log is useful when we re-generate the script using “Regenerate Script” option of Vugen. Recording log is traces created during the recording Vugen
User cannot re-generate script if this log is not available.


2. Generation Log: The time user stop recording, recording log traces converts into readable format and create a log which is known as “Generation Log”. This log is very useful to see request and response captured by LoadRunner during recording. This log can be refer in script folder by accessing the file “CodeGenerationLog.txt “


3.Replay Log:
Now this is the log which helps us a lot while modifying the script. This log generated when user replay the recorded script. In this log we can see what request has been sent to server and which kind response we have received during replay. It’s become very handy when we need to find the problem where script is getting fail during replay. We can increase/decrease the reply log contents by changing the settings in “Run time setting” by selecting standard log or extended log section.


4.Co-relations Results
: This log is an interesting log as correlation is very import part of performance testing. This log represents a form of auto correlation. This compares “recording log” and “reply log” and finds dynamic values received any server. We can directly correlate the values from this log. It works like F9 function. Make sure “Data” folder exists in “Script” path.

Time-out reached while waiting for event Expected image with hash code 548e82a11419a0bfd1c74d8819ff8cd4 The expected hash code was never found in Citrix RPT Tool

Some times while Replaying the Citrix test in IBM RPT Tool if you are encountering below mentioned issue:

"Time-out reached while waiting for event
Expected image with hash code 548e82a11419a0bfd1c74d8819ff8cd4
The expected hash code was never found."






This issue can be solved bybelow steps:

1. Add delay in window event step

2. Insert “Image Synchronization” for image/event on which next step of test depends i.e. You need to click on “Ok” button to go further in test so I will suggest add image synchronization at “OK” button

The following  will resolve timeout error:

Let me share a bit idea about properties of image synchronization are present in RPT which can help when you are using it in your Citrix test

Bitmap hash code
: If you want the synchronization to happen when the selected area matches exactly the recorded image. But in this case, a single pixel of difference may give timeout error.

Optical character recognition: If you want the synchronization to happen when a text string is recognized in the selected area then this is the option for you.

RPT Schedule failed to Agent port issue

While executing RPT performance schedule using multiple agents,some times the following error will come.The solution for this is



Solution:
1. Go to Window > Preferences > Test > Server”
2. Choose a different port e.g. 7082
3. Update the Agent configuration file with port 7082 on all agents system
4. Run the schedule again

Alternative:
There is a possibility that the any other product using port 7080 is no longer needed on this machine. If so, stop or uninstall the product using port 7080.