loadrunner I have a support ticket opened with HP on...

  • perf-test.com need your contributions to build up a strong repository of performance engineering resources.

S

Scott Moore

Guest
I have a support ticket opened with HP on this, but I wanted to see if there is any faster way to correct an issue. Using LR 12.02 Patch 1, Citrix protocol, no citrix agent. Windows 7 SP1 Vugen on a fresh install - beefy workstation. Citrix online plug-in version 12.1.0.30 - the app is a traditional Citrix deployed app, not NFUSE. Connecting to a single Xenapp server with single hard coded parameters (one line of data) for login and password, single session from Vugen (not the Controller). There are two logins. The first is for the windows domain userid and password which happens as soon as the session opens. Then a splashscreen for about 2 seconds and then an APPLICATION login (using the same credentials) that will bring you into the main app screen. The first login always works, but about 60% of the time the second one does not. When I recorded the script, Vugen recognized the application login as a new window with a title and stored it in the LogicalNameMap. We'll call the new window "App Login". The recording put a ctrx_sync_on_window function with the window title in it. On playback, the script should wait on that window with its title to exist (puts it in the LogicalNameMap) before it continues on. When I play back the script and it works, I see Action.c(132): "App Login" is not currently in map, adding it now Action.c(132): Caption change: "272_39_481_691" ---> "App Login" = "App Login" Action.c(132): Activate window: "App Login" Action.c(136): Getting active window name Action.c(136): Active window name is "App Login" I can run the exact script again and I see this: Action.c(136): Getting active window name Action.c(136): Active window name is "" This means sometimes it picks up the window and adds it to the LogicalNameMap and sometimes it does not. If it doesn't the script will fail at this step. Any ideas why this might be the case?
 
The protocol engine perhaps not actually parsing ICA properly? I'm assuming the server side agent is installed right? Or is that no longer needed in LR 12.02? Depending on how deep you want to get into this. Throw Wireshark on the vugen box and capture a good session and a bad session and see what's on the wire perhaps.. If the ICA parts match up then you have a ICA protocol parsing issue. If not at least you might be able to see if the Citrix server itself is not being consistent.
 
I have never once used the Citrix agent, and I have tested this application for 10 years with 4 different versions of LoadRunner. I do it hard core and old school.
 
Scott, when you have a history of actually giving back then it makes a big difference versus someone newly minted, showing up and asking the same question within two minutes in ten different locations.
 
It might help if you will demonstrate the the part of the script itself around these windows, and for me it often helps to go through replay snapshots for the problematic steps, and compare them with recording snapshots. Just a guess without this info, but maybe splash window simply disappeared before script was able to catch it, or something like this.
 
I'm not trying to catch the splash screen. After the splash screen goes away, the login window I want shows up. I am doing a ctrx_sync_on_window, waiting on a specific window name to arrive to sync to. I have created a ctrx_save_bitmap function to capture a picture of what is being displayed just before the ctrx_get_window_name tells me it found "". The bitmap captured shows the window I am looking for just waiting to be utilized by the script. If the ctrx_get_window_name only sees "", then there is no way my window sync is ever going to work.
 
I wonder if ZAP would create a module for Citrix to shoehorn into LR as a custom protocol maybe. Their stuff works really well for RDP and Citrix.
 
Hi Scott, Could you try adding the following lines into your script right before the ctrx_sync_on_window() for Applogin? This has helped me debug issues. 1. ctrx_get_server_name() - we can identify the citrix server it's connecting to when the script works fine. And also to find out what happens otherwise. Is there a possibility that a connection flake is happening? I believe we can find out with this command. 2. ctrx_get_window_name() and ctrx_get_window_position() - we can identify what happens when the app logs you in. Please place think times where you feel is necessary to get optimal results out of the above steps. Do let me know your findings. In the meantime, I'll also try to dig more into this issue. Thanks!