示例#1
0
void fCaptureScreen (char* sTitleLeftBound, char* sTitleRightBound){
	char * sLB;
	char * sRB;

	if((sLB = (char *)malloc((strlen(sTitleLeftBound) + strlen("LB/IC=") + 2)* sizeof(char))) == NULL){
		lr_error_message("Out of memory error");
		lr_exit(LR_EXIT_VUSER,LR_FAIL);
	}else{
		sprintf(sLB,"LB/IC=%s", sTitleLeftBound);
		lr_output_message("TIVMsg: LB:%s", sLB);

	}

	if((sRB = (char *)malloc((strlen(sTitleRightBound) + strlen("RB/IC=") + 2)* sizeof(char))) == NULL){
		lr_error_message("Out of memory error");
		lr_exit(LR_EXIT_VUSER,LR_FAIL);
	}else{
		sprintf(sRB,"RB/IC=%s", sTitleRightBound);
		lr_output_message("TIVMsg: RB:%s", sRB);
	}

	web_reg_save_param("cPageTitle",
		sLB,
		sRB,
		"Notfound=warning",
	LAST);

	free (sLB);
	free (sRB);
}
示例#2
0
Action()
{
    GetSourceDataRegister();
    
    if( strcmp( lr_eval_string("{first_name}"), "") != 0)
	{
    // {first_name} is not null
     lr_output_message("%s %s Registered as a new customer", 
                      lr_eval_string("{first_name}"),
                      lr_eval_string("{last_name}"));
    
    lr_think_time(5);
    
    OutputUsedDataRegister();
    lr_output_message("New Customer %s %s is now awaiting approval", 
                      lr_eval_string("{first_name}"),
                      lr_eval_string("{last_name}"));
    
    lr_think_time(5);
	}
    
else
	{
    // {first_name} is null, wait for more data
    lr_output_message("No data for user login...waiting for 50 seconds.");
    lr_think_time(50);
    	
    lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_PASS);
	}   


    
    return 0;
}
示例#3
0
vi_set_RunType_attribute(){

	LPCSTR_RunType = lr_get_attrib_string("RunType"); // from run-time settings Attributes or command line.
 	if(LPCSTR_RunType==NULL){ // Not specified in Run-Time Settings Attributes or command line.
	   LPCSTR_RunType="All"; // =default.
			wi_startPrintingInfo();
		    lr_output_message(">> Attribute \"RunType\" not specified in command-line or run-time settings. Default to \"%s\"."
					,LPCSTR_RunType 
					);
			wi_stopPrinting();
	}else{ // Ensure only acceptable values were input:
		if( stricmp("All",LPCSTR_RunType ) == FOUND ){ // Run-time Attribute "RunType" or command line option "-RunType"
			wi_startPrintingInfo();
		    lr_output_message(">> Attribute \"RunType\"=%s."
					,LPCSTR_RunType 
					);
			wi_stopPrinting();
       	}else
		if( stricmp("NoOp",LPCSTR_RunType ) == FOUND ){ // Run-time Attribute "RunType" or command line option "-RunType"
			wi_startPrintingInfo();
		    lr_output_message(">> Attribute \"RunType\"=%s for no operation."
					,LPCSTR_RunType 
					);
			wi_stopPrinting();
		}else{
			wi_startPrintingError();
		    lr_output_message(">> Attribute \"RunType\"=%s not valid. lr_exit() stopping script execution."
					,LPCSTR_RunType 
					);
			wi_stopPrinting();
			lr_exit(LR_EXIT_VUSER,LR_FAIL);
		}
	} // if(LPCSTR_RunType==NULL)

	return LR_PASS;
} // vi_set_RunType_attribute()
EmployerCreateAccount()
{
	int savedcount, duplicatecount;
	web_set_sockets_option("SSL_VERSION", "TLS1.1");
		
	web_reg_save_param("AUTH_TOKEN_1", "LB=<meta name=\"csrf-token\" content=\"", "RB=\" />", LAST); 
	
	lr_start_transaction("INTEG_EMPLYR_0002_Click_on_Create_Account");

	web_url("Create account", 
		"URL={HTTP}://{EnrollAppLandingPage}/users/sign_up", 
		"TargetFrame=", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer={HTTP}://{EnrollAppLandingPage}/users/sign_in", 
		"Snapshot=t3.inf", 
		"Mode=HTML", 
		LAST);

	lr_end_transaction("INTEG_EMPLYR_0002_Click_on_Create_Account",LR_AUTO);
	
	lr_think_time(11);
	
	web_reg_save_param("AUTH_TOKEN_2", "LB=<meta name=\"csrf-token\" content=\"", "RB=\" />", LAST);
	web_reg_find("Text/IC=Your account has been created", "SaveCount=CreateAccountCount", LAST);

	lr_start_transaction("INTEG_EMPLYR_0003_Create_Account_Submit");
	
	web_submit_data("users", 
		"Action={HTTP}://{EnrollAppLandingPage}/users", 
		"Method=POST", 
		"TargetFrame=", 
		"RecContentType=text/html", 
		"Referer={HTTP}://{EnrollAppLandingPage}/users/sign_up", 
		"Snapshot=t4.inf", 
		"Mode=HTML", 
		"EncodeAtSign=YES", 
		ITEMDATA, 
		"Name=utf8", "Value=✓", ENDITEM, 
		"Name=authenticity_token", "Value={AUTH_TOKEN_1}", ENDITEM,  
		"Name=user[referer]", "Value={HTTP}://{EnrollAppLandingPage}/users/sign_in", ENDITEM, 
		"Name=user[email]", "Value={pEmpPrefix}{FEIN}@test.com", ENDITEM, 
		"Name=user[password]", "Value=Abcd!234", ENDITEM,
		"Name=user[password_confirmation]", "Value=Abcd!234", ENDITEM, 
		"Name=user[invitation_id]", "Value=", ENDITEM, 
		"Name=commit", "Value=Create account", ENDITEM, 	
		LAST);

	if (strcmp(lr_eval_string("{CreateAccountCount}"), "0") == 0)
	{
		lr_end_transaction("INTEG_EMPLYR_0003_Create_Account_Submit",LR_FAIL);
		lr_error_message("Failed to Create Account for::: %s%[email protected]", lr_eval_string("{pEmpPrefix}"), lr_eval_string("{FEIN}"));
		lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_AUTO);		
	}
	else
	{
		lr_log_message("Successfully created account for ::: %s%[email protected]", lr_eval_string("{pEmpPrefix}"), lr_eval_string("{FEIN}"));
		lr_end_transaction("INTEG_EMPLYR_0003_Create_Account_Submit",LR_PASS);
	}


	
	return 0;
}
示例#5
0
// --------------------------------------------------------------------------------------------------
// Usage: y_random_string_buffer("parameterNameWhichGetsTheRandomValue", minimumlength, maximumlength);
//
// ex. randomString("randomFeedback", 100, 200); will fill a parameter with between 100 and 200 characters.
// to use the random value, use the parameter name provided.
// To make it look like real sentences, this function inserts spaces at random.
// The "words" will be minimal 1 character long, and max. 8 characters.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//        example usage:     
//            y_random_string_buffer("par1", 10,10);   // creates a string of exactly 10 characters and saves it into string {par1}
//            y_random_string_buffer("par1", 5,10);    // creates a string of min 5 and max 10 char and saves it into string {par1}    
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
y_random_string_buffer(const char *parameter, int minimumLength, int maximumLength)
{
   const char characterSet[] = { 
                     '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'};
                     /*
                     '1','2','3','4','5','6','7','8','9','0','?','!','-',
                     ',','.',';',
                     '`','~','@','#','$','%','^','&','*','(',')',
                     '=','_','+','[',']','{','}','|',':','/',
                     '<','>',  };
                     */

   char *buffer;
   int charSetSize = 52; // length of the above array
   int length = 0;
   int max = 0;

   char randomNumber;
   int lettersInWord;

   // error checks - lots of code that saves us headaches later
   if( minimumLength < 1 ) {
      lr_error_message( "minimumLength smaller than 0 (%d)", minimumLength );
   }
   else if( maximumLength < 1 ) {
      lr_error_message( "maximumLength smaller than 0 (%d)", maximumLength );
   }
   else if( maximumLength > (1024 * 1024) ) {
      lr_error_message( "maximumLength too big (%d)", maximumLength );
   }
   else if( maximumLength < minimumLength ) {
      lr_error_message( "minimumLength (%d) bigger than maximumLength (%d)", minimumLength, maximumLength );
   }
   else if(maximumLength > minimumLength) {
      // Not an error
      max = (y_rand() % (maximumLength-minimumLength)) + minimumLength;
   }
   else if(maximumLength == minimumLength) {
      // Not an error either
      max = maximumLength;
   }
   else {
      lr_error_message("This can never happen. If we reach this point it's a bug.");
   }

   // if we got an error
   if( max == 0 )
   {
      lr_set_transaction_status(LR_FAIL);
      // Not sure this is the right exit code that we want to use here, but ok.
      lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_FAIL);
   }
   
   // get memory for the buffer
   buffer = (char *)y_mem_alloc( max +1 );
   // note: if this fails y_mem_alloc() aborts the script, so no error handling needed.

   while( length < max )
   {
      lettersInWord = ((y_rand() % 8) + 2);

      while( lettersInWord-- && (length < (max)) )
      {
         randomNumber = (char) (y_rand() % charSetSize);
         buffer[length++] = characterSet[randomNumber];
      }

      if(length!=max)
      {
          buffer[length++] = ' ';
      }
   }

   buffer[length++] = '\0';

   lr_save_string(buffer, parameter);
   free(buffer);

   return 0;
}
示例#6
0
/*!
This function uses a given set of characters to create words, separated by spaces.
The words are minimal \e minWordLength characters long, and maximum \e minWordLength characters.
The total length of the line is minimal \e minimumLength and maimum \e maximumLength long.

\b Example:
\code
// Generates a string of minimal 3 and max 20 characters, 
// with words of minimal 1 and maximal 3 charactes.
// Chooses only characters a, c, d or d.
y_random_string_buffer_core("uitvoer", 3,20, 1, 3, "abcd");

// Generates some sort of mock morse-code of exactly 30 characters.
// with words of minimal 1 and maximal 3 charactes.
// Chooses only characters a, c, d or d.
y_random_string_buffer_core("uitvoer", 3,20, 1, 3, "abcd"); // could result in "ccc db dac c"
\endcode

@param[out] parameter Name of the LR-parameter in which the result is stored
@param[in] minimumLength Minumum length of the string
@param[in] maximumLength Maximum length of the string
@param[in] minWordLength Minimum length of the words within the string
@param[in] maxWordLength Minimum length of the words within the string
@param[in] characterSet The string is build from this string of characters
\return void
\author Floris Kraak / Raymond de Jongh

\sa y_random_number_buffer
\sa y_random_string_buffer_curses
\sa y_random_string_buffer
\sa y_random_string_buffer_hex
*/
void y_random_string_buffer_core(const char *parameter, int minimumLength, int maximumLength, 
                                 int minWordLength, int maxWordLength, char *characterSet)
{
   char *buffer;
   int charSetSize; // length of the characterSet
   int length = 0;
   int max = -1;

   char randomNumber;
   int lettersInWord;

   charSetSize=strlen(characterSet);

   //lr_message("minimumLength %d -- maximumLength %d -- minWordLength %d -- maxWordLength %d", 
   //      minimumLength, maximumLength, minWordLength, maxWordLength);

   // error checks - lots of code that saves us headaches later
   if( minimumLength < 0 ) {
      lr_error_message( "minimumLength less than 0 (%d)", minimumLength );
   }
   else if( maximumLength < 1 ) {
      lr_error_message( "maximumLength less than 1 (%d)", maximumLength );
   }
   else if( maximumLength > (1024 * 1024) ) {
      lr_error_message( "maximumLength too big (%d)", maximumLength );
   }
   else if( maximumLength < minimumLength ) {
      lr_error_message( "minimumLength (%d) bigger than maximumLength (%d)", minimumLength, maximumLength );
   }
   else if(maximumLength > minimumLength) {
      // Not an error
      max = y_rand_between(minimumLength, maximumLength);
      lr_log_message("Max: %d", max);
   }
   else if(maximumLength == minimumLength) {
      // Not an error either
      max = maximumLength;
   }
   else {
      lr_error_message("This can never happen. If we reach this point it's a bug.");
   }

   // if we got an error
   if( max < 0 )
   {
      lr_set_transaction_status(LR_FAIL);
      lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_FAIL);
   }

   // get memory for the buffer
   buffer = (char *)y_mem_alloc( max +1 );
   // note: if this fails y_mem_alloc() aborts the script, so no error handling needed.

   while( length < max )
   {
//      lr_message("Length: %d   max: %d", length, max);
//      lettersInWord = ((y_rand() % 8) + 2);
      if( maxWordLength == 0 )
      {
         lettersInWord = maximumLength;
      }
      else
      {
         lettersInWord = y_rand_between(minWordLength, maxWordLength);
         if( lettersInWord < 0 )
         {
            lr_error_message( "y_rand_between() returned an errorcode (%d)", lettersInWord );
            lr_set_transaction_status(LR_FAIL);
            lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_FAIL);
         }
      }

      while( lettersInWord-- && (length < (max)) )
      {
         randomNumber = (char) (y_rand() % charSetSize);
         buffer[length++] = characterSet[randomNumber];
      }

      if( maxWordLength != 0 )
      {
         if( length < max -1 )
         {
            buffer[length++] = ' ';
         }
      }
   }
   buffer[max] = '\0';

   lr_save_string(buffer, parameter);
   free(buffer);
}
示例#7
0
vi_set_URLSource_attribute(){

	int rc=LR_PASS;
	
	   LPCSTR_URLSource = lr_get_attrib_string("URLSource"); // from run-time settings Attributes or command line "-URLSource".
 	if(LPCSTR_URLSource==NULL){ // Not specified in Run-Time Settings Attributes or command line.
		     iURLSource_setting=iURLSource_default;

			wi_startPrintingInfo();
		    lr_output_message(">> Attribute \"URLSource\" not specified in command-line or run-time settings. Default to \"%d\".", iURLSource_setting );
			wi_stopPrinting();
	}else{ // Ensure only acceptable values were input:
		if( stricmp("All",iURLSource_setting ) == FOUND ){ // Run-time Attribute "URLSource" or command line option "-URLSource"
			wi_startPrintingInfo();
		    lr_output_message(">> Attribute \"URLSource\"=%s."
					,iURLSource_setting
					);
			wi_stopPrinting();
       	}else
		if( iURLSource_setting == 1 ){
			wi_startPrintingInfo();
		    lr_output_message(">> Attribute \"URLSource\"=%s for using file URLtoShorten.dat in script folder." ,iURLSource_setting );
			wi_stopPrinting();

		#ifdef USE_VTS
       	}else
		if( iURLSource_setting == 2 ){
			wi_startPrintingInfo();
		    lr_output_message(">> Attribute \"URLSource\"=%s for using VTS." ,iURLSource_setting);
			wi_stopPrinting();
		#endif // USE_VTS
		
		}else{
			wi_startPrintingError();
		    lr_output_message(">> Attribute \"URLSource\"=%s not valid. lr_exit() stopping script execution." ,iURLSource_setting );
			wi_stopPrinting();
			lr_exit(LR_EXIT_VUSER,LR_FAIL);
		}
	} // if(iURLSource_setting==NULL)

	// Regardless of iURLSource_setting selection,
	// define number of records in file (for all iURLSource_setting options because this is the fall-back):
	    nURLtoShorten_file_recs = vi_set_pURLtoShorten_file_recs();
	if( nURLtoShorten_file_recs == -1 ){
		lr_error_message("> vi_set_pURLtoShorten_file_recs() nURLtoShorten_file_recs=%d",nURLtoShorten_file_recs);
	}else{
	  	wi_startPrintingInfo();
		lr_output_message(">> nURLtoShorten_file_recs=%d.", nURLtoShorten_file_recs);
		wi_stopPrinting();
	}

	#ifdef USE_VTS
    if( iURLSource_setting == 2 ){
	    rc=vi_set_VTS3(); // Find the count of records in VTS table into nVTS_row_count.
		if( rc != LR_PASS ){
	    	// TODO: 12. If you prefer, if VTS cannot be used, change coding to error out instead of falling back if records were found earlier:
	    	if( nURLtoShorten_file_recs > 0 ){ // if records were found earlier?
				iURLSource_setting = 1; // use local data source
				
				wi_startPrintingInfo();
				lr_output_message(">> rc=%d fall-back to local data source with nURLtoShorten_file_recs=%f when iURLSource_setting=%d.", rc, nURLtoShorten_file_recs, iURLSource_setting);
				wi_stopPrinting();
			}
	    }else{
			// Add column "shorturl" to VTS for holding output from Google API calls:
			rc = vtc_create_column (pvci, "shorturl", &status); // status=1 is success.
				wi_startPrintingDebug();
				lr_output_message(">> rc=%d from vi_set_VTS3() with status=%d (should=1) when iURLSource_setting=%d.", rc, status, iURLSource_setting);
				wi_stopPrinting();
			if( status == 1 ){
				iUpdate_shorturl_in_VTS = 1; // 1=Yes

				wi_startPrintingInfo();
				lr_output_message(">> rc=%d with status=%d (should=1), so iUpdate_shorturl_in_VTS =%d (1=1Yes).", rc, status, iUpdate_shorturl_in_VTS );
				wi_stopPrinting();
			}else{
				iUpdate_shorturl_in_VTS = 0; // 0=No

				wi_startPrintingInfo();
				lr_output_message(">> rc=%d with status=%d (should=1), so iUpdate_shorturl_in_VTS =%d (0=NO).", rc, status, iUpdate_shorturl_in_VTS );
				wi_stopPrinting();
			}
	    }
    }
	#endif // USE_VTS

	return LR_PASS;
} // vi_set_URLSource_attribute()
ConsumerRole()
{
	
	web_reg_find("Text=Please answer the following questions",
	             "SAVECOUNT=ConsumerMatch",
	             	LAST);
	
	/*Correlation comment - Do not change!  Original value='{consumer_role_id}' Name ='consumer_role_id' Type ='Manual'*/
	web_reg_save_param_regexp(
		"ParamName=consumer_role_id",
		"RegExp=consumer_role/(.*?)/",
		SEARCH_FILTERS,
		"Scope=Headers",
		"IgnoreRedirections=No",
		"RequestUrl=*/consumer_role*",
		LAST);
	
	/*Correlation comment - Do not change!  Original value='{person_id}' Name ='person_id' Type ='Manual'*/
	web_reg_save_param_regexp(
		"ParamName=person_id",
		"RegExp=edit_person_(.*?)\"\\ enctype",
		SEARCH_FILTERS,
		"Scope=Body",
		"IgnoreRedirections=Yes",
		"RequestUrl=*/edit*",
		LAST);
	
	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897900300' Name ='NaturalizationCertElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=NaturalizationCertElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);
	
	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897910300' Name ='CertOfCitizentshipElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=CertOfCitizentshipElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);
	
	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897920300' Name ='ReentryPermitElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=ReentryPermitElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);	

	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897930300' Name ='PermanentResidentCardElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=PermanentResidentCardElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);		

	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897940300' Name ='RefugeeTravelDocumentElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=RefugeeTravelDocumentElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);
	
	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897950300' Name ='ArrivalDepartureRecordElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=ArrivalDepartureRecordElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);	

	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897960300' Name ='ForeignPassportArrivalDepartureRecordElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=ForeignPassportArrivalDepartureRecordElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);

	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897970300' Name ='ImmigrantVisaElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=ImmigrantVisaElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);	

	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897980300' Name ='TemporaryI-551StampElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=TemporaryI-551StampElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);

	/*Correlation comment - Do not change!  Original value='55fc255b69702d4897990300' Name ='CertOfEligibilityForNonimmigrantElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=CertOfEligibilityForNonimmigrantElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);
	
	/*Correlation comment - Do not change!  Original value='55fc255b69702d48979a0300' Name ='OtherWithAlienNumberElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=OtherWithAlienNumberElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);

	/*Correlation comment - Do not change!  Original value='55fc255b69702d48979b0300' Name ='UnexpiredForeignPassportElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=UnexpiredForeignPassportElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);

	/*Correlation comment - Do not change!  Original value='55fc255b69702d48979c0300' Name ='DS2019ElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=DS2019ElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*",LAST);
	
	/*Correlation comment - Do not change!  Original value='55fc255869702d486b5f0300' Name ='emailAddressElementID' Type ='Manual'*/
	web_reg_save_param_regexp("ParamName=emailAddressElementID","RegExp=type=\"hidden\"\\ value=\"(.*?)\"\\ name","Ordinal=4",
		SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=Yes","RequestUrl=*/edit*", LAST);
	
	lr_start_transaction("INTEG_UNASSISTED_0012_Consumer_Role");	
	
	web_submit_data("consumer_role",
	                "Action={enrollPreprodURL}/insured/consumer_role?person%5Bdob%5D=1978-01-01&person%5Bfirst_name%5D=Test&person%5Bgender%5D=male&person%5Blast_name%5D={applicantName}&person%5Bmiddle_name%5D=L&person%5Bname_sfx%5D=&person%5Bno_ssn%5D=0&person%5Bssn%5D={applicantSSN}&person%5Buser_id%5D={UserID}",
	                "Method=POST",
	                "RecContentType=text/html",
	                "Referer={enrollPreprodURL}/insured/consumer_role/match?utf8=%E2%9C%93&people%5Bid%5D=&person%5Bfirst_name%5D=Test&person%5Bmiddle_name%5D=L&person%5Blast_name%5D={applicantName}Test&person%5Bname_sfx%5D=&person%5Bdob%5D=1978-01-01&jq_datepicker_ignore_person%5Bdob%5D=01%2F01%2F1978&person%5Bssn%5D={applicantSSN}&person%5Bno_ssn%5D=0&person%5Bgender%5D=male",
	                "Snapshot=t71.inf",
	                "Mode=HTML",
	                ITEMDATA,
	                "Name=_method", "Value=post", ENDITEM,
	                "Name=authenticity_token", "Value={authenticity_token}", ENDITEM,
		          LAST);
	
	if (strcmp(lr_eval_string("{ConsumerMatch}"), "0") > 0)
	{
			lr_end_transaction("INTEG_UNASSISTED_0012_Consumer_Role",LR_PASS);
	}
	else
	{
			lr_end_transaction("INTEG_UNASSISTED_0012_Consumer_Role",LR_FAIL);
			lr_error_message("Failed to get Consumer Role msg for User %s", lr_eval_string("{applicantName}"));
			lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_AUTO);
	}
//	lr_end_transaction("INTEG_UNASSISTED_0012_Consumer_Role", LR_AUTO);
	
	return 0;

}