qileilove

          blog已經(jīng)轉移至github,大家請訪問 http://qaseven.github.io/

          LoadRunner 技巧之THML 與 URL兩種錄制模式分析

           Loadrunner的Virtual User Generator 提供人腳本的錄制功能,對于初學者來說,這大大的降低了編寫腳本的門檻,loadrunner提供兩種錄制腳本的方式:Html_based script和Url-based script ,初學者疑惑這兩種方式有什么不同? 在這里我們來做個簡單分析。

            下面我們來分別通過兩種方式來錄制百度首頁,對比一下他們之間有什么不同。

            HTML方式的腳本:

          Action()
          {

              web_url("www.baidu.com",
                  "URL=http://www.baidu.com/",
                  "Resource=0",
                  "RecContentType=text/html",
                  "Referer=",
                  "Snapshot=t3.inf",
                  "Mode=HTML",
                  EXTRARES,
                  "Url=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", ENDITEM,
                  "Url=http://s1.bdstatic.com/r/www/img/bg-1.0.0.gif", ENDITEM,
                  "Url=/favicon.ico", "Referer=", ENDITEM,
                  "Url=http://suggestion.baidu.com/su?wd=&cb=window.bdsug.sugPreRequest&sid=1440_2031_1945_1788&t=1362056239875", ENDITEM,
                  "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247256", ENDITEM,
                  "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247969", ENDITEM,
                  "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20%E5%8D%9A%E5%AE%A2%E5%9B%AD&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056251016", ENDITEM,
                  LAST);

              return 0;
          }


           URL方式的腳本:

          Action()
          {

              web_url(www.baidu.com, 
                  "URL=http://www.baidu.com/", 
                  "Resource=0", 
                  "RecContentType=text/html", 
                  "Referer=", 
                  "Snapshot=t67.inf", 
                  "Mode=HTTP", 
                  LAST);

              web_concurrent_start(NULL);

              web_url("shouye_b5486898c692066bd2cbaeda86d74448.gif", 
                  "URL=http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif", 
                  "Resource=1", 
                  "RecContentType=image/gif", 
                  "Referer=http://www.baidu.com/", 
                  "Snapshot=t68.inf", 
                  LAST);

              web_url("gs.gif", 
                  "URL=http://www.baidu.com/cache/global/img/gs.gif", 
                  "Resource=1", 
                  "RecContentType=image/gif", 
                  "Referer=http://www.baidu.com/", 
                  "Snapshot=t69.inf", 
                  LAST);

              web_url("tangram-1.3.4c1.0.js", 
                  "URL=http://s1.bdstatic.com/r/www/cache/global/js/tangram-1.3.4c1.0.js", 
                  "Resource=1", 
                  "RecContentType=application/javascript", 
                  "Referer=http://www.baidu.com/", 
                  "Snapshot=t71.inf", 
                  LAST);

              web_url("home-2.5.js", 
                  "URL=http://s1.bdstatic.com/r/www/cache/global/js/home-2.5.js", 
                  "Resource=1", 
                  "RecContentType=application/javascript", 
                  "Referer=http://www.baidu.com/", 
                  "Snapshot=t72.inf", 
                  LAST);

              web_url("u-1.3.4.js", 
                  "URL=http://s1.bdstatic.com/r/www/cache/user/js/u-1.3.4.js", 
                  "Resource=1", 
                  "RecContentType=application/javascript", 
                  "Referer=http://www.baidu.com/", 
                  "Snapshot=t73.inf", 
                  LAST);

              web_concurrent_end(NULL);

              web_url("i-1.0.0.png", 
                  "URL=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", 
                  "Resource=1", 
                  "RecContentType=image/png", 
                  "Referer=http://www.baidu.com/", 
                  "Snapshot=t70.inf", 
                  LAST);

              web_concurrent_start(NULL);

              web_url("su", 
                  "URL=http://suggestion.baidu.com/su?wd=&cb=window.bdsug.sugPreRequest&sid=1431_2031_1944_1788&t=1362056977341", 
                  "Resource=1", 
                  "RecContentType=baiduapp/json", 
                  "Referer=http://www.baidu.com/", 
                  "Snapshot=t74.inf", 
                  LAST);

              web_url("favicon.ico", 
                  "URL=http://www.baidu.com/favicon.ico", 
                  "Resource=1", 
                  "RecContentType=image/x-icon", 
                  "Referer=", 
                  "Snapshot=t75.inf", 
                  LAST);

              web_concurrent_end(NULL);

              return 0;
          }

           Html_based script是loadrunner的缺省模式,即默認模式,也就是通常說的高層次模式,一般優(yōu)先選擇這種模式這種模式錄制的腳本相對簡短,便于閱讀。它把類屬一個頁面的請求放在一個web_url中。

            Url-based script即通常所說的低層次錄制模式,這種模式錄制的腳本相對長,不利于閱讀,但腳本更直觀,它把客戶端向服務器端發(fā)送的每一個請求都放在一個單獨的web_url中,即一個請求對應一個web_url,頁面和圖片分別生成對應的web_url,相對Html_based script模式把類屬一個頁面的請求放在一個web_url中的方式,Url-based script模式的腳本更直觀。

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

            我們可以從腳本web_url中“mode”的值區(qū)分,Html_based script模式下mode的值為“html”,Url-based script模式下mode的值為“http”。還有Html_based script模式記錄為web_submit_form,而Url-based script模式記錄為web_submit_data。

            兩種錄制方式優(yōu)點對比:

            (一)HTML 錄制

            優(yōu)點:減少了捕獲動態(tài)值的需要。

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

            (2)由于只有較少的硬編碼腳本,因此只有較少的動態(tài)數(shù)值需要關聯(lián)。

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

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

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

            (二)URL 錄制

            優(yōu)點:腳本具有靈活性和可量測性。

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

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

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

            如何選擇兩種模式?

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

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

            3、如果基于瀏覽器的應用程序中包含了Java Script,applet等并且該腳本向服務器產(chǎn)生了請求,比如DataGrid的分頁按鈕等,也要使用URL-Based Script方式錄制。

            4、基于瀏覽器的應用程序中使用了HTTPS安全協(xié)議,使用URL-Based Script方式錄制。

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

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

          相關鏈接:




          posted on 2013-03-11 12:52 順其自然EVO 閱讀(1097) 評論(0)  編輯  收藏 所屬分類: loadrunner

          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黔东| 文昌市| 怀柔区| 胶州市| 霞浦县| 恭城| 香格里拉县| 信阳市| 阳高县| 高清| 齐河县| 富顺县| 壤塘县| 鹤庆县| 高陵县| 宜兰县| 左权县| 韶山市| 龙游县| 嵊州市| 西宁市| 项城市| 新巴尔虎右旗| 榆林市| 鹰潭市| 皮山县| 钦州市| 永年县| 淳化县| 惠安县| 西乡县| 姜堰市| 广元市| 杂多县| 上高县| 永春县| 凤山县| 宜州市| 儋州市| 泌阳县| 海丰县|