LR集合點與事務


舉個例子:

  如果現在測試登錄的負載情況,我們需要先在登錄步驟之前插入一個集合,把登陸的整個操作(訪問網頁,輸入用戶名和密碼,提交)放到一個事務里面,此時模擬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)錄制過程中,點擊“開始事務”——“結束事務”

 

完整實例:

 1 Action()
 2 
 3  {
 4 
 5    lr_rendezvous("addRendzvous");
 6 
 7    lr_start_transaction("Login");
 8 
 9  
10 
11    web_reg_save_param("WCSParam3",
12 
13       "LB/IC=userSession value=",
14 
15       "RB/IC=>",
16 
17       "Ord=1",
18 
19       "Search=Body",
20 
21       "RelFrameId=1.2.1",
22 
23       LAST);
24 
25  
26 
27    web_url("WebTours",
28 
29       "URL=http://127.0.0.1:1080/WebTours/",
30 
31       "TargetFrame=",
32 
33       "Resource=0",
34 
35       "RecContentType=text/html",
36 
37       "Referer=",
38 
39       "Snapshot=t2.inf",
40 
41       "Mode=HTML",
42 
43       LAST);
44 
45  
46 
47    web_reg_find("Text=zyt",
48 
49       LAST);
50 
51  
52 
53   web_submit_data("login.pl",
54 
55       "Action=http://127.0.0.1:1080/WebTours/login.pl",
56 
57       "Method=POST",
58 
59       "TargetFrame=body",
60 
61       "RecContentType=text/html",
62 
63       "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
64 
65       "Snapshot=t3.inf",
66 
67       "Mode=HTML",
68 
69       ITEMDATA,
70 
71       "Name=userSession", "Value={WCSParam3}", ENDITEM,
72 
73       "Name=username", "Value=zyt", ENDITEM,
74 
75       "Name=password", "Value=123456", ENDITEM,
76 
77       "Name=JSFormSubmit", "Value=off", ENDITEM,
78 
79       "Name=login.x", "Value=36", ENDITEM,
80 
81       "Name=login.y", "Value=7", ENDITEM,
82 
83       LAST);
84 
85   lr_end_transaction("Login", LR_AUTO);
86 
87  
88 
89   return 0;
90 
91 }

注意事項:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM