Loadrunner11的手動關聯問題

From:http://sujing1981.blog.163.com/blog/static/27025145201282523323667/

參考文獻1:http://wenku.baidu.com/link?url=lgJJl-goxT215ybQkZ9TCZXrSOX8m-yosWzX8UBggwmK096a5KtcfKYDYHX24vcMhjmd43_PQ5e7NQ9RfsdjsrJbN18SQONVQ9qz_iPWlf_

    今天在學習LoadRunner11-中文教程的時候遇到一個問題。第5課解決常見回放問題中第一次涉及到關聯問題。文檔中講的那個是“自動關聯”。我按照那個方法做了,無奈自動關聯的值總是不會出現。在網上查了各種資料,最後弄明白原來這個是Loadrunner11的一個Bug,原來好多朋友都遇到過,有人說是有時候出現,有時候不出現。可能偶的rp差了點,這個值從來就沒出現過。沒辦法,只能用手動關聯了。網上有個朋友的日誌裏解決的過程記錄的特別詳細,我照着做的,成功了。這裏就偷個懶,直接拿過來用了。記錄我今天一下午的成果,O(∩_∩)O~  

手動關聯的一般步驟:

1、錄製兩次相同的腳本;

2、使用loadrunner自帶的WDiff(Tools->Compare with script)工具,找出兩次腳本錄製的不同之處,判斷是否需要關聯;

3、確定插入關聯的位置;

4、在腳本視圖中插入web_reg_save_param函數建立手動關聯;

5、將腳本中需要建立關聯的數據用參數替換;

6、驗證關聯的正確性。

下面詳細介紹步驟:

1、錄製完一次腳本並保存,這裏保存爲basic_tutorial_1(錄製的步驟根據loadrunner 11 幫助文檔上的實例);

2、再次進行相同的步驟進行第二次錄製,保存爲basic_tutorial_2,點擊【Tools】->【Compare with script】,彈出文件選擇框,選中名爲basic_tutorial_1的文件。

3、WDiff會開啓,同時顯示二份腳本,並顯示有差異的地方。WDiff會以一整行黃色標示有差異的腳本,並且以紅色的字體顯示真正差異的文字。(假如沒看到紅色字體,請點選【Options】>【View】>【Show Inline Differences】)。

查看二份腳本中差異的部份,每一個差異都可能是需要做關聯的地方,lr_thik_time部分的差異可以忽略。(詳見參考文獻1)

找到不同的部分,然後在輸出窗口的【Generation Log】中按Ctrl+F,在查找窗口中粘貼差異部分的內容,點擊查找找到後,查看該部分的信息,確認是客戶端的請求信息還是服務器迴應的信息。
如果出現在****** Request Header For Transaction With Id 3 ******等類似的部分中,那證明是客戶端發出的請求,這裏是不需要做關聯;一般做的關聯都是出現在****** Response Body For Transaction With Id 13 ******等類似的Response部分的內容,找到這個信息,記錄如下內容:

A、記錄這個不同數據之前的內容和之後的內容,如這裏的不同數據是帶紅色部分(<input type=hidden name=userSession value=106846.044795464ftQfiQDptcQVzzzHDcQHfpDzAfHf>)那麼它的左邊界就是"<input type=hidden name=userSession value=",而右邊界就是">"(邊界內容越詳細越好)。

B、記錄這個不同數據出現的位置,是Header還是Body。

4、確認插入關聯的位置:

需要重新運行一次腳本,運行前先點擊【Vuser(U)】->【Run-time Settings】->[Log],將【Log】中的【Enable logging】勾選上,選擇【Extended log】,將【Extended log】中的選項全部勾選上。

重新運行完腳本後,點擊輸出窗口的【Replay Log】,按CTRL+F,粘帖上<input type=hidden name=userSession value=然後找到兩次錄製腳本不同點的位置,即如下這一行數據,雙擊此處,在腳本中的位置之前就是需要插入關聯函數的地方。

Action.c(4): <input type=hidden name=userSession value=106853.155690563ftQzcfQpVQfiDDDDDcQHHpfffVHf>\n

5、插入關聯函數:

右擊上一步驟中,搜索到的腳本位置,在其上方的空白處右擊,【插入】->【新建步驟】,彈出添加步驟輸入框,輸入“web_reg_save_param”,點擊確定,彈出將數據保存到參數中輸入框,在參數名中輸入“UserSession”,左邊界“<input type=hidden name=userSession value=”,右邊界“>”,勾選搜索範圍,選擇“正文”,然後點擊確定。
成功插入後應看到如下的正確函數:

web_reg_save_param("UserSession",
"LB=input type=hidden name=userSession value=",
"RB=>",
"Search=Body",
LAST);
6、將腳本中有用到關聯的數據,用參數代替

如發出請求的參數如下,那麼將原來服務器返回的動態值使用{ UserSession } 來替換

7、最後驗證關聯的正確性:
  回放腳本,驗證關聯的正確性。


來源:http://www.51testing.com/?uid-523415-action-viewspace-itemid-821644
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章