在Web(HTTP/HTML)錄製中,有2種重要的錄製模式。javascript
用戶該選擇那種錄製模式呢?php
一)HTML-mode錄製是缺省也是推薦的錄製模式。它錄製當前網頁中的HTML動做。html
在錄製會話過程當中不會錄製全部的資源。在回放時,HTML-mode腳本積極地解析返回的信息來得到要下載的資源。java
HTML-mode是亦稱上下文敏感方式由於它只能在先前請求的結果的上下文以內執行。因爲許多的HTTP 請求數據都是從內存中取出來的,因此語句必須在正確的前個請求以後執行。web
HTML-mode錄製的優勢是:編程
1.資源從內存中取出且在回放時下載。所以,腳本比其餘的錄製方式更小且更容易閱讀。瀏覽器
2.因爲只有較少的硬編碼腳本,所以只有較少的動態數值須要關聯。安全
3.能夠插入圖片檢查之類的語句以檢查結果是否正確。服務器
4.由於HTML模式回放時須要積極地解析返回的信息,所以它可能會比其餘錄製模式更加佔用資源。然而,HTML模式record/replay有至關大的改善,使得差別最小化且微不足道。app
二)URL-mode選項指導VuGen錄製來自server的全部的請求和資源。它自動錄製每個HTTP資源爲URL的步驟。這種錄製模式甚至抓取非HTML應用程序,例如applets和非瀏覽器的應用程序。推薦使用這種錄製方式錄製如下狀況:
1。錄製非browser的應用程序
2。取得在下載或不下載哪些資源上更好的控制,既然你能夠在腳本中修改。
3。當使用LR6.x時,錄製使用applet和/或javascript的瀏覽器應用程序
因爲URL-模式錄製了全部的請求和資源,須要作更多的關聯。腳本看起來也會至關的長
============================================================
LoadRunner針對Web協議的兩種錄製級別
****************
(一)HTML 錄製級別
HTML錄製級別是工具默認的選項。
使用HTML錄製級別,VuGen將會基於當前Web頁面的HTML上下文來 產生語句。
(二)URL 錄製級別
VuGen會錄製全部的客戶端請求和從服務器返回的資源。這種錄製級別下,VuGen會錄製URL 步驟爲web_url語句。錄製表單提交爲web_submit_data語句。
Tips:當在表單提交或者點擊連接時 遇到問題,使用高級選項下的URL Option來錄製。
URL錄製級別把對服務器每一個對象的請求,都錄製成一個單獨的請求。對業務過程有更好的控制。============================================================
(1)HTML-based script(瀏覽器/上下文敏感)
(2)URL-based script(HTTP/analog)
html模式錄製腳本,lr會把將頁面發出的請求寫在一個函數裏,這樣集成性較高,在代碼閱讀方面也比較容易,這種方式錄製出來的腳本能夠說是一種高級腳本
url方式錄製的腳本是將頁面全部的請求分別創建一個函數,這樣的代碼比較靠近底層,能更容易的監控到頁面每一個元素的狀況
再舉個例子
HTML模式至關於編程語言中的VC,
url模式至關於C或者彙編語言寫的腳本
***************
HTML-based Script,說明腳本中採用HTML 頁面的形式來表示這種方式的Script 腳本容易維護,容易理解;
URL-based Script,說明腳本中的表示採用基於URL 的方式,WAS 和ACT中的錄製方式就是這種,這種方式看上去比較亂。
選擇哪一種方式錄製,有如下參考原則:
(1) 基於瀏覽器的應用程序推薦使用HTML-based Script
(2) 不是基於瀏覽器的應用程序推薦使用URL-based Script。
(3)若是基於瀏覽器的應用程序中包含了JavaScript 而且該腳本向服務器產生了請求,好比DataGrid 的分頁按鈕等,flash等,也要使用URL-based 方式錄製
(4 )基於瀏覽器的應用程序中使用了HTTPS 安全協議,使用URL-based 方式錄製
****************
web_find只能用於基於HTML的腳本
web_reg_find:HTML和URL腳本均可以用,還能夠統計文本出現的次數,但它是註冊類型函數,意味着它不會當即執行,僅在執行下一個操做函數(好比web_url,web_p_w_picpath)後纔會執行