int ThinkTime =5;
int AccountCount,AccountCheck, IterationCount, Rand1, Rand2;
char FromAccount[20];
char ToAccount[20];
char RandomIndex[30];
correlation
---------
web_reg_save_param("Accounts",
"LB=\"accountVal\":\"",
"RB=\"",
"Ord=All",
"NotFound=warning",
LAST);
web_custom_request("ExecGetAccountDetailsAjax.do",
"URL=http://{p_BaseUrl}/URI/ExecGetAccountDetailsAjax.do?action=INIT&transferType=INT",
"Method=POST",
"Resource=0",
"RecContentType=text/xml",
"Referer= http://{p_BaseUrl}/URIreferer.do",
//"Snapshot=t209.inf",
"Mode=HTML",
"Body=",
LAST);
AcctsCount = atoi( lr_eval_string("{Accounts_count}") );
AccountCount=atoi( lr_eval_string("{Accounts_count}") );
if ( AccountCount <= 4) {
lr_exit( LR_EXIT_ITERATION_AND_CONTINUE,
LR_FAIL );
}
else
{
Rand1 = (rand() % ((AccountCount/2) -2 )) + 2;
rand( );
rand( );
rand( );
rand( );
Rand2 = (rand() % ((AccountCount/2) -2 )) + 2;
rand( );
rand( );
rand( );
rand( );
AccountCheck=0;
IterationCount=0;
while (AccountCheck == 0) {
IterationCount = IterationCount + 1;
if (Rand1 == Rand2) {
Rand2 = (rand() % ((AccountCount/2) -1 )) + 2;
rand( );
rand( );
rand( );
rand( );
}
else{
AccountCheck = 1;
}
if (IterationCount == 10) {
AccountCheck = 1;
lr_exit( LR_EXIT_ITERATION_AND_CONTINUE,
LR_FAIL );
}
}
/* sprintf( RandomIndex,"{Accounts_%d}",2 ); //3
lr_save_string( lr_eval_string(RandomIndex),"FromAccount" );
sprintf( RandomIndex,"{DisplayVal_%d}", 2 );//3
lr_save_string( lr_eval_string(RandomIndex),"FromAccountDisplay" );
sprintf( RandomIndex,"{TRANSFER_%d}", 2 );//3
lr_save_string( lr_eval_string(RandomIndex),"TransferType" );
sprintf( RandomIndex,"{Accounts_%d}",4 );
lr_save_string( lr_eval_string(RandomIndex),"ToAccount" );
sprintf( RandomIndex,"{DisplayVal_%d}",4 );
lr_save_string( lr_eval_string(RandomIndex),"ToAccountDisplay" );
*/
for(iStart=2;iStart<=AcctsCount;iStart++)
{
//sprintf(DisplayName, "DisplayVal_%d", iStart);
//lr_paramarr_idx("DisplayVal", iStart);
if((char *)strcmp(lr_eval_string(lr_paramarr_idx("Accounts", iStart)), "")!=0)
{
lr_save_string(lr_paramarr_idx("Accounts", iStart), "FromAccount");
lr_save_string(lr_paramarr_idx("DisplayVal", iStart), "FromAccountDisplay");
lr_save_string(lr_paramarr_idx("TRANSFER", iStart), "TransferType");
secAcct=iStart+1;
break;
}
}
for(iStart=secAcct;iStart<=AcctsCount;iStart++)
{
//sprintf(DisplayName, "DisplayVal_%d", iStart);
//lr_paramarr_idx("DisplayVal", iStart);
if((char *)strcmp(lr_eval_string(lr_paramarr_idx("Accounts", iStart)), "")!=0)
{
lr_save_string(lr_paramarr_idx("Accounts", iStart), "ToAccount");
lr_save_string(lr_paramarr_idx("DisplayVal", iStart), "ToAccountDisplay");
//lr_save_string(lr_paramarr_idx("TRANSFER", iStart), "TransferType");
//secAcct=iStart+1;
break;
}
}
//Converting into Base-64 encoding
char *convert( char *src)
{
int dest_size;
char *deststr;
// Allocate dest buffer
dest_size = 1 + ((strlen(src)+2)/3*4);
deststr = (char *)malloc(dest_size);
memset(deststr,0,dest_size);
base64encode(src, deststr, dest_size);
return deststr;
}
void base64encode(char *src, char *dest, int len)
// Encodes a buffer to base64
{
char base64encode_lut[] = {
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q',
'R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h',
'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y',
'z','0','1','2','3','4','5','6','7','8','9','+','/','='};
int i=0, slen=strlen(src);
for(i=0;i
*(dest++)=base64encode_lut[(*src&0xFC)>>0x2];
*(dest++)=base64encode_lut[(*src&0x3)<<0x4 amp="" src="" xf0="">>0x4]; 0x4>
*(dest++)=((i+1)
*(dest++)=((i+2)
*dest='\0'; // Append terminator
}
//Preparing the query string & passing to base-64 encoding
char *getParam(char *str,
char *param1,
char *param2,
char *param3,
char *param4,
char *param5,
char *param6,
char *param7,
char *param8,
char *param9,
char *param10,
char *param11,
char *param12,
char *param13,
char *param14,
char *param15,
char *param16
//char *param17,
//char *param18,
//char *param19,
//char *param20
//char *param16)
{
char *temp;
char *src, *target;
char param[4000];
temp="";
src="";
target="";
temp=str;
strcpy(param,"");
strcat(param,temp);
strcat(param,param1);
strcat(param,param2);
strcat(param,param3);
strcat(param,param4);
strcat(param,param5);
strcat(param,param6);
strcat(param,param7);
strcat(param,param8);
strcat(param,param9);
strcat(param,param10);
//strcat(param, "&fromAccount=");
strcat(param,param11);
//strcat(param, "&toAccount=");
strcat(param,param12);
//strcat(param, "&paymentamount=");
strcat(param,param13);
//strcat(param, "&initiationDate=");
strcat(param,param14);
//strcat(param, "&estArrivalDate=");
strcat(param,param15);
//strcat(param, "&businessDate=");
strcat(param,param16);
//strcat(param,param17);
//strcat(param,param18);
//strcat(param,param19);
//strcat(param,param20);
src=(char *) param;
//lr_output_message(" Created param value %s",param);
target=convert(src);
return target;
}