LoadRunner 技巧之 添加事務

來源:互聯網
上載者:User

 

  事務(Transaction)用於類比使用者的一個相對完整的、有意義的業務操作過程,例如登入、查詢、交易、轉賬,這些都可以作為事務,而一般不會把每次HTTP請求作為一個事務。

  拿筆者所測試的郵箱系統為例,對於郵箱來說更基本且使用者使用最多的應用就是收發郵件功能,我們可以拿發郵件看作一個事務:開啟寫信頁,填寫收件者,主題,內容,點擊發信。在做效能需求分析的時候也就是把系統的業務抽離出來,在效能指令碼中用事務來描述。

我們在錄製指令碼的過程中,可以通過錄製面板的事務按鈕來添加事務。

 

同樣以loadrunner 內建WebTours為例,操作步驟:

1、打WebTours首頁

2、點擊事務開始按鈕,輸入“登入”

3、輸入使用者名稱密碼點擊登入按鈕

4、點擊事務結束按鈕,確定。(注意:事務的開始與結束的名稱一定要一致)

指令碼如下

Action(){    web_url("WebTours",         "URL=http://127.0.0.1:2080/WebTours/",         "Resource=0",         "RecContentType=text/html",         "Referer=",         "Snapshot=t3.inf",         "Mode=HTML",         EXTRARES,         "Url=../favicon.ico", "Referer=", ENDITEM,         LAST);    lr_start_transaction("登陸");    //事務開始函數    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=110409.949777238fzHQcVVpHQVzzzzHDtAHfpcHAHf", ENDITEM,         "Name=username", "Value=test", ENDITEM,         "Name=password", "Value=123456", 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=t4.inf",         "Mode=HTML",         ITEMDATA,         "Name=userSession", "Value=110409.949777238fzHQcVVpHQVzzzzHDtAHfpcHAHf", ENDITEM,         "Name=username", "Value=test", ENDITEM,         "Name=password", "Value=123456", ENDITEM,         "Name=JSFormSubmit", "Value=on", ENDITEM,         "Name=login.x", "Value=51", ENDITEM,         "Name=login.y", "Value=12", ENDITEM,         LAST);    lr_end_transaction("登陸",LR_AUTO);   //事務結束函數    return 0;}

 

查看運行結果

Action.c(15): Notify: Transaction "登陸" started.Action.c(17): web_submit_data("login.pl") was successful, 795 body bytes, 225 header bytes      [MsgId: MMSG-26386]Action.c(29): web_submit_data("login.pl_2") was successful, 795 body bytes, 225 header bytes      [MsgId: MMSG-26386]Action.c(45): Notify: Transaction "登陸" ended with "Pass" status (Duration: 0.5704 Wasted Time: 0.0152).

通過運行結果我們可以很清晰地看到本次事務是pass的,整個指令碼的期間和事務的消耗時間等。 

 

插入事務的方法:

  插入事務操作可以在錄製指令碼過程中,也可以在錄製結束後進行。可以在指令碼中找到需要添加事務的部分,直接插入:

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

lr_start_transaction("事務");

.....

lr_end_transaction("事務",LR_AUTO); 

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

注意:1、開始與結束函數必須成對出現

    2、事務的名稱必須一樣。

 

當然,我們也可以將滑鼠定位到要插入事務的位置,通過功能表列來插入事務(insert--->start transaction/end transaction)

 

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

  到些,loadrunner 指令碼的一些基本設定已經介紹完了。你疑問,是不是少了很重要的概念,參數化。

LoadRunner參數化詳解   之間有做過介紹,這裡也不再重複。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.