0

Below is my html code

<tr role="row" class="even">
    <td class="sorting_1">AMT New Test Class</td>
    <td>FY19 - W14
        <br>Apr-30-2018</td>
    <td>FY19 - W14
        <br>May-1-2018</td>
    <td><span data-toggle="tooltip" data-original-title="Calendar"><a href="#" onclick="openCalenderModal(event,393517)" class="calenderPop"><i class="fa fa-calendar m-r-10" aria-hidden="true"></i></a></span><span data-toggle="tooltip" data-original-title="Copy"><a href="copySchedule?scheduleClassMainKey=393517&amp;type=copySchedule"><i class="fa  fa-clone m-r-10" aria-hidden="true"></i></a></span><span data-toggle="tooltip" style="cursor:pointer" data-original-title="Training Geography not available" onclick="doNothing(event)"><i class="fa fa-globe m-r-10" aria-hidden="true"></i></span><span data-toggle="tooltip" style="cursor:pointer" data-original-title="Comments: " onclick="doNothing(event)"><i class="fa fa-commenting  m-r-10" aria-hidden="true"></i></span></td>
</tr>

<tr role="row" class="odd">
   <td class="sorting_1">AMT New Test Class</td>
   <td>FY19 - W14<br>Apr-30-2018</td>
   <td>FY19 - W14<br>May-1-2018</td>
   <td><span data-toggle="tooltip" data-original-title="Calendar"><a href="#" onclick="openCalenderModal(event,393528)" class="calenderPop"><i class="fa fa-calendar m-r-10" aria-hidden="true"></i></a></span><span data-toggle="tooltip" data-original-title="Copy"><a href="copySchedule?scheduleClassMainKey=393528&amp;type=copySchedule"><i class="fa  fa-clone m-r-10" aria-hidden="true"></i></a></span><span data-toggle="tooltip" style="cursor:pointer" data-original-title="Training Geography not available" onclick="doNothing(event)"><i class="fa fa-globe m-r-10" aria-hidden="true"></i></span><span data-toggle="tooltip" style="cursor:pointer" data-original-title="Comments: " onclick="doNothing(event)"><i class="fa fa-commenting  m-r-10" aria-hidden="true"></i></span></td>
</tr>

My vugen script looks like

web_submit_data("getClassDetails_2", 
        "Action= websiteURL /getClassDetails", 
        "Method=POST", 
        "RecContentType=application/json", 
        "Referer= websiteURL /manage_schedules", 
        "Snapshot=t320.inf", 
        "Mode=HTTP", 
        ITEMDATA, 
        "Name=draw", "Value=1", ENDITEM, 
        "Name=columns", "Value=classSubtypeMaster.classSubtypeName,classSubtypeMaster.classSubtypeKey,divRegJson,finalWeekMapJson,finalWeekMapJson,createdOnDate,createdByUserId,scheduleClassMainKey,scheduleStartId.clndrDate,scheduleEndId.clndrDate,occrStartFiscalWeek,occrEndFiscalWeek,comments", ENDITEM, 
        "Name=order[0][column]", "Value=0", ENDITEM, 
        "Name=order[0][dir]", "Value=asc", ENDITEM, 
        "Name=start", "Value=0", ENDITEM, 
        "Name=length", "Value=10", ENDITEM, 
        "Name=search[value]", "Value=", ENDITEM, 
        "Name=search[regex]", "Value=false", ENDITEM, 
        "Name=nodeList", "Value=18", ENDITEM, 
        "Name=nodeIdList", "Value=3", ENDITEM, 
        "Name=searchColumns",         "Value=classSubtypeMaster.classSubtypeKey,divRegJson,finalWeekMapJson", ENDITEM, 
        LAST);

before this step i am placing these below web_reg_save_param_ex functions

And i tried with the below web_reg_save_param_ex

1st Try

web_reg_save_param_ex(
        "ParamName=scheduleClassMainKey",
        "LB=onclick=\"openCalenderModal(event,",
        "RB=)\" class=\"calenderPop\">",
        "NotFound=error",
        "Ordinal=all",
        SEARCH_FILTERS,
        "Scope=BODY",
        "IgnoreRedirections=Yes",
        LAST);

2nd Try

