请char *pEnd; clickReport() { char *str = (char *)malloc(10240); char *pall = (char *)malloc(10240); char *left = "option value="", *right = """; getAsyncInfo();
web_reg_find("Text=Click on the", "SaveCount=successfulReport", "Search=All", LAST); web_link("ClickReportNameLink", "Text=SinckyLinkName", "Snapshot=t6.inf", LAST);
if ((atoi(lr_eval_string("{successfulReport}"))==0)){ do{ sendAsyncWaitResponse(); }while(atoi(lr_eval_string("{statusWaiting}"))>0); } strcpy(str, lr_eval_string("{var_selectmeetingstatus}"));
handleMidStr(str, left, right, pall); for(pall; pall < pEnd; pall += strlen(pall)+1 ) { lr_log_message("pall is : %s\n", pall); } free(str); free(pall); return 0; } void getAsyncInfo() { web_reg_save_param("var_actionState", "LB=action_state\": \"", "RB=\"", LAST); web_reg_save_param("var_executionParameters", "LB=parameters\": \"", "RB=\"", LAST); web_reg_save_param("var_ui.conversation", "LB=conversation\": \"", "RB=\"", LAST); web_reg_save_param("var_m_tracking", "LB=tracking\": \"", "RB=\"", LAST); web_reg_save_param("var_ui.cafcontextid", "LB=caf\": \"", "RB=\"", LAST); web_reg_save_param("var_asyncStatus", "LB=\"status\": \"", "RB=\"", LAST); return; }
void getAsyncInfo_HTMLFragment() { web_reg_save_param("var_actionState", "LB=action_state": "", "RB="", LAST); web_reg_save_param("var_executionParameters", "LB=parameters": "", "RB="", LAST); web_reg_save_param("var_ui.conversation", "LB=conversation": "", "RB="", LAST); web_reg_save_param("var_m_tracking", "LB=tracking": "", "RB="", LAST); web_reg_save_param("var_ui.cafcontextid", "LB=caf": "", "RB="", LAST); web_reg_save_param("var_asyncStatus", "LB="status": "", "RB="", LAST); web_reg_save_param("var_meetingstatus_list", "LB="status": "", "RB="", LAST); web_reg_save_param("var_selectmeetingstatus", "LB=multiple><", "RB=Select Budget Type", LAST); return; }
void sendAsyncWaitResponse() {
getAsyncInfo_HTMLFragment(); web_reg_find("Text=Text="status": "working", "SaveCount=statusWaiting", "Search=All", LAST); web_reg_find("Text=Click on the", "SaveCount=successfulReport", "Search=All", LAST); web_submit_data("WaitResponse", "Action=https://sinckyurl/cgi-bin/cognos-reporting.cgi", "Method=POST", "RecContentType=text/plain", "Referer=", "Mode=HTML", ITEMDATA, "Name=cv.header", "Value=false", ENDITEM, "Name=b_action", "Value=cognosViewer", ENDITEM, "Name=cv.id", "Value=_NS_", ENDITEM, "Name=ui.action", "Value=wait", ENDITEM, "Name=cv.actionState", "Value={var_actionState}", ENDITEM, "Name=ui.primaryAction", "Value=run", ENDITEM, "Name=errURL", "Value=javascript:close()", ENDITEM, "Name=executionParameters", "Value={var_executionParameters}", ENDITEM, "Name=ui.conversation", "Value={var_ui.conversation}", ENDITEM, "Name=m_tracking", "Value={var_m_tracking}", ENDITEM, "Name=ui.cafcontextid", "Value={var_ui.cafcontextid}", ENDITEM, "Name=cv.catchLogOnFault", "Value=true", ENDITEM, "Name=cv.responseFormat", "Value=data", ENDITEM, LAST); return; } void handleMidStr(char *str, char *left, char *right, char *pall) { char *p1, *p2; int leftLen = strlen(left); int rightLen = strlen(right); if( strlen(str) > 0) { p1 = (char *)strstr(str, left); if (p1 != NULL ) p1 = p1 + leftLen; else return ; p2 = (char *)strstr(p1, right); if (p2 == NULL ) return ; memcpy(pall, p1, p2 - p1); pall[p2 - p1] = 0; pall += p2 - p1 + 1; pEnd = pall; handleMidStr(p2+rightLen, left, right, pall); } } |