SPONSORS:






User Tag List

Thanks Thanks:  0
Likes Likes:  0
Dislikes Dislikes:  0
Page 1 of 2 12 LastLast
Results 1 to 10 of 11
  1. #1
    Junior Member
    Join Date
    Jan 2011
    Posts
    6
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Error in controller on ctrx_sync_on_bitmap_change

    Hi,

    I am using LR 9.5 and Citrix Presentation Server 4.5.
    The thing is that I have created a script that uses this ctrx function:

    ctrx_sync_on_bitmap_change(550, 695, 167, 109, 0, TIMEOUT, CTRX_LAST);

    Everythnig works fine in VUGEN. I am able to replay the script without problems. However when I am running it in the controller with multiple users I am getting this error:

    Error: Unable to create screen snapshot : Failed to retrieve the ICA Client bitmap. Reason: "The server threw an exception."

    What is interesting, the problem never occurs for 3 users, i.e. when I am running 10 users I am getting error only from 7. With 5 users I get error from 2...

    Perhaps the problem lays somewhere on Citrix server - which narrows the number of users that can use some kind of API requests from that function (ctrx_sync_on_bitmap_change) to 3? Or maybe the problem is in my client/agent settings? I really cannot figure it out... Did anybody experience such thing?

  2. #2
    Moderator
    Join Date
    Jan 2006
    Location
    Charlotte, NC
    Posts
    1,600
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    Do you have different user ids for your log ins?

    If you are seeing failure with just 5 Vusers, how about getting five guys and five PCs and doing a manual performance test?
    Unless you are writing a compiler, strtok is NOT the answer.
    See: http://www.sqaforums.com/showflat.ph...=541641#542222

    QAF is still an exercise in self-sufficiency! (Thank JB!)

  3. #3
    Junior Member
    Join Date
    Jan 2011
    Posts
    6
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    Yes - I have different user ids for my logins.

    The error I am getting does not come from AUT but from LoadRunner/Citrix... apparently it has some difficulty in processing the function with more than 3 concurrent vusers...

    ...so, hm, doing manual test will not solve the problem.

  4. #4
    Junior Member
    Join Date
    Jan 2011
    Posts
    6
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    Guys, does anyone have any idea what is going on?

    Basically Vugen replays my scripts with no problems.

    In controller I am getting this error on every sync_on_bitmap command.

    Moreover - if I have "create snapshot on error" checked I am also getting the error when the scripts tries to create a snapshot when failing.

    As I was saying - it seems to be little bit random. I mean that most of the time it works for 3 concurrent users at most...

    Please help [img]/images/graemlins/smile.gif[/img]

  5. #5
    Moderator
    Join Date
    Feb 2010
    Location
    Europe
    Posts
    944
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    you're not using the controller as a LG are you?

    are you monitoring your Load Generators?

    are they having resource issues?

    you're not using a rendezvous point before the sync_on_bitmap are you?

    maybe it would be a good idea to post a bit more of the code that you are executing - probably everything up to the point where the failure ocurs

  6. #6
    Moderator
    Join Date
    Jan 2006
    Location
    Charlotte, NC
    Posts
    1,600
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    Do you have exactly the same screen resolution set for your VuGen box as for your Load Generators?

    --------------------------------

    Understand also that Citrix is really different from the other protocols in that it's "Develop once, develop everywhere!" I would expect (even if my resolutions are the same) to have to add some alternative bit map values to all my checks.
    Unless you are writing a compiler, strtok is NOT the answer.
    See: http://www.sqaforums.com/showflat.ph...=541641#542222

    QAF is still an exercise in self-sufficiency! (Thank JB!)

  7. #7
    Senior Member
    Join Date
    Jun 2008
    Posts
    112
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change


    Hi,

    It seems your sync_on_bitmap_change()function is completely wrong. What Image you are keeping in buffer to sync instead 0? First you need to get bitmap value to which you are looking for change and then keep that buffer value in bitmap change function.

    Regards,

  8. #8
    Junior Member
    Join Date
    Jan 2011
    Posts
    6
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    Thanks for all the tips - let me try to answer:

    you're not using the controller as a LG are you?
    --
    yes, but it is a powerful machine 16core processor + 40GB RAM - and I am using up to 30 CITRIX sessions and it is working fine except that issue with creating snapshots.
    Well, maybe this is the case - but I have no possibility to use load generators other than on this controller machine...

    are you monitoring your Load Generators?
    --
    well, not quite sure what you mean... as far as processor utilization or memory consumption it is less than 20%

    are they having resource issues?
    --
    ...

    you're not using a rendezvous point before the sync_on_bitmap are you?
    --
    No - I'm not.


    Do you have exactly the same screen resolution set for your VuGen box as for your Load Generators?
    --
    Yes

    --------------------------------

    Understand also that Citrix is really different from the other protocols in that it's "Develop once, develop everywhere!" I would expect (even if my resolutions are the same) to have to add some alternative bit map values to all my checks.
    --
    I am aware of that but the issue here is that the replayed script is not able to create snapshot at all (even when creating snapshots on error/fail).



    It seems your sync_on_bitmap_change()function is completely wrong......
    --
    Well - it is not according to documentation.

    "ctrx_sync_on_bitmap_change captures a snapshot of an active bitmap when called and waits for that bitmap to change...."

    Anyway I have tried the solution that you propose as well and it also failed.
    (Actually this sollution is also mentioned in Function Reference guide but for a specific case = "...if the bitmap changed before the call, it captures the new bitmap after the expected change has already occurred, and synchronizes on this bitmap. In this case, the function will fail on timeout.")


    Here is a snippet from the script - I'm not sure if it helps, but here it goes:

    ------
    .....
    ctrx_key("ENTER_KEY", 0, "", CTRX_LAST);

    lr_think_time(2);
    ctrx_key("TAB_KEY", 0, "", CTRX_LAST);

    for (i = 1; i <= dropdown_back_to_top; i = i + 1)
    ctrx_key("UP_ARROW_KEY", 0, "", CTRX_LAST);


    if (pairing_select_from_top > 0) {

    for (i = 1; i <= pairing_select_from_top; i = i + 1) //pairing_select_from_top
    ctrx_key("DOWN_ARROW_KEY", 0, "", CTRX_LAST);

    }

    ctrx_key("ENTER_KEY", 0, "", CTRX_LAST);

    lr_think_time(1);

    ctrx_key("ENTER_KEY", 0, "", CTRX_LAST);

    lr_think_time(5);
    ctrx_sync_on_bitmap_change(550, 695, 167, 109, 5, TIMEOUT, CTRX_LAST); //TIMEOUT
    -----

  9. #9
    Moderator
    Join Date
    Feb 2010
    Location
    Europe
    Posts
    944
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    1. it's definitely preferable to use LGs that aren't the controller (but I suspect this won't solve your problem)

    2. do you definitely need snapshots? are you experiencing failure for all users, for all scripts? if this is the case you could try running a replay window for one user for each script type then once the errors start occurring then screen print the replay windows and dump them into a word document means you need to actually be there but it is a workaround

    3. I don't see any transactions.. I'd expect to see one around the last ctrx_key() and the ctrx_sync_on_bitmap_change()

    4. did you add the lr_think_time(5) statement before the ctrx_sync_on_bitmap_change() or was that recorded - I'd try either commenting it out or reducing it to 1 and increasing the timeout on the ctrx_sync_on_bitmap_change() by using ctrx_set_wating_time() - remember to make it much more than you expect*

    5. does the bitmap always change to the same thing? if this is the case you might try using ctrx_sync_on_bitmap() instead

    *please remember that if you have lr_think_time() statements inside transactions (and you will have in citrix scripts as some of the sync statements definitely need them in order to stabilize), then you may have issues if you don't include think time in analysis - potential negative response times (due to variance in lr_think_time) and analysis really doesn't like this

  10. #10
    Junior Member
    Join Date
    Jan 2011
    Posts
    6
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Total Downloaded
    0

    Re: Error in controller on ctrx_sync_on_bitmap_change

    Jim,

    Thanks for your extensive comment. Sorry for not being responsive for a while, but I have been out of web access recently due to a holiday.

    Anyway - here it goes:

    1. Agree 100%. It is better to use LG that is not controller and... it won't solve the problem in this case...

    2. ctrx_sync_on_bitmap_change apparently creates a snapshot and I actually need that function. Currently it is the only way for me to find out that the application that I am testing "moves on" after some action. Either that - or I have to add lr_think_time(1500) - which is not what anyone would like to do, I guess...

    3. Sure - there could be a transaction here...

    4. Actually I have added it by myself. As you see there is in my code:

    ctrx_sync_on_bitmap_change(550, 695, 167, 109, 5, TIMEOUT, CTRX_LAST);

    TIMEOUT = 1500 and it is declared inside the included shared library. So lr_think_time(5) here is not for "waiting" in the sense of "waiting for the application to move forward" but rather "stabilizing the application".

    5. Already tried that... It gives the same error.

 

 
Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Search Engine Optimisation provided by DragonByte SEO v2.0.36 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 10.00%
vBulletin Optimisation provided by vB Optimise v2.6.4 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging v3.2.8 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
vBNominate (Lite) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Feedback Buttons provided by Advanced Post Thanks / Like (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Username Changing provided by Username Change (Free) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
BetaSoft Inc.
Digital Point modules: Sphinx-based search
All times are GMT -8. The time now is 02:04 PM.

Copyright BetaSoft Inc.