web_reg_save_param_ex(
        "ParamName=scheduleClassMainKey",
        "LB/RE=<a href=\"copySchedule?scheduleClassMainKey=",
        "RB=&amp;type=copySchedule\"><i ",
        "NotFound=warning",
        "Ordinal=all",
        SEARCH_FILTERS,
        "Scope=ALL",
        "IgnoreRedirections=Yes",
        LAST);

But getting error in output

1st Try output

Action.c(213): web_reg_save_param_ex started                [MsgId: MMSG-26355]
Action.c(213): Registering web_reg_save_param_ex was successful          [MsgId: MMSG-26390]
Action.c(224): web_submit_data("getClassDetails") started          [MsgId: MMSG-26355]
Action.c(224): Error -26377: No match found for the requested parameter "scheduleClassMainKey". 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(224): Notify: Saving Parameter "scheduleClassMainKey_count = 0"

saving the parameters as lr_output_message("PC:%d",atoi(lr_eval_string("{scheduleClassMainKey_count}")));

and

2nd Try

Action.c(245): Notify: Parameter Substitution: parameter "scheduleClassMainKey_count" =  "0"
Action.c(245): 0
Action.c(246): Warning:

Based on the comments tried but still getting below error in output pane:

Action.c(203): web_submit_data("getClassDetails_2") started [MsgId: MMSG-26355] Action.c(203): Error -26377: No match found for the requested parameter "scheduleClassMainKey". 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(203): Error -26377: No match found for the requested parameter "_scheduleClassMainKey". 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(203): web_submit_data("getClassDetails_2") highest severity level was "ERROR", 177 body bytes, 510 header bytes, 11 chunking overhead bytes [MsgId: MMSG-26387] Ending action Action.

can anyone tell me where am i doing wrong.

Prateek Naik
  • 2,522
  • 4
  • 18
  • 38

2 Answers2

1

Both simplified versions of web_reg_save_param_ex successfully extract values from the provided response fragment.

web_reg_save_param_ex(
    "ParamName=scheduleClassMainKey",
    "LB=onclick=\"openCalenderModal(event,",        
    "RB=)\" class=\"calenderPop\">",
    "Ordinal=all",
    SEARCH_FILTERS,
    "Scope=Body",
    LAST);

web_reg_save_param_ex(
    "ParamName=_scheduleClassMainKey",
    "LB=<a href=\"copySchedule?scheduleClassMainKey=",
    "RB=&amp;type=copySchedule\"><i ",
    "Ordinal=all",
    SEARCH_FILTERS,
    "Scope=Body",
    LAST);      

Output:

Notify: Saving Parameter "scheduleClassMainKey_1 = 393517".
Notify: Saving Parameter "_scheduleClassMainKey_1 = 393517".
Notify: Saving Parameter "scheduleClassMainKey_2 = 393528".
Notify: Saving Parameter "_scheduleClassMainKey_2 = 393528".
...
Notify: Saving Parameter "scheduleClassMainKey_count = 2".
Notify: Saving Parameter "_scheduleClassMainKey_count = 2".

Please, validate that you have not another errors/warnings in the replay log and that actual server response contains the expected html code.

Following your last update. This quote from replay log shows that the response body size was much smaller (177 bytes) relatively to provided response fragment.

Action.c(203): web_submit_data("getClassDetails_2") highest severity level was "ERROR", 177 body bytes, 510 header bytes, 11 chunking overhead bytes

Please, enable Extended log in Run-Time Settings that include "Advanced trace" and "Data returned by server" and run the script again to see whether the actual server response contains the expected data.

0

Are you saving both parameters to the same name "scheduleClassMainKey"?

Also, According to the documentation:

The web_reg_save_param_ex function also supports array type parameters. When 
you specify Ordinal=All, all the occurrences of the match are saved in an 
array. Each element of the array is represented by the ParamName_index. See 
Example of Parameter Arrays.
In the following example, the parameter name is A:

web_reg_save_param_ex("ParamName=A", "LB/ic=<a href=", "RB=\'>", 
"Ordinal=All", LAST );

The first match is saved as A_1, the second match is saved as A_2, and so 
forth. You can retrieve the total number of matches by using the following 
term: ParamName_count. For example, to retrieve the total number of matches 
saved to the parameter array, use:

TotalNumberOfMatches=atoi(lr_eval_string("{A_count}"));

Therefore the parameter you need to use is scheduleClassMainKey_1

Buzzy
  • 2,905
  • 3
  • 22
  • 31