用LoadRunner下載文件并保存到本地

發表于:2008-09-25來源:作者:點擊數: 標簽:loadrunnerloadRunnerLoadRunnerLoadrunner文件
論壇上經常有人問起,如何讓 LoadRunner 可以下載文件并保存在本地。 初看起來,這個問題應該不是問題:LoadRunner錄制的是Client(瀏覽器)和 服務器 之間的交互,自然也就能記錄到下載文件的動作和收到下載文件的全部內容,但如果真用LoadRunner去嘗試這樣
論壇上經常有人問起,如何讓LoadRunner可以下載文件并保存在本地。

        初看起來,這個問題應該不是問題:LoadRunner錄制的是Client(瀏覽器)和服務器之間的交互,自然也就能記錄到下載文件的動作和收到下載文件的全部內容,但如果真用LoadRunner去嘗試這樣一個工作,卻會發現在LoadRunner錄制的腳本中根本沒有任何與下載文件相關的語句。

        其實,在HTTP協議中,本來就沒有任何一個方法或是動作能夠標識“下載文件”這個動作,對HTTP協議來說,下載文件或是請求頁面,都只是一個GET方法,至于說我們下載文件時看到的那個提示我們給出用戶名的對話框,那完全是客戶端自身判斷到我們請求的是一個文件而自行處理的。

        那么,究竟該如何才能讓LoadRunner完成這個工作呢?

        通過上面的分析,我們已經知道了這樣一些事實:

1、文件請求是通過GET方法請求的;

2、LoadRunner已經記錄了客戶端發出的對文件的請求,并能夠收到文件內容;

        因此,我們完全可以通過關聯的方法,從LoadRunner發出的請求的響應中獲取到文件的內容,然后通過LoadRunner的文件操作方法,自行生成文件。

        從LoadRunner錄制時的記錄(Recording Log)中,我們可以看到具體的請求和請求的響應信息:

        從這里可以看到,我們只需要對以下語句進行關聯,就能獲得文件的內容。

web_url("viewfile.asp",
        
"URL=http://www.anti-gravitydesign.com/bbs/viewFile.asp?BoardID=25&ID=217",
        
"Resource=0",
        
"RecContentType=text/html",
        
"Referer=http://www.anti-gravitydesign.com/bbs/dispbbs.asp?boardID=25&ID=5187&page=1",
        
"Snapshot=t16.inf",
        
"Mode=HTML",
        EXTRARES,
        
"Url=viewFile.asp?BoardID=25&ID=217""Referer=http://www.anti-gravitydesign.com/bbs/dispbbs.asp?boardID=25&ID=5187&page=1", ENDITEM,
        LAST);

        獲得文件內容后,通過LoadRunner的fopen,fwrite,fclose函數,就可以將這部分內容保存成本地文件了。

    //獲取響應中的文件長度
    flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

    
if(flen > 0)    
    {
        
//以寫方式打開文件
        if((filedes = fopen("c:\\test.rar""wb")) == NULL)
        {
            lr_output_message(
"Open File Failed!");
            
return -1;
        }
        
//寫入文件內容
        fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
        
//關閉文件
        fclose(filedes);
    }

        點擊下載完整的腳本文件。

        注意,使用該腳本文件時,請自行修改參數username和passwd的值。

        當然,本腳本只是簡單實現了文件下載并保存本地的功能,如果我們希望每次下載保存到本地的文件采用不同的名稱,或是希望根據實際文件的后綴名動態生成后綴名,則還需要額外的工作。讀者可以自行思考如何實現。^_^

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97