Results 1 to 6 of 6
  1. #1

    Citrix Script - Running fine with 1 user

    I have a citrix script that is running fine with one user and with multiple iterations in the Workbench. However, in the conductor I can get it to run with 1 user for 2 iterations (haven't tried anymore than that yet) but as soon as I add another user, it falls over. One user doesn't even get logged onto citrix and the other falls over really early on in the script.

    I am new to QALoad and have limited experience of citrix, does anyone have any idea why this might be happening?

    The error I get is: ERROR:CTX-Error-00028- Window 'Name of window' does not exist.

    Any suggestions would be much appreciated as I have no ideas whatsoever.


  2. #2

    Re: Citrix Script - Running fine with 1 user

    Hi Helen,

    Don't be alarmed when your script runs flawlessly in the Workbench but then fails while being executed in the Conductor.

    We have found that the actual connection process of a virtual user connecting to the Citrix server causes a momentary spike in CPU utilization on the Citrix server. This spike may be causing a timing delay/issue that is in turn causing your script to fail.

    In your conductor session, did you specify a Time Interval of 1:30 - 2:00?

    To help curb "timing issues" with our QALoad Citrix scripts, we started to use a utility called CPULoad to place an artificial load on the Citrix server during the recording of the scripts.

    For example, prior to recording a script we would start up CPULoad on the Citrix server and place a 60% load on the server. This way while we are recording the script we are guaranteed to have at least a 60% load on the Citrix server and the recorded sleeps would be reflective to if the script was being executed with at least a 60% load on the citrix server.

  3. #3
    Senior Member
    Join Date
    Nov 2000
    Michigan, USA

    Re: Citrix Script - Running fine with 1 user


    I can't seem to find any info about a utility called CPULoad (searching only returns links about monitoring cpu load...).

    Do you have any links?

    A problem is a difference between what is perceived and what is desired, that
    we want to reduce
    (Dewey 1933)

  4. #4

    Re: Citrix Script - Running fine with 1 user

    According to the CPULoad screen, CPULoad is a freeware utility from a company called CommLinx Solutions. The url given is Http://www.commlinx.com.au.

    I just tried the above url and doesn't appear to be working (actually takes you to a tractor site?)

  5. #5

    Re: Citrix Script - Running fine with 1 user

    Thanks would be useful to have that link for future scripts, but it has taken me ages to get this to work at all so I really don't want to start again.

    The problem seems to be synchronisation. I need to use ctxwaitforwindowcreate or ctxwaitforcaptionchange, but because I have lots of screen title changes and because they are very long and therefore not fully displayed I have used ctxsetwindowmatchtitle, so these functions don't seem to work. They seem to require the full screen title. Is there anyway of doing this type of function using wildcards? Do bitmaps work for this purpose?

    Also the screen titles have name and reference no in them, I can parameterise the name but the reference no is system generated and in Loadrunner you could correlate this but I can't work out how to do it QALoad is there a way?

    Sorry, there is a lot here but I really would appreciate any help anyone can offer.

  6. #6

    Re: Citrix Script - Running fine with 1 user

    Yes, you can use the '*' for wildcarding within the Citrix Window define statements. For example:

    As recorded:
    CtxWI *CWI_13 = new CtxWI(0x300a6, "PowerChart Organizer for Smith, James", 44, 6, 653, 432);

    CtxWI *CWI_13 = new CtxWI(0x300a6, "PowerChart Organizer for *", 44, 6, 653, 432);

    I would recommend using the CtxWindowEventExists as tool for pacing your scripts for any required/necessary windows to appear. The only gotcha when you use this function is that whatever event you are checking you will need to issue that same wait statement within the 'true' block of your code to reset the ctxwindoweventexists flag.

    For example, as a way to pace the script for extended citrix login/connection time the following code will wait up to 30 seconds for the 2nd citrix connection screen to appear and if it appears will wait up to another 2 minutes for it to destroy. If the destroy event does not occur within 2 minutes an error msg (script_msg) is written to the workbench/conductor logs and the script is aborted:
    if CtxWindowEventExists(EVT_STR_CTXWINDOWCREATE, 30000, CWI_3)
    CtxWaitForWindowCreate(CWI_3, 78);
    if ( ! ( CtxWindowEventExists(EVT_STR_CTXWINDOWDESTROY, 120000,CWI_3)) ) // *** Wait for Citrix Login to complete
    script_msg = "Citrix Logon did not complete within specified time of 2 minutes. Script aborted.";
    RR__FailedMsg(s_info, script_msg);



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
BetaSoft Inc.
All times are GMT -8. The time now is 03:56 PM.

Copyright BetaSoft Inc.