Loadrunner關聯(三)手動關聯

發表于:2009-07-14來源:作者:點擊數: 標簽:loadrunnerLoadRunnerLoadrunnerloadRunner
Loadrunner 關聯(三)手動關聯 手動關聯的過程大致如下: 第一步:錄制 測試 腳本,錄制二遍 第二步:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進行關聯 第三步:確定插入關聯的位置 第四步:在VIEW TREE中使用web_reg_save_param函數手動建立關聯

Loadrunner關聯(三)手動關聯

手動關聯的過程大致如下:

        第一步:錄制測試腳本,錄制二遍

        第二步:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進行關聯

        第三步:確定插入關聯的位置
        第四步:在VIEW TREE中使用web_reg_save_param函數手動建立關聯
        第五步:將腳本中有用到關聯的數據,用參數代替

        第六步:驗證關聯的正確性

        下面詳細介紹:

        第一步:

        錄制測試腳本,錄制二遍

        這一步就不用多說了,相同的操作,錄制兩份,分別保存

        第二步:

        使用WinDiff工具協助找出需要關聯的數據
        1. 在第二份腳本中,點選VuGen的【Tools】>【Compare with Vuser…】,并選擇第一份腳本。
        2. 接著WinDiff會開啟,同時顯示二份腳本,并顯示有差異的地方。WinDiff會以一整行黃色標示有差異的腳本,并且以紅色的字體顯示真正差異的文字。(假如沒看到紅色字體,請點選【Options】>【View】>【Show Inline Differences】)。

        查看二份腳本中差異的部份,每一個差異都可能是需要做關聯的地方。

        注意:lr_thik_time部分的差異可以忽略

        找到不同的部分后,復制,然后打開Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘貼差異部分的內容,點擊查找找到后,查看該部分的信息,確認是客戶端的請求信息還是服務器回應的信息

        如果出現在$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$這個部分,那證明是客戶端發出的請求,這里是不需要做關聯的

        一般做的關聯都是出現在****** Response Header For Transaction With Id 7 ******和****** Response Body For Transaction With Id 7 ******中的部分。

        在找到這個信息后,需要記錄如下信息:

        a.記錄這個不同數據之前的內容和之后的內容

        b.記錄這個不同數據出現的位置,是Header還是Body

        第三步:

        確認插入關聯的位置

        我們在日志中找到了兩次腳本的不同點的位置,根據這個位置,我們再確定是在哪個請求之后產生的,也就是說要定位發生不同點的response是由哪個request產生的,找到了這個請求的函數位置,我們就知道要往哪里做關聯了

        一般情況下關聯函數寫到發出請求的函數之前就可以了

        第四步:

        插入關聯函數

        在插入關聯函數前,我們先介紹關聯函數web_reg_save_param

          一個web_reg_save_param函數的例子:

clearcase/" target="_blank" >cccccc cellSpacing=0 cellPadding=1 width="80%" align=center bgColor=#ffffff border=1 heihgt="">
         web_reg_save_param ("sessionid",

              "LB=Session_id:",

              "RB=;",

              "Search=Body",

              LAST);

        在這里我們只介紹幾個常用參數的含義

        語法:int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);

 

參數說明:

        ParamName: 存放得到的動態內容的參數名稱

        list of Attributes: 其它屬性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。屬性值不分大小寫

        LB( Left Boundary ) : 返回信息的左邊界字串。該屬性必須有,并且區分大小寫。

        RB( Right Boundary ): 返回信息的右邊界字串。該屬性必須有,并且區分大小寫。

        Search : 返回信息的查找范圍??梢允荋eaders,Body,Noresource,All(缺省)。該屬性質可有可無。

        那么如何插入該關聯函數呢?

        1.將vugun切換到 view tree 模式下

        2.在左邊的列表中,找到在上一步發出請求的函數,點擊“右鍵”

        選擇“insert before”

        3.在彈出的“add step”對話框的“find function”中輸入“web_reg_save_param”,點擊“ok”

        在“parameter name”中輸入,關聯函數的名稱,這里最好有含義,“sessionid”

        在“left boundary”中輸入,剛才記錄下的不同點字符串的左面的幾個字符,定義左邊界,Session_id:

        在“right boundary”中輸入,剛才記錄下的不同點字符串的右面的幾個字符,定義右邊界,;

        在“search in ”中,選擇“body”

        點擊“ok”

        4.回到腳本編輯模式下,查看該函數插入是否正確

        在發出請求的函數前應該看到:

         web_reg_save_param ("sessionid",

              "LB=Session_id:",

              "RB=;",

              "Search=Body",

              LAST);

        第五步:

        將腳本中有用到關聯的數據,用參數代替

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

           web_submit_form("login.php_2",

              "Snapshot=t2.inf",

              ITEMDATA,

              "Name=login", "Value=wangjin", ENDITEM,

              "Name=password", "Value=wangjin", ENDITEM,

                "Name=Session_id","Value={ sessionid } ", ENDITEM,

              "Name=Submit", "Value=Login", ENDITEM,

              EXTRARES,

              "URL=/media/images/border_bg_l.gif", ENDITEM,

              "URL=/media/images/header_bg.gif", ENDITEM,

              "URL=/media/images/th.gif", ENDITEM,

              LAST);

        第六步:

        驗證關聯的正確性

        回放腳本,驗證關聯的正確性

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

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