Difference between revisions of "LoadRunner FAQ"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) |
PeterHarding (talk | contribs) |
||
Line 82: | Line 82: | ||
=Capturing a Downloaded File= | =Capturing a Downloaded File= | ||
* Set up a parameter to capure the entire page returned. | |||
* Determine its length. | |||
* Create a function to write this buffer to a file. | |||
e.g. | |||
<pre># int WriteDataToFile(char *szFileName, const char *szBuf, int len) | |||
# { | |||
# int hFile; | |||
# | |||
# hFile = fopen(szFileName,"wb"); | |||
# | |||
# if (hFile == NULL) | |||
# { | |||
# lr_error_message("Could't create or open the file: %s", szFileName); | |||
# return LR_FAIL; | |||
# } | |||
# | |||
# fwrite(szBuf, len, 1, hFile); | |||
# fclose(hFile); | |||
# | |||
# return LR_PASS; | |||
# } | |||
# | |||
# | |||
# Action() | |||
# { | |||
# char *szBuf; | |||
# unsigned long nLength; | |||
# | |||
# // Function web_set_max_html_param_len sets maximum length of any HTML string, | |||
# // that can be retrieved and saved as a parameter | |||
# // So, make sure new value is greater than a size of string (in our case - file) to be captured | |||
# web_set_max_html_param_len("100000"); | |||
# | |||
# web_reg_save_param("prmLogoImage", "LB=\r\n\r\n", "RB=", LAST); | |||
# | |||
# web_url("logo.gif", | |||
# "URL=http://www.google.com/intl/en_ALL/images/logo.gif", | |||
# "Resource=1", | |||
# "RecContentType=image/gif", | |||
# "Snapshot=t1.inf", | |||
# LAST); | |||
# | |||
# lr_eval_string_ext ("{prmLogoImage}", strlen("{prmLogoImage}") /* = 14*/, &szBuf, &nLength, 0, 0,-1); | |||
# lr_output_message("Parmeter length = %d",nLength); | |||
# | |||
# WriteDataToFile("C:\\LogoImage.gif", szBuf, nLength); | |||
# | |||
# return 0; | |||
# } | |||
</pre> | |||
See http://motevich.blogspot.com/2007/10/loadrunner-save-download-file-server.html | |||
=What is the Difference Between HTML and URL Based Recording?= | |||
See http://www.allinterview.com/showanswers/28156.html | |||
[[Category:LoadRunner]] | [[Category:LoadRunner]] |
Revision as of 14:11, 15 July 2008
LoadRunner FAQ
Also see Load Testing reference...
Transaction Functions
See manual section 'VuGen Function Reference > Utility Functions: C Language (LR) > Transaction Transaction Functions'.
Wasting Time
In the following segment, lr_start_timer and lr_end_timer are used to calculate the time spent on checks. This is then subtracted from the time spent on transaction "sampleTrans" with lr_wasted_time.
double time_elapsed, duration, waste; merc_timer_handle_t timer; lr_start_transaction("sampleTrans"); web_url("index.htm", "URL=http://localhost/index.htm", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST); timer = lr_start_timer(); // Do some checks the duration of which is not to be included in the transaction. web_image_check("ImgCheck1", "src=index_files/image002.jpg", LAST); web_image_check("ImgCheck2", "src=index_files/planets.gif", LAST); // How long did the tests take in seconds. time_elapsed = lr_end_timer(timer); // Convert to millisecond.s waste = time_elapsed * 1000; // Remove the time the checks took from the transaction. lr_wasted_time(waste); lr_end_transaction("sampleTrans", LR_AUTO);
Programmatically Controlling Logging
Use something like...
int log_profile = LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE | LR_MSG_CLASS_RESULT_DATA | LR_MSG_CLASS_PARAMETERS; ... lr_set_debug_message(log_profile, LR_SWITCH_ON); ... Code you want extended logging for ... lr_set_debug_message(log_profile, LR_SWITCH_OFF); ...
Capturing a Downloaded File
- Set up a parameter to capure the entire page returned.
- Determine its length.
- Create a function to write this buffer to a file.
e.g.
# int WriteDataToFile(char *szFileName, const char *szBuf, int len) # { # int hFile; # # hFile = fopen(szFileName,"wb"); # # if (hFile == NULL) # { # lr_error_message("Could't create or open the file: %s", szFileName); # return LR_FAIL; # } # # fwrite(szBuf, len, 1, hFile); # fclose(hFile); # # return LR_PASS; # } # # # Action() # { # char *szBuf; # unsigned long nLength; # # // Function web_set_max_html_param_len sets maximum length of any HTML string, # // that can be retrieved and saved as a parameter # // So, make sure new value is greater than a size of string (in our case - file) to be captured # web_set_max_html_param_len("100000"); # # web_reg_save_param("prmLogoImage", "LB=\r\n\r\n", "RB=", LAST); # # web_url("logo.gif", # "URL=http://www.google.com/intl/en_ALL/images/logo.gif", # "Resource=1", # "RecContentType=image/gif", # "Snapshot=t1.inf", # LAST); # # lr_eval_string_ext ("{prmLogoImage}", strlen("{prmLogoImage}") /* = 14*/, &szBuf, &nLength, 0, 0,-1); # lr_output_message("Parmeter length = %d",nLength); # # WriteDataToFile("C:\\LogoImage.gif", szBuf, nLength); # # return 0; # }
See http://motevich.blogspot.com/2007/10/loadrunner-save-download-file-server.html