Difference between revisions of "LoadRunner FAQ"

From PeformIQ Upgrade
Jump to navigation Jump to search
Line 82: Line 82:
=Capturing a Downloaded File=
=Capturing a Downloaded File=


Hmmm...
* 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 13: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

What is the Difference Between HTML and URL Based Recording?

See http://www.allinterview.com/showanswers/28156.html