Subject: HTML return value

Hi Stu, you probably know the answer,

what I need to know if there is an option in Vugen to run a url and to save the url content to a string, something like XML apis in Vugen.
Later I can parse the string to see if I got the right value.
There is surely an add-on to web_url to save the return value to a string.

and I need to save it as a variable in Vugen and not writing it to a file.

Tell me if you know if it achievable.

Thanks
Txxxx

Here is some example code…

// save headers to a parameter
web_save_header(REQUEST, "ParamRequestHeader");
web_save_header(RESPONSE, "ParamResponseHeader");

// save entire body to a parameter
web_set_max_html_param_len("262144"); // default max length is 256 characters
web_reg_save_param("ParamResponseBody", "LB=", "RB=", "Search=Body", LAST);

// check that page contains expected value
web_reg_find("Text=Google", LAST);

web_url("Google",
"URL=http://www.google.com.au/",
"TargetFrame=Main",
"Resource=0",
"RecContentType=text/html",
"Snapshot=t3.inf",
"Mode=HTTP", // If this is HTML, then ParamResponseBody will contain the most recently downloaded item on the page (eg/ a GIF).
LAST);       // but note that this means that the resources referenced on the page will not be downloaded.
// An easier way to do this is to define a left and right boundary around the item that you want to check.

lr_output_message("# Request Header:\n %s", lr_eval_string("{ParamRequestHeader}"));
lr_output_message("# Response Header:\n %s", lr_eval_string("{ParamResponseHeader}"));
lr_output_message("# Response Body:\n %s", lr_eval_string("{ParamResponseBody}"));

thanks stu, look promising, my HTML return code going to be in XML format so I will probably going to use XML api to find a specific values.

Thanks
Txxxx

If you are using this with web services, you just need to use…

// save entire body to a parameter
web_set_max_html_param_len("262144"); // default max length is 256 characters
web_reg_save_param("ParamResponseBody", "LB=", "RB=", "Search=Body", LAST);

…then you can use the lr_xml functions to extract values from the parameter containing the SOAP body.

 

Published On: December 28, 2007Tags: ,

