Today I wanted to use parameterized transaction names within a LoadRunner script.
1) As I thought that a particular transaction was failing after a particular number of iterations.
2) For Capturing the response time of request having different keyword searches for each keyword
Luckily this was pretty simple in LoadRunner. It was just a case of using lr_eval_string in the call to the transaction wrapper.
lr_start_transaction(lr_eval_string("Do Something {IterationNo}"));
…
lr_end_transaction(lr_eval_string("Do Something {IterationNo}"), LR_AUTO);
Example
lr_start_transaction(lr_eval_string("Response Time for search of {Keyword_Param}"));
web_url("autoSuggestion",
"URL=http://lalitgarg.com/json/search/autoSuggestion?q={Keyword_Param}&catId=0&v=",
"TargetFrame=",
"Resource=1",
"RecContentType=application/json",
"Referer=",
"Snapshot=t1.inf",
LAST);
lr_end_transaction(lr_eval_string("
Response Time for search of {Keyword_Param}"), LR_AUTO);
You have to be careful above to make sure that start and end transaction names are the same. To overcome that problem I created a string variable to hold the LoadRunner transaction name.
char sTranName[20];
…
sprintf(sTranName,lr_eval_string("TransactionA_{pIteration}"));
lr_start_transaction(sTranName);
…
lr_end_transaction(sTranName,LR_AUTO);