您好,登錄后才能下訂單哦!
事務(wù)(Transaction)用于模擬用戶的一個相對完整的、有意義的業(yè)務(wù)操作過程,例如登錄、查詢、交易、轉(zhuǎn)賬,這些都可以作為事務(wù),而一般不會把每次HTTP請求作為一個事務(wù)。
拿筆者所測試的郵箱系統(tǒng)為例,對于郵箱來說更基本且用戶使用最多的應(yīng)用就是收發(fā)郵件功能,我們可以拿發(fā)郵件看作一個事務(wù):打開寫信頁,填寫收件人,主題,內(nèi)容,點擊發(fā)信。在做性能需求分析的時候也就是把系統(tǒng)的業(yè)務(wù)抽離出來,在性能腳本中用事務(wù)來描述。
我們在錄制腳本的過程中,可以通過錄制面板的事務(wù)按鈕來添加事務(wù)。
同樣以loadrunner 自帶WebTours為例,操作步驟:
1、打WebTours首頁
2、點擊事務(wù)開始按鈕,輸入“登錄”
3、輸入用戶名密碼點擊登錄按鈕
4、點擊事務(wù)結(jié)束按鈕,確定。(注意:事務(wù)的開始與結(jié)束的名稱一定要一致)
腳本如下:
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("登陸"); //事務(wù)開始函數(shù) 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); //事務(wù)結(jié)束函數(shù) return 0; }
查看運行結(jié)果:
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).
通過運行結(jié)果我們可以很清晰地看到本次事務(wù)是pass的,整個腳本的持續(xù)時間和事務(wù)的消耗時間等。
插入事務(wù)的方法:
插入事務(wù)操作可以在錄制腳本過程中,也可以在錄制結(jié)束后進行??梢栽谀_本中找到需要添加事務(wù)的部分,直接插入:
-------------------------------------------------
lr_start_transaction("事務(wù)");
.....
lr_end_transaction("事務(wù)",LR_AUTO);
------------------------------------------------
注意:1、開始與結(jié)束函數(shù)必須成對出現(xiàn)
2、事務(wù)的名稱必須一樣。
當然,我們也可以將鼠標定位到要插入事務(wù)的位置,通過菜單欄來插入事務(wù)(insert--->start transaction/end transaction)
---------------------------------------------------------------------------
到些,loadrunner 腳本的一些基本設(shè)置已經(jīng)介紹完了。你疑問,是不是少了很重要的概念,參數(shù)化。
LoadRunner參數(shù)化詳解 之間有做過介紹,這里也不再重復(fù)。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。