您好,登錄后才能下訂單哦!
事務(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參數化詳解 之間有做過介紹,這里也不再重復。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。