溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LR中關聯總結

發(fā)布時間:2020-06-29 13:49:11 來源:網絡 閱讀:705 作者:hxlb2012 欄目:軟件技術

.關聯介紹:

         LR錄制的腳本只是忠實記錄了所有從客戶端發(fā)送到服務器端的數據,并在腳本回放的時候按照錄制的順序將錄制下來的數據重新發(fā)送出去。但是,實際上許多的系統(tǒng)都采用SessionID或SeqID等方法來標識不同的任務和數據報,應用在每次運行時發(fā)送的數據并不完全相同。所以,為了讓腳本能夠支持測試的需求,就必然要用某種機制對腳本的數據進行出來了??傊痪湓挘和ㄟ^關聯可以在測試中保持動態(tài)值。

   二.一般的關聯步驟:

      1.從服務器返回的數據中選取需要進行關聯的數據。

      2.將該數據存入腳本的一個參數中

      3.將腳本中需要使用該數據的地方用參數來替換。

     Tip:對于web來說,一般會用一個hidden 的 field存放。所以在可以服務器返回的記錄查找該字段值。

    三:關聯的目的:

       1.簡化或優(yōu)化代碼

        例如,如果依次執(zhí)行一系列的相關查詢,您的代碼可能會變得很長。為了減少代碼的大小,可以嵌套查詢,但這樣會失去準確性,而代碼會變得復雜而難以理解。通過關聯語句,不需要嵌套就可以鏈接查詢。

       2.用于動態(tài)數據       

       許多應用程序和網站當前日期和時間標識會話。如果嘗試重播腳本,該操作將會失敗,應為當前時間與錄制時間不同(LR自帶的WEB演示程序)。通過關聯數據可以保存動態(tài)數據,并在整個方案過程中使用這些數據。

     四:關聯操作

     方法一:自動關聯

        1.Tools -Recording Options。

        2.設置完成后錄制登陸 - 退出過程。

        3.利用LR自帶的自動關聯進行關聯。

     方法二:手動關聯

           1:錄制測試腳本,錄制二遍

   2:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進行關聯(Tools下的 Compare with Vuser進行2個相同操作的腳本對比)

   3:確定插入關聯的位置

        4:在VIEW TREE中使用web_reg_save_param函數手動建立關聯

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

    6:驗證關聯的正確性

     五:定位需要關聯操作

         1.Vuser -Scan Script. for Correlations

         2.在Server Response 中進行比對2次服務器變化的數值。

      六:常見的需要關聯的場景

         1.登錄操作。

         2.先查后修改,先差后刪除。

         3.并發(fā)控制:防止2個用戶同時修改或同時刪除一條記錄。

      七:關聯函數模型

       int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);  成功返回:LR_PASS(0),失敗LR_FAIL(1)

        例子:web_reg_save_param ("Test","LB=userSession Value","LB=>","Ord=1"

               "RelFrameID=1.21","Serch=Body","IgoreRedirections=Yes",LAST);

  八:手動關聯總結

   1、正常情況下的手動關聯:web_reg_save_param("SessionId"," LB =value=\""," RB =\">", LAST );

     LR:所需截取字符串的左邊界

     RB:所需截取字符串的右邊界

     如果左右邊界中存在各種特殊字符,如雙引號等,則需先用\進行轉義

     一般情況下,如果所截字符串的左右邊界比較唯一的話,可以直接用上面的方式進行獲取,無需設置別的屬性

    了。(“LAST”是固定的。。。)

   2、如果進行關聯后,有報錯信息,提示參數化未成功,有可能是以下幾方面的原因:

     1)左右邊界取值不正確,可以進入Generation log中,查看在關聯的參數左右邊界是否正確

     2)關聯函數的位置放置錯誤

     可以將log設置成輸出Extended log。

     設置方法為:Vuser->Run-time Settings->Log屬性中,選中Extended log 并選中下面三個日志。

     在輸出的日志中找到所要關聯化的參數第一次的輸出位置(注意是response返回的值,不是request中的),

    對照左側的腳本行數,將關聯函數放在此行數之前,即可。

    3、關聯沒問題,運行時無報錯,可就是得不到參數的值,可以從Extended log中找到原因。

    將Replay Log中的日志改為輸出Extended log->Parameter substitution日志,再重新運行一次,便可看到

    所關聯參數的變化情況。

   4.如果某個參數關聯成功,可是運行時卻發(fā)現還會報錯,那么可以考慮一下是不是因為有別的值跟你所截取的

這個參數相關聯,隨著那個值的變化,你所截取的這個參數也會進行某一方面的變化,那樣的話就需要將那個變化的值

同樣進行參數化。也有可能是被關聯的參數被HTTP請求多次返回,每次界面引用的值都不同,注意通關抓包來分析


九、關聯中常用的轉義內容

   \b Backspace鍵

   \f 換頁

   \n 換行

   \r 回車

   \t 水平制表符

   \v 垂直制表符

   \' 單引號標記

   \" 雙引號標記

   \\ 反斜線

   \? 文本問號




向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI