LR 兩種錄製:html與url

一直在使用LR,對於Html_based script和Url-based script 兩種錄製方式之間,要如何選擇,仍是一知半解。最近測試時遇到同樣的業務功能,兩種錄製方式的腳本,單次執行時間差別很大。html的20多秒,而URL的是3秒。疑問?

 

Web(HTTP/HTML)協議

錄製的是HTTP交互和服務器響應。
Web(HTTP/HTML)可以使用兩種方式錄製:HTML-based和URL-based。
Web(HTTP/HTML)不直接支持JavaScript,而是把它作爲頁面資源存儲。

 

Web(Click and Script)協議

對於大部分應用程序,包括那些包含JavaScript的程序,可以使用Web(Click and Script)虛擬用戶。對於PeopleSoft Enterprise和Oracle Web Application 11i虛擬用戶,也推薦使用這種錄製方式,有興趣可以嘗試一下。

對於那些使用applets和vbscript的瀏覽器應用 程序或非瀏覽器程序,推薦使用Web(HTTP/HTML)虛擬用戶。

 

 Html_based script

  是lr的默認模式,也就是通常說的高層次模式,一般優先選擇這種模式這種模式錄製的腳本相對簡短,便於閱讀。它把類屬一個頁面的請求放在一個web_url中。爲每個用戶請求生成單獨的函數。

  HTML-based 方式對每個頁面錄製形成一條語句,對LoadRunner來說,在該模式下,訪問一個頁面,首先會與服務器之間建立一個連接獲取頁面的內容,然後從頁面中分解得到其他的元素(component),然後建立幾個連接分別獲取相應的元素。

 

Url-based script

  即通常所說的低層次錄製模式,這種模式錄製的腳本相對長,不利於閱讀,但腳本更直觀,它把客戶端向服務器端發送的每一個請求都放在一個單獨的web_url中,即一個請求對應一個web_url,頁面和圖片分別生成對應的web_url,相對Html_based script模式把類屬一個頁面的請求放在一個web_url中的方式,Url-based script模式的腳本更直觀。可以捕獲所有作爲用戶操作的結果發送到服務器的HTTP請求,然後一一記錄下來。可以捕獲非HTML應用程序,例如小程序和非瀏覽器應用程序。

   URL-based 方式將每條客戶端發出的請求錄製成一條語句,對LoadRunner來說,在該模式下,一條語句只建立一個到服務器的連接,LoadRunner提供了web_concurrent_start和web_concurrent_end函數模擬的工作方式。

 

如何從腳本辨別使用哪種模式錄製?

  可以從腳本web_url中“mode”的值區分,Html_based script模式下mode的值爲“html”,Url-based script模式下mode的值爲“http”。從錄製時可看出,web_submit_form、web_link一定是HTML模式,web_custom_request一定是URL模式。

web_url,web_submit_data函數兩種方式都可能,此時只能通過mode的值來判斷。

複製代碼
The Recording Level or Mode for Web scripts. The possible values are: 

HTML level: Instructs VuGen to record HTML actions intuitively, in the context of the current Web page. The actions are recorded as URL steps (web_url), link steps (web_link), image steps (web_image), and form submission steps (web_submit_form). VuGen records only the HTTP requests that return HTML pages, but not scripts or applications. 

HTTP level: Instructs VuGen to record all requests from the server as URL steps (web_url statements). It does not generate the web_link, web_image, or web_submit_form functions. This method is more scalable, but less intuitive when reading a generated script. 

In older versions, the HTTP level is called NORESOURCE. 
複製代碼

 

html錄製可選擇項:

兩種腳本類型:

1、默認的項,選擇描述用戶行爲的腳本。

web_link是提供一個連接,提供了連接的名稱和需要單擊的超鏈接名稱,點擊就進去,如果鏈接地址不存在,會出錯。模擬用戶單擊超鏈接的操作。如果出錯了可以選擇web_url方式。

2、僅包含明確的URL腳本。

web_url方式不考慮用戶做了什麼,只在於客戶端發送了什麼請求,只在於系統做了什麼請求。web_url裏邊是需要訪問的超鏈接地址。

 

URL錄製時可選擇項:

 

兩種錄製方式優點對比:

)HTML 錄製

優點:減少了捕獲動態值的需要。

(1)資源從內存中取出且在回放時下載。因此,腳本比其他的錄製方式更小且更容易閱讀。

(2)由於只有較少的硬編碼腳本,因此只有較少的動態數值需要關聯。

(3)可以插入圖片檢查之類的語句以檢查結果是否正確。

(4)因爲HTML模式回放時需要積極地解析返回的信息,因此它可能會比其他錄製模式更加佔用資源。然而,HTML模式record/replay有相當大的改善,使得差異最小化且微不足道。

(5)HMTL錄製級別會爲每一個HTML用戶動作產生一個單獨的步驟。而且HTML方式產生的腳本非常簡潔和直述,易於閱讀。


)URL 錄製

優點:腳本具有靈活性和可量測性。

(1)腳本回放過程中,不再搜索內存和Cache。

(2)腳本更具可擴展性。支持頁面上的Java Applets和ActiveX對象。

(3)URL錄製級別把對服務器每個對象的請求,都錄製成一個單獨的請求。對業務過程有更好的控制。

 

 如何選擇兩種模式?

1、基於瀏覽器的應用程序推薦使用HTML-Based Script。

2、不是基於瀏覽器的應用程序推薦使用URL-Based Script。

3、如果基於瀏覽器的應用程序中包含了Java Script,applet、vbscript腳本與等並且該腳本向服務器產生了請求,比如DataGrid的分頁按鈕等,也要使用URL-Based Script方式錄製。

4、基於瀏覽器的應用程序中使用了HTTPS安全協議,使用URL-Based Script方式錄製。

5、錄製過程中不要使用瀏覽器的“後退”功能,LoadRunner對其支持不太好。

 

腳本錄製過程中,可以根據需要在HTML級別和URL級別之間靈活地切換,以獲得最佳的效果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章