qileilove

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

          LoadRunner 技巧之腳本設計

          在做性能測試時,我們可能會遇到各種不同的業務需求與用戶行為,在一個系統或網站中,每個用戶的操作都不完全一樣。我們如何來模擬這此用戶的行為?經驗與能力有限,我這里也做個簡單的分析。

            Action 介紹

            在此之前,我們先來介紹一個Action ,Action就像是一個函數包,將用戶操作根據類別存放在不同的函數中,當選擇完HTTP協議后,VuGen將自動生成腳本的框架。

            默認腳本目錄有三部分組成:

            Vuser_int

            Action

            Vuser_end

            簡單有的來說,我們可以把他們看成三個程序文件,他們依次按照Vuser_int --->Action--->Vuser_end 的順序執行,存放于Action中的腳本可以循環執行(可以設置循環次數)

            在腳本錄制之前,我們可以設置將腳本錄制在哪一部分:

            在腳本錄制的過程中,我們可以選擇切換腳本的存放位置:

            在腳本左側右鍵添加新的action部分:

            在菜單欄Vuser ---> run-time setting ,選擇Run logic 選項,可以設置Action部分的循環次數。

            下面簡單介紹如何使用參數化、action設置和業務用戶比例等進行性能測試。

          場景一:

            一個用戶訪問WebTours(loadrunner 自帶程序)首頁,做兩次登錄與退出

            1、vuser_init部分錄制訪問webrours首頁:

          vuser_init()
          {

              web_url("WebTours",
                  "URL=http://127.0.0.1:2080/WebTours",
                  "Resource=0",
                  "RecContentType=text/html",
                  "Referer=",
                  "Snapshot=t30.inf",
                  "Mode=HTML",
                  LAST);

              web_url("header.html",
                  "URL=http://127.0.0.1:2080/WebTours/header.html",
                  "Resource=0",
                  "RecContentType=text/html",
                  "Referer=http://127.0.0.1:2080/WebTours/",
                  "Snapshot=t31.inf",
                  "Mode=HTML",
                  LAST);

              web_url("welcome.pl",
                  "URL=http://127.0.0.1:2080/WebTours/welcome.pl?signOff=true",
                  "Resource=0",
                  "RecContentType=text/html",
                  "Referer=http://127.0.0.1:2080/WebTours/",
                  "Snapshot=t32.inf",
                  "Mode=HTML",
                  EXTRARES,
                  "Url=../favicon.ico", "Referer=", ENDITEM,
                  LAST);
          }

            2、將腳本錄制部分切換到Action 部分,錄制用戶登錄與退出

          Action()
          {

              web_submit_data("login.pl",
                  "Action=http://127.0.0.1:2080/WebTours/login.pl",
                  "Method=POST",
                  "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home",
                  "Mode=HTML",
                  ITEMDATA,
                  "Name=userSession", "Value=110416.933414338fzHQfHVpAVcfDtAHHptczAHf", ENDITEM,
                  "Name=username", "Value={username}", ENDITEM,  //參數化用戶名
                  "Name=password", "Value={password}", ENDITEM,   //參數化密碼
                  "Name=JSFormSubmit", "Value=on", ENDITEM,
                  LAST);

              web_submit_data("login.pl_2",
                  "Action=http://127.0.0.1:2080/WebTours/login.pl",
                  "Method=POST",
                  "RecContentType=text/html",
                  "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home",
                  "Snapshot=t33.inf",
                  "Mode=HTML",
                  ITEMDATA,
                  "Name=userSession", "Value=110416.933414338fzHQfHVpAVcfDtAHHptczAHf", ENDITEM,
                  "Name=username", "Value=test", ENDITEM,
                  "Name=password", "Value=123456", ENDITEM,
                  "Name=JSFormSubmit", "Value=on", ENDITEM,
                  "Name=login.x", "Value=56", ENDITEM,
                  "Name=login.y", "Value=4", ENDITEM,
                  LAST);

              return 0;
          }

            run-time setting 的Run logic 選項,設置Action 運行兩次。

          運行腳本結束,可以通過菜單欄view--->Test Results 來查看運行的結果是否正確

            場景二:

            一個用戶登錄一個系統,做3次查詢,5次插入,退出。

            這里我就不做詳細介紹了,需要的注意點是,可以在run-time setting 的Run logic 選項中點擊insert Block 添加快,雙擊Block 設置循環次數。

            將我們的查詢操作與插入操縱分別存放在兩個迭代塊(block)中

            我們還可以設置迭代之間的間隔,run-time setting 的pacing



            場景三:

            這個場景跟用戶操作比例有關系業務有關,一個網站,在線用戶中,有80% 用戶發表文章,20%的用戶上傳相片。

            那么,我可以分別錄制兩個腳本,第一腳本,用戶操作發表文章;第二個腳本,用戶操作上傳相片。

            將兩個腳本導入Controller 控制器中。

            注意勾選 use the percentage mode to distribute the vusers among the scrpts ,不然無法分配腳本用戶比例。

            我們可以為腳本分配不同的用戶比例來運行。

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

            這里只是提供一個思路,我們可以根據這些設置(或叫技巧)結合我們的業務需求來進行腳本與場景設計。

          相關鏈接:

          LoadRunner 技巧之協議分析

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

          LoadRunner 技巧之思考時間設置

          LoadRunner 技巧之集合點設置

          LoadRunner 技巧之自動關聯

          LoadRunner 技巧之手動關聯與預關聯

          LoadRunner 技巧之檢查點

          LoadRunner 技巧之添加事務


          posted on 2013-03-21 10:27 順其自然EVO 閱讀(441) 評論(0)  編輯  收藏 所屬分類: loadrunner

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 伊春市| 沂南县| 斗六市| 惠水县| 会宁县| 大宁县| 额尔古纳市| 彩票| 富源县| 渝北区| 胶州市| 二手房| 禹州市| 凭祥市| 海伦市| 民县| 浮山县| 汪清县| 卢氏县| 夹江县| 富源县| 那曲县| 永川市| 龙山县| 湘阴县| 昌乐县| 佳木斯市| 江津市| 江阴市| 永善县| 沁阳市| 汉沽区| 开江县| 梨树县| 定兴县| 云和县| 夏河县| 平阴县| 周至县| 南涧| 海南省|