1. 程式人生 > >LR集合點與事務

LR集合點與事務

用法 body referer 事務 列操作 網頁 logs 進入 turn

舉個例子:如果現在測試登錄的負載情況,我們需要先在登錄步驟之前插入一個集合,把登陸的整個操作(訪問網頁,輸入用戶名和密碼,提交)放到一個事務裏面,此時模擬500人登錄。這個時候500個Vuser會在集合點處集合,然後並發對系統施壓,怎樣施壓呢,就是進入事務,對定義的事務進行操作。等到完成壓力測試後,後生成報告,報告中會告訴我們,每秒處理了多少事務(每秒事務數、tps),每個事務處理需要多長時間(事務響應時間)等等。由此可見,集合點和事務是很重要的。

集合點:

lr_rendezvous( const char *rendezvous_name);

舉例說明:

  lr_rendezvous("addRendzvous");

用法:

(1)在腳本中右鍵(插入——集合)

(2)插入——集合

(3)錄制過程中,點擊“插入集合點”

技術分享

技術分享

事務:

開始事務:lr_start_transaction( const char *transaction_name );

結束事務:lr_end_transaction( const char *transaction_name, int status ) ;

舉例說明:

  lr_start_transaction("Login");

    ……一系列操作

  lr_end_transaction("Login", LR_AUTO);

用法:

(1)在腳本中右鍵(插入——開始事務——結束事務)

(2)插入——開始事務——結束事務

(3)錄制過程中,點擊“開始事務”——“結束事務”

完整實例:

 Action()

 {

   lr_rendezvous("addRendzvous");

   lr_start_transaction("Login");

   web_reg_save_param("WCSParam3",

      "LB/IC=userSession value=",

      "RB/IC=>",

      "Ord=1",

      "Search=Body",

      "RelFrameId=1.2.1",

      LAST);

   web_url("WebTours",

      "URL=http://127.0.0.1:1080/WebTours/",

      "TargetFrame=",

      "Resource=0",

      "RecContentType=text/html",

      "Referer=",

      "Snapshot=t2.inf",

      "Mode=HTML",

      LAST);

   web_reg_find("Text=zyt",

      LAST);

  web_submit_data("login.pl",

      "Action=http://127.0.0.1:1080/WebTours/login.pl",

      "Method=POST",

      "TargetFrame=body",

      "RecContentType=text/html",

      "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",

      "Snapshot=t3.inf",

      "Mode=HTML",

      ITEMDATA,

      "Name=userSession", "Value={WCSParam3}", ENDITEM,

      "Name=username", "Value=zyt", ENDITEM,

      "Name=password", "Value=123456", ENDITEM,

      "Name=JSFormSubmit", "Value=off", ENDITEM,

      "Name=login.x", "Value=36", ENDITEM,

      "Name=login.y", "Value=7", ENDITEM,

      LAST);

  lr_end_transaction("Login", LR_AUTO);

  return 0;

}

註意事項:

集合點必須在事務之前,起始事務名稱必須一致。

LR集合點與事務