LoadRunner web_reg_save_param RelFrameID 屬性說明。

來源:互聯網
上載者:User

     

      RelFrameID:(個人理解)在使用關聯函數時,通過此參數確認使用哪個頁面的資料作關聯。

      原因和web_reg_save_param工作原理有關,函數中有reg 說明它是個註冊函數,註冊函數工作原理與普通函數不同,它註冊並提供的一項服務,每當有網頁下載完成,那麼只要你在指令碼中註冊了web_reg_save_param,那麼它就會觸發它的參數關聯驗證功能,會去尋找資料 。

     舉一個具體的例子:我們使用web_url("www.xxx.com",LAST)去訪問獲得網站的資源,在實際下載時,下載的可能不只一個頁面,有時候可能會下載一個或者多個iframe,或者有驗證碼的頁面被調用等等。這時候下載的頁面就不止一個了。那麼web_reg_save_param如何去識別使用哪個頁面呢,靠的就是這個參數。

    web_reg_save_param的工作原理是每當有一個頁面被完成載入,那麼它就會執行資料尋找更新。像上述情況,如果不指定頁面的話,web_reg_save_param的值始終會是最後被下載完成的頁面。

     今天碰到實際的問題就是:有多個頁面被下載,web_reg_save_param被多次調用。關聯值不正確。

     解決方案;

     在web_reg_save_param函數中,添加:RelFrameID屬性,並且將值 =1. 這樣指定第一個頁面的資料將被尋找使用。後面頁面下載完成不操作,不改變關聯值。 具體其它的值,我測試了, 1.1 1.2 2.1等都沒有實現具體的效果(我訪問的頁面是 一個login.aspx。在login.aspx中 有個img 元素調用了ACT.aspx驗證碼頁面。)。 如果大家也有碰到同樣的問題,也來交流吧。

     轉貼(函數介紹)

     在使用Loadrunner進行效能測試時,經常遇到一種情況,需要通過web頁面修改某事務的狀態。於是需要首先讀出當前的事務的狀態,再進行修改,此時便可以使用到web_reg_save_param了。可以通過它先將事務的狀態讀出寫入一個自訂的變數中,根據變數的值來決定下一步的動作。
 
  簡要說明
 
  文法:

   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.屬性值不分大小寫Notfound: 當在返回資訊中找不到要找的內容時應該怎麼處理。
 
  Notfound=error: 當在返回資訊中找不到要找的內容時,發出一個錯誤訊息。這是預設值。
 
  Notfound=warning: 當在返回資訊中找不到要找的內容時,只發出警告,指令碼也會繼續執行下去不會中斷。
 
  LB( Left Boundary ) : 返回資訊的左邊界字串。該屬性必須有,並且區分大小寫。
 
  RB( Right Boundary ): 返回資訊的右邊界字串。該屬性必須有,並且區分大小寫。
 
  RelFrameID: 相對於URL而言,欲尋找的網頁的Frame.此屬性質可以是All或是數字,該屬性可有可無。
 
  Search : 返回資訊的尋找範圍。可以是Headers,Body,Noresource,All(預設)。該屬性質可有可無。
 
  ORD : 說明第幾次出現的左邊界子串的匹配項才是需要的內容。該屬性可有可無,預設值是1.如為All,則將所有找到的內容儲存起來。
 
  SaveOffset : 當找到匹配項後,從第幾個字元開始儲存到參數中。該屬性不能為負數,預設值為0. SaveLen :當找到匹配項後,位移量之後的幾個字中繼存放區到參數中。預設值是-1,表示一直到結尾的整個字串都存入參數。
 
  Convert : 可取的值有以下兩種:
 
  HTML_TO_URL : 將 HTML-encoded 資料轉成 URL-encoded 資料格式
 
  HTML_TO_TEXT : 將 HTML-encoded 資料轉成純文字資料格式
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.