Monday 26 May 2014

Creating dll files and using it in LoadRunner scripts

     Creating DLLs have tons of advantage, especially when you want to take your scripts away from the beaten path. 
 
Below is the code that created in VC++:


#include "stdafx.h"
#include "C:\Program Files\HP\LoadRunner\include\lrun.h"

extern "C" __declspec( dllexport ) int lr_searchReplace(char* inputStr, char* outputStr, char lookupChar,
char repChar);


int lr_searchReplace(char* inputStr, char* outputStr, char lookupChar, char repChar)
{

char *ptr =inputStr;
char xchar;
int len=0;
int i=0;

lr_output_message("%s",inputStr);
xchar = *ptr;//Copy initial
len=strlen(inputStr);
while (len>0)
{

len--;
xchar = *ptr;
if(xchar==' ')
{
inputStr[i]= repChar;

}

ptr++;
i++;

}

lr_save_string(inputStr,outputStr);
lr_output_message("%s",inputStr);

return 0;
}


Before attempting to build this dll project in VC++, ensure that you have included lrun50.lib in the
aditional linker file settings which is in Project Options, else the project won't successfully build/compile.
lrun.lib should be present inside 
\lib folder. Also make sure you include the lrun.h header file as shown in
the above code snippet.

After the project is built, dig into the debug folder to find the dll file and then copy it inside the LoadRunner
script folder and use it as shown below:

Action()
{
lr_load_dll("SearchNReplace.dll");
lr_save_string("this is a dummy text", "cProjectName");
r_searchReplace(lr_eval_string("{cProjectName}"), "convProjName", ' ', '+');
lr_output_message("%s",lr_eval_string("{convProjName}"));
return 0;
}

No comments:

Post a Comment