10 Comments

  1. Vondran Andre January 2, 2008 at 11:39 pm - Reply

    Hi, I´m having the following issue with LR:
    Error -26377: No match found for the requested parameter “Siebel_Analytic_ViewState23”. Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 3000000 bytes, use web_set_max_html_param_len to increase the parameter size, Snapshot Info [MSH 0 22]

    I already increas the parameter size, but I still get this error

  2. Vondran Andre January 2, 2008 at 11:42 pm - Reply

    Error -26377: No match found for the requested parameter “Siebel_Analytic_ViewState23”. Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 3000000 bytes, use web_set_max_html_param_len to increase the parameter size, Snapshot Info [MSH 0 22]

  3. BB February 27, 2008 at 12:59 pm - Reply

    Regrading:
    Option #3 – QuickTest Pro vusers

    LoadRunner has an option to run QuickTest Pro scripts instead of scripts created with VuGen. As with the Citrix vusers, your scripts are interacting with the GUI of the application you are creating the script for, so you will never have to worry about any difficult correlation situations.

    The downsides are…

    You need a special LoadRunner license.
    You will need a separate QTP license for each vuser you intend to run; e.g. if you want to run 100 virtual users, you will need 100 QTP licenses. This rapidly becomes expensive.
    You will only be able to run 1 vuser per load generator, so to run 100 virtual users, you may need to find 100 workstations and install QTP on them. You can increase this slightly by fiddling with VMWare or Terminal Services, but you will still need lots of generators.
    As it operates through the GUI, it requires extra time to identify objects. Using WinRunner vusers in the past, I would get radically different response measurements between my WinRunner vusers and my web vusers.
    *************************************************************
    It is possible to set the IP spoofing setting and create your alternate IP addresses from one load generator machine. Once complete, add the IPs just created through the IP wizard into the Controller assigning to each QTP script. Of coarse, you will still need 1 QTP license for each vuser you want to emulate, but at least you won’t need 100 machines or manipulate VMware or Terminal Services.

  4. amit March 24, 2008 at 5:10 am - Reply

    hi,
    currently am working on bussiness objects reports load testing using load runner , while executing the script i received one error message in server response can anybody had seen such error message before then plz share ur experience with me .
    still my script is executed succesfully did such kind of error message having any impact on performance .
    the error message is below :

    function okCB() {
    var topf=getTopViewerFrameset();
    if (topf!=null) topf.backToParent();
    }

    setTimeout(‘delayedDisplayDlg()’,100);
    function delayedDisplayDlg() {
    advDisplayViewerErrorMsgDlg(“Could not retrieve the document with the passed obsolete token. (Error: RWI 00323) (Error: INF )”,_ERR_REPORT, okCB);
    }

  5. marri May 29, 2008 at 2:37 pm - Reply

    Hi Stu i have been reading you’r post its very helpfull could you help in correcting a code plz

    1)GOAL – when following error message is coming HTTP Status Code=500 (Internal Server Error) for “https://…………. i want to stop the script from executing for a period of 45 secs

    web_reg_find(“Text=HTTP Status Code=500”, “SaveCount=HTTP Status Code=500”, LAST);
    web_url(“Step”, “URL=…”, LAST);
    if (strcmp(lr_eval_string(“{HTTP Status Code_count}”), “0”) == 0)
    {
    lr_thinktime(30);
    }
    else
    {
    lr_thinktime(0);
    }

  6. sakthi July 3, 2009 at 8:06 pm - Reply

    You need a special LoadRunner license.
    You will need a separate QTP license for each vuser you intend to run; e.g. if you want to run 100 virtual users, you will need 100 QTP licenses.
    LoadRunner has an option to run QuickTest Pro scripts instead of scripts created with VuGen. As with the Citrix vusers, your scripts are interacting with the GUI of the application you are creating the script for, so you will never have to worry about any difficult correlation situations.
    You can get the correct solution for this from macrotesting http://www.macrotesting.com. Thanks you as you gave some work to my mind….
    Its so good to get such a article….

    cheers
    sakthi

  7. Meenapriya December 19, 2009 at 1:20 am - Reply

    Hi, This may not be relavant to the topic but I have a question regarding LR Click and script. I have a script that fails with error message “Error -26174: Radio item not found (name=”saleType”, value=”2″)”. It not only fails the transaction but also the user. It is not trying the next iteration. The login is in the action part and the select next row for user name is “unique, once”. Why is this happening. I want to fail only the transaction and not the user

  8. David August 6, 2011 at 12:31 am - Reply

    Hi maybe you can help me. I have a problem with my web_reg_save_param, every time I got same error, maybe you can help me:

    Action.c(148): Error -26377: No match found for the requested parameter “SessionId01”. Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 256 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
    Action.c(148): Error -26374: The above “not found” error(s) may be explained by header and body byte counts being 142 and 0, respectively. [MsgId: MERR-26374]
    Action.c(148): web_custom_request(“uif_callback_2”) highest severity level was “ERROR”, 0 body bytes, 142 header bytes [MsgId: MMSG-26388]

    Thanks a lot

    My code…

    —————–

    web_submit_data(“uif_callback”,
    “Action=http://mosrt30.rm.gr.repsolypf.com:8000/sap/webcuif/uif_callback?sap-client=022&sap-language=ES&sap-domainRelax=min&crm_handler=CL_CRM_UI_SESSION_MANAGER”,
    “Method=POST”,
    “RecContentType=text/plain”,
    “Referer=http://mosrt30.rm.gr.repsolypf.com:8000/sap(bD1lcyZjPTAyMiZkPW1pbg==)/bc/bsp/sap/crm_ui_start/default.htm?sap-client=022&sap-language=ES”,
    “Snapshot=t6.inf”,
    “Mode=HTML”,
    ITEMDATA,
    “Name=cmd”, “Value=get_esid”, ENDITEM,
    LAST);

    web_reg_save_param(“SessionId01”,
    “LB=(“,
    “RB=)”,
    “Ord=1”,
    “Search=Body”,
    LAST);

    lr_output_message(“xxxxxxxxxxxxxx: %s”, lr_eval_string(“?”));

    web_custom_request(“uif_callback_2”,
    “URL=http://mosrt30.rm.gr.repsolypf.com:8000/sap/webcuif/uif_callback?sap-client=022&sap-language=ES&sap-domainRelax=min&crm_handler=CL_CRM_UI_SESSION_MANAGER”,
    “Method=POST”,
    “Resource=0”,
    “RecContentType=text/plain”,
    “Referer=http://mosrt30.rm.gr.repsolypf.com:8000/sap(bD1lcyZjPTAyMiZkPW1pbg==)/bc/bsp/sap/crm_ui_start/default.htm?sap-client=022&sap-language=ES”,
    “Mode=HTML”,
    “Body=cmd=store_request&esid=(ZT1XbEpSUVVkRlUwbE9RMVJKT0Y5Zk16SmZFc3k4N20tU0h0Q3Y2dGkxZ0JYV0FBPT0=)&sap-client=022&sap-language=ES”,
    LAST);

    web_url(“main.htm”,
    “URL=http://mosrt30.rm.gr.repsolypf.com:8000/sap(ZT1XbEpSUVVkRlUwbE9RMVJKT0Y5Zk16SmZFc3k4N20tU0h0Q3Y2dGkxZ0JYV0FBPT0=)/bc/bsp/sap/crm_ui_frame/main.htm?sap-client=022&sap-language=ES&sap-domainRelax=min&saprole=ZAGENTE”,
    “Resource=0”,
    “RecContentType=text/html”,
    “Referer=http://mosrt30.rm.gr.repsolypf.com:8000/sap(bD1lcyZjPTAyMiZkPW1pbg==)/bc/bsp/sap/crm_ui_start/default.htm?sap-client=022&sap-language=ES”,
    “Snapshot=t7.inf”,
    “Mode=HTML”,
    EXTRARES,
    “URL=/sap/bc/bsp/sap/crmcmp_ic_frame/stylesheets/broadcast/NOVA/_images/IC/statusAreaBackground.gif”, “Referer=http://mosrt30.rm.gr.repsolypf.com:8000/sap(bD1FUyZjPTAyMiZpPTEmZT1XbEpSUVVkRlUwbE9RMVJKT0Y5Zk16SmZFc3k4N20tU0h0Q3Y2dGkxZ0JYV0FBJTNkJTNk)/bc/bsp/sap/crmcmp_ic_frame/broadcast_bar.htm”, ENDITEM,
    “URL=/sap/bc/bsp/sap/crmcmp_ic_frame/stylesheets/broadcast/NOVA/_images/IC/queueBackground.gif”, “Referer=http://mosrt30.rm.gr.repsolypf.com:8000/sap(bD1FUyZjPTAyMiZpPTEmZT1XbEpSUVVkRlUwbE9RMVJKT0Y5Zk16SmZFc3k4N20tU0h0Q3Y2dGkxZ0JYV0FBJTNkJTNk)/bc/bsp/sap/crmcmp_ic_frame/broadcast_bar.htm”, ENDITEM,
    LAST);

  9. Bhakti July 3, 2012 at 1:53 am - Reply

    hello,
    I am new to loadrunner. I recorded a script (Http/HTML) and tried to replay it.
    I get the following error message –
    advDisplayViewerErrorMsgDlg(“Could not retrieve the document with the passed obsolete token. (Error: RWI 00323) (Error: INF )”,_
    After reading about corelations, I tried to do dynamic corelations for values in ‘jsessionId’ and tried to rerun. This time the results were better than previous, however, I could not view the report.
    Here is the scenario I am trying to test –
    1. Login to an application
    2. Browse to a particular node/ folder.
    3. Right click on the report and select view.
    4. A new window showing ‘data loading’ appears. after a few seconds a report is opened

    I am not sure how to record data for the small window that appears after I right click and select view on the report.
    Any help/tips/suggestions etc are really appreciated.
    Thank you.

    Best Regards,
    Bhakti

  10. ranvi December 12, 2016 at 6:54 pm - Reply

    I want to test the webservice and the system is using MQ as a method to communicate . Team is advising me to use Java but i dont have experience in Java . Can’t I use webservice vuser ? Someone also advised me to use MQ tester but it seems to me quite difficult to work on

Leave A Comment