qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          LoadRunner 技巧之集合點設置

          Loadrunner 技巧已經整理3篇了,你個一定疑問,這些知識點,網上隨處可見。確實,由于長時間沒有使用這個工具,造成我的一些概念開始在大腦中模糊,我只是用這種方式來溫習。

            ----------------------

            在loadrunner的虛擬用戶中,術語concurrent(并發)和simultaneous(同時)存在一些區別,concurrent 是指虛擬場景中參于運行的虛擬用戶。而simultaneous與集合點(rendzvous point)關系更密切,是指在同一時刻一起執行某個任務的虛擬用戶。

            我們來想象一個場景,10名運動員參加長跑比賽,出發點同時起跑,他們是并排奔跑的;跑了N圈之后,因為有體能更強的,有體能稍弱的,他們的隊形并排變成了前后。幾乎一個跑道就可以供應他們的奔跑(運行),那么其余的9條跑道就是空閑的。

            為了充分的利用跑道,可以將跑道的起點設置一個集合點,當所有運動員跑完一圈后在起跑點集合,然后再同時起跑。

            運動員可以看作是虛擬用戶,跑道可以看作是系統資源。設置集合點可以模式更加真實的并發請求,從而增加對系統的負載。

            下面錄制一個登錄觸摸屏版139郵箱的腳本。錄制步驟:

            1、打開登錄頁面

            2、插入集合點

            3、輸入用戶名密碼,點擊登錄按鈕

            4、登錄頁面加載完成,錄制結束

            腳本添加集合點

            當我們在不熟悉腳本的情況下,可以通過世錄制操作面板來添加集合點。

            如果你非常熟悉每一段腳本代碼的作用,可以在腳本中添加:lr_rendezvous 集合點函數。

            錄制代碼如下:

          Action()
          {

              web_url("wapmail.10086.cn",
                  "URL=http://wapmail.10086.cn/",
                  "Resource=0",
                  "RecContentType=text/html",
                  "Referer=",
                  "Snapshot=t19.inf",
                  "Mode=HTML",
                  EXTRARES,
                  "Url=http://wapmail.10086.cn:8000/img/p/logo.jpg", ENDITEM,
                  "Url=/favicon.ico", "Referer=", ENDITEM,
                  LAST);

              web_custom_request("urs.asmx",
                  "URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=FcIacsb4XHR0aOJzGG/quQ%3d%3d&MSURS-Patented-Lock=NGkcbdtnuEs%3d",
                  "Method=POST",
                  "Resource=0",
                  "RecContentType=text/xml",
                  "Referer=",
                  "Snapshot=t20.inf",
                  "Mode=HTML",
                  "EncType=text/xml; charset=utf-8",
                  "Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL3dhcG1haWwuMTAwODYuY24v</URL><O>POST</O><T>TOP</T><HIP>218.204.255.90</HIP></Rq><Rq><URL>aHR0cDovL3dhcG1haWwuMTAwODYuY24vaW5kZXguaHRt</URL><O>POST</O><T>ACTION</T><HIP>218.204.255.90</HIP></Rq></R></RepLookup>",
                  LAST);

              web_custom_request("urs.asmx_2",
                  "URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=C84C0w6qif5yiuTi%2bfaoMg%3d%3d&MSURS-Patented-Lock=EQjsDl4IFSQ%3d",
                  "Method=POST",
                  "Resource=0",
                  "RecContentType=text/xml",
                  "Referer=",
                  "Snapshot=t21.inf",
                  "Mode=HTML",
                  "EncType=text/xml; charset=utf-8",
                  "Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL3dhcG1haWwuMTAwODYuY24v</URL><O>PRE</O><T>TOP</T><HIP>218.204.255.90</HIP></Rq></R></RepLookup>",
                  LAST);

              lr_start_transaction("登陸");  //添加事務

              lr_rendezvous("集合點");   //添加集合點

              web_submit_data("index.htm",
                  "Action=http://wapmail.10086.cn/index.htm",
                  "Method=POST",
                  "Referer=http://wapmail.10086.cn/",
                  "Mode=HTML",
                  ITEMDATA,
                  "Name=ur", "Value=fnngj", ENDITEM, 
                  "Name=pw", "Value=heng198876", ENDITEM,
                  "Name=apc", "Value=0", ENDITEM,
                  "Name=_swv", "Value=5", ENDITEM,
                  "Name=a", "Value=3,5 ", ENDITEM,
                  "Name=_fv", "Value=3", ENDITEM,
                  "Name=clt", "Value=5", ENDITEM,
                  LAST);

              web_submit_data("index.htm_2",
                  "Action=http://wapmail.10086.cn/index.htm",
                  "Method=POST",
                  "RecContentType=text/html",
                  "Referer=http://wapmail.10086.cn/",
                  "Snapshot=t22.inf",
                  "Mode=HTML",
                  ITEMDATA,
                  "Name=ur", "Value=XXXXX", ENDITEM,   //登陸用戶名
                  "Name=pw", "Value=ooooo", ENDITEM, //登陸密碼
                  "Name=apc", "Value=0", ENDITEM,
                  "Name=_swv", "Value=5", ENDITEM,
                  "Name=a", "Value=3,5 ", ENDITEM,
                  "Name=_fv", "Value=3", ENDITEM,
                  "Name=clt", "Value=5", ENDITEM,
                  LAST);

              web_custom_request("handler",
                  "URL=http://m.mail.10086.cn/wp1/w3/handler",
                  "Method=POST",
                  "Resource=0",
                  "RecContentType=text/html",
                  "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5",
                  "Snapshot=t23.inf",
                  "Mode=HTML",
                  "EncType=application/x-www-form-urlencoded;charset=UTF-8",
                  "Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&__randomNumber=1362403651558",
                  EXTRARES,
                  "Url=/bv1/css/public.css?vn=288", "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,
                  "Url=/bv1/js/home.js?vn=288", "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,
                  LAST);


              web_custom_request("costanalysis",
                  "URL=http://m.mail.10086.cn/wp1/w3/costanalysis",
                  "Method=POST",
                  "Resource=0",
                  "RecContentType=text/html",
                  "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5",
                  "Snapshot=t24.inf",
                  "Mode=HTML",
                  "EncType=application/x-www-form-urlencoded;charset=UTF-8",
                  "Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&cmd=999&d=478&b=1&t=710&body=2&r=5&ajaxInitTime=419&ajaxCostTime=285&ajaxBeginTime=0&downBeginTime=156&initBeginTime=704&logintime=5100&homejstime=2&homeutiljstime=2&ajaxSendTime=1362403651558&redirectTime=-1&__randomNumber=1362403652268",
                  EXTRARES,
                  "Url=/bv1/img/global_24.png", "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,
                  "Url=/favicon.ico", "Referer=", ENDITEM,
                  LAST);

              web_custom_request("urs.asmx_3",
                  "URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=maVKmMoyQiei4%2bdFLSDDAA%3d%3d&MSURS-Patented-Lock=HitWNt%2b1Bns%3d",
                  "Method=POST",
                  "Resource=0",
                  "RecContentType=text/xml",
                  "Referer=",
                  "Snapshot=t25.inf",
                  "Mode=HTML",
                  "EncType=text/xml; charset=utf-8",
                  "Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL20ubWFpbC4xMDA4Ni5jbi9idjEvaG9tZS5odG1sP21vPVUwajVHdXZWYUxHM1h6MHFNaWJiUW9rOGczNF9PQUJvJnZuPTI4OCZsb2dpbnR5cGU9MCZjdj0zJnN3dj01JmNsaT01</URL><O>PRE</O><T>TOP</T><HIP>113.108.212.38</HIP></Rq></R></RepLookup>",
                  LAST);

              web_custom_request("urs.asmx_4",
                  "URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=r/4pztMEzQOon4ZLeymWxw%3d%3d&MSURS-Patented-Lock=a7q4TZRzKXk%3d",
                  "Method=POST",
                  "Resource=0",
                  "RecContentType=text/xml",
                  "Referer=",
                  "Snapshot=t26.inf",
                  "Mode=HTML",
                  "EncType=text/xml; charset=utf-8",
                  "Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL20ubWFpbC4xMDA4Ni5jbi9idjEvaG9tZS5odG1sP21vPVUwajVHdXZWYUxHM1h6MHFNaWJiUW9rOGczNF9PQUJvJnZuPTI4OCZsb2dpbnR5cGU9MCZjdj0zJnN3dj01JmNsaT01</URL><O>POST</O><T>TOP</T><HIP>113.108.212.38</HIP></Rq></R></RepLookup>",
                  LAST);

              lr_end_transaction("登陸",LR_AUTO);  //登錄事物結束

              return 0;
          }


           控制器中設置集合點策略

            我們在Virtual User Generator 中回放腳本無法體現集合點的作用。集合點是在多用戶并發運行的時候才能起作用。所以,我們需要把腳本導入到Controller 中進行進一步的設置。

            1、打開Controller (控制器),導入錄制的腳本。

            2、菜單欄 Scenario ---> Rendezvous 打開集合點設置界面

            我們可以看到Vusers 列表框里有10個集合點(1~10),這里的數量和我們設置的虛擬用戶數一致。

            我們可以點擊選中某個集合點,點擊“Disable VUser” 按鈕,使其不參與集合點。(某班級早晨集合跑步,A同學肚子痛,經過老師的允許不參與早晨的集合跑步。)

            點擊“Policy...”來設置集合點的策略:

            下面來看看這三種策略的含義:

            Release when :當所有虛擬用戶中的x % 到達集合點進釋放,即僅當指定百分比的虛擬用戶到達集合點時,才釋放虛擬用戶。

            注意:此選項將會干擾場景的計劃。如果選擇此選項,場景將不按計劃運行。

            Release when :當所有正在運行的虛擬用戶中的x %到達集合點時釋放,即僅當場景中指定百分比的、正在運行的虛擬用戶到達集合點時,才釋放虛擬用戶。

            還有不在運行的虛擬用戶? 假如,設置為1分鐘啟動一個用戶,當然會存在因為用戶還沒啟動,所以無法參與集合點。

            Release when : 當x 個虛擬用戶到達集合點時釋放,即僅當指定數量的虛擬用戶到達集合點時,才釋放虛擬用戶。

            這個很好理解,當我用百分比不太好衡量集合點的虛擬用戶數,當然可以設置具體的用戶數。

            Timeout between Vusers (虛擬用戶之間的超時)框中輸入一個超時值。

            假如設置了集合10用戶并發,結果9個用戶已經集合到位,還剩1個虛擬用戶,左等右等就是等不來。那總不能一直等下去吧。設定了個時間,假如30秒還不來,那就不管它了。

            超時的時長默認是30秒,我們可以根據具體的被測應用進行調整。

          相關鏈接:

          LoadRunner 技巧之協議分析

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

          LoadRunner 技巧之思考時間設置

          posted on 2013-03-18 10:08 順其自然EVO 閱讀(416) 評論(0)  編輯  收藏 所屬分類: loadrunner性能測試

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天长市| 天峻县| 昆明市| 普安县| 永康市| 崇阳县| 华池县| 湘潭市| 伊宁市| 和顺县| 荥经县| 白城市| 兴化市| 乐都县| 德惠市| 西乌珠穆沁旗| 凤凰县| 遵义市| 天峻县| 双峰县| 申扎县| 仙桃市| 稷山县| 沙雅县| 临夏县| 江永县| 杭锦后旗| 集贤县| 库车县| 茂名市| 新乐市| 南木林县| 滨海县| 秦皇岛市| 清远市| 塔城市| 朝阳市| 泰安市| 故城县| 南召县| 贡嘎县|