LoadRunner中如何驗證下載的檔案大小、統計下載時間、度量下載速度?

TIB發表於2010-02-02

LoadRunner中的web_get_in_property函式可用於返回上一個HTTP請求的相關資訊,包括HTTP請求返回碼、下載大小、下載時間等:

The web_get_int_property function returns specific information about the previous HTTP request.

The meaning of the return value depends on the HttpInfoType argument. HttpInfoType can be any of the following options. The first constant in each pair (HTTP_*) is for C, the second (object.HTTP_*) is for object oriented languages.

HTTP_INFO_RETURN_CODE or object.HTTP_INFO_RETURN_CODE

The return code in HTTP response header.

HTTP_INFO_DOWNLOAD_SIZE or object.HTTP_INFO_DOWNLOAD_SIZE

The size (in bytes) of the last download, including the header, body, and communications overhead (for example, NTLM negotiation).

HTTP_INFO_DOWNLOAD_TIME or object.HTTP_INFO_DOWNLOAD_TIME

The time in (milliseconds) of the last download.

HTTP_INFO_TOTAL_REQUEST_STAT or object.HTTP_INFO_TOTAL_REQUEST_STAT

Returns the accumulated size of all headers and bodies since the first time web_get_int_property was issued with HTTP_INFO_TOTAL_REQUEST_STAT.

HTTP_INFO_TOTAL_RESPONSE_STAT or object.HTTP_INFO_TOTAL_RESPONSE_STAT

Returns the accumulated size, including header and body, of all responses since the first time web_get_int_property was issued with HTTP_INFO_TOTAL_RESPONSE_STAT

 

下面指令碼傳送HTTP請求下載一個PNG圖片,然後用web_get_int_property取得這次請求相關的資訊:

 

Action()

{

 

       int returnCode;

    float fFileDownloadSize, fFileDownloadTime, fFileDownloadRate;

 

    web_url("Image1",

                     "URL=http://localhost/welcome.png",

                     "Resource=1",

                     LAST);

 

       returnCode = web_get_int_property(HTTP_INFO_RETURN_CODE);     

       fFileDownloadSize = (web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE)/1024.); //in kilobytes

       fFileDownloadTime = (web_get_int_property(HTTP_INFO_DOWNLOAD_TIME)/1000.); //in seconds

       fFileDownloadRate = fFileDownloadSize/fFileDownloadTime; //in KB/s

 

       lr_output_message("Return Code = %d",returnCode);

       lr_output_message("Size of download was %.0f kilobytes; Time of download was %.3f seconds", fFileDownloadSize, fFileDownloadTime);

       lr_output_message("Rate of download was %.2f KB/sec", fFileDownloadRate);

 

       return 0;

}

 

 

參考:http://www.loadrunnertnt.com/how-tos/how-to-verify-file-downloaded/

相關文章