LoadRunner 技巧之 自動關聯


   

  這一節講loadunner 關聯的問題,其實這個東西理解起來簡單,但說起來比較麻煩。

 

關聯的原理:                                                                                            

  先來模擬一個場景,我去坐火車,坐火車要先檢票,檢票員核對火車票的時間、班次等信息正確后允許我坐火車。

  過了幾天,我又拿着一張票去坐火車,檢票員再一次核對火車票信息,發現這張票過期了,肯定不讓我坐了。那我怎么才能坐火車呢?我先看看旁邊那哥們的火車票上的信息,然后把自己的查票塗改成和他一模一樣再去坐火車。

  在我們錄制測試腳本時也經常會遇到這樣的情況:錄制的時候,服務器會給一個唯一的認證碼來進行操作,當再次回放腳本的時候服務器又會給一個全新的認證碼,而腳本錄制是死的,還是拿老的認證碼提交,從而導致腳本執行時失敗。

 

下面詳細來分析一下錄制與回放的過程

錄制過程:

 

1、輸入用戶名密碼登錄

2、服務器端返回一個sesiionID@@@12345

3、客戶端拿着獲得sesiionID@@@12345進一步請求服務器信息。

4、服務器返回客戶端想要的信息

回放過程:

1、輸入用戶名密碼登錄

2、客戶端返回新的sesiionID@@@23456

3、因為腳本中的sesiionID@@@12345 是寫死的,所以我們會依然拿着老的sesiionID@@@12345去向服務器請求信息

4、服務器你經過驗證發現你的sesiionID@@@12345 是錯誤的。

 

 

為了確保腳本回放的成功,我們需要獲得服務器每次返回的動態的sesiionID,再將這個動態數據發回給服務器。而關聯能夠幫助我們將服務器返回的數據進行處理並保存為參數。

 

OK!通過上面的分析,我們大概明白的關聯的原理,下面要解決的問題就是如何設置關聯。關聯的三種方法:

  • 自動關聯
  • 手動關聯
  • 一邊錄制一邊關聯

 

 

自動關聯                                                                                                    

 

在錄制腳本之后打開recording Options 窗口,點擊correlation標簽頁。確保Enable correlation during recording 選項處於勾選狀態。

 

LoadRunner 自帶WebTours為例設置關聯,

訪問WebTours首頁,點擊administration 鏈接, 設置 Set LOGIN form's action tag to an error page. 勾選更新。

 

錄制WebTours登錄與退出腳本:

Action()
{

    web_url("WebTours", 
        "URL=http://127.0.0.1:2080/WebTours/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        LAST);

    web_url("favicon.ico", 
        "URL=http://127.0.0.1:2080/favicon.ico", 
        "Resource=1", 
        "Referer=", 
        LAST);

    web_submit_data("login.pl", 
        "Action=http://127.0.0.1:2080/WebTours/login.pl", 
        "Method=POST", 
        "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=userSession", "Value=110381.833940867fzHHHzfpfiDDDDDDDtAzzpfQDf", ENDITEM, 
        "Name=username", "Value=test", ENDITEM, 
        "Name=password", "Value=123456", ENDITEM, 
        "Name=JSFormSubmit", "Value=on", ENDITEM, 
        LAST);

    web_submit_data("login.pl_2", 
        "Action=http://127.0.0.1:2080/WebTours/login.pl", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home", 
        "Snapshot=t2.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=userSession", "Value=110381.833940867fzHHHzfpfiDDDDDDDtAzzpfQDf", ENDITEM, 
        "Name=username", "Value=test", ENDITEM, 
        "Name=password", "Value=123456", ENDITEM, 
        "Name=JSFormSubmit", "Value=on", ENDITEM, 
        "Name=login.x", "Value=52", ENDITEM, 
        "Name=login.y", "Value=1", ENDITEM, 
        LAST);

    web_image("SignOff Button", 
        "Alt=SignOff Button", 
        "Snapshot=t3.inf", 
        LAST);

    return 0;
}

 

回放腳本出錯: 

Action.c(47): Error -27987: Requested image not found      [MsgId: MERR-27987]
Action.c(47): web_image("SignOff Button") highest severity level was "ERROR", 0 body bytes, 0 header bytes      [MsgId: MMSG-26388]

 

 

選擇菜單欄Vuser ---> Scan Script for Correlations (快捷鍵ctrl + F8 )彈出下面窗口

掃描相關性可能需要幾分鍾,你想繼續么? 當然,點擊“YES

選中需要關聯的內容,點擊“ remove Correlation 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM