事務(wù)(Transaction)用于模擬用戶的一個(gè)相對(duì)完整的、有意義的業(yè)務(wù)操作過(guò)程,例如登錄、查詢、交易、轉(zhuǎn)賬,這些都可以作為事務(wù),而一般不會(huì)把每次HTTP請(qǐng)求作為一個(gè)事務(wù)。
創(chuàng)新互聯(lián)是一家專業(yè)提供大同企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為大同眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
拿筆者所測(cè)試的郵箱系統(tǒng)為例,對(duì)于郵箱來(lái)說(shuō)更基本且用戶使用最多的應(yīng)用就是收發(fā)郵件功能,我們可以拿發(fā)郵件看作一個(gè)事務(wù):打開(kāi)寫(xiě)信頁(yè),填寫(xiě)收件人,主題,內(nèi)容,點(diǎn)擊發(fā)信。在做性能需求分析的時(shí)候也就是把系統(tǒng)的業(yè)務(wù)抽離出來(lái),在性能腳本中用事務(wù)來(lái)描述。
我們?cè)阡浿颇_本的過(guò)程中,可以通過(guò)錄制面板的事務(wù)按鈕來(lái)添加事務(wù)。
同樣以loadrunner 自帶WebTours為例,操作步驟:
1、打WebTours首頁(yè)
2、點(diǎn)擊事務(wù)開(kāi)始按鈕,輸入“登錄”
3、輸入用戶名密碼點(diǎn)擊登錄按鈕
4、點(diǎn)擊事務(wù)結(jié)束按鈕,確定。(注意:事務(wù)的開(kāi)始與結(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ù)開(kāi)始函數(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; }
查看運(yùn)行結(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).
通過(guò)運(yùn)行結(jié)果我們可以很清晰地看到本次事務(wù)是pass的,整個(gè)腳本的持續(xù)時(shí)間和事務(wù)的消耗時(shí)間等。
插入事務(wù)的方法:
插入事務(wù)操作可以在錄制腳本過(guò)程中,也可以在錄制結(jié)束后進(jìn)行。可以在腳本中找到需要添加事務(wù)的部分,直接插入:
-------------------------------------------------
lr_start_transaction("事務(wù)");
.....
lr_end_transaction("事務(wù)",LR_AUTO);
------------------------------------------------
注意:1、開(kāi)始與結(jié)束函數(shù)必須成對(duì)出現(xiàn)
2、事務(wù)的名稱必須一樣。
當(dāng)然,我們也可以將鼠標(biāo)定位到要插入事務(wù)的位置,通過(guò)菜單欄來(lái)插入事務(wù)(insert--->start transaction/end transaction)
---------------------------------------------------------------------------
到些,loadrunner 腳本的一些基本設(shè)置已經(jīng)介紹完了。你疑問(wèn),是不是少了很重要的概念,參數(shù)化。
LoadRunner參數(shù)化詳解 之間有做過(guò)介紹,這里也不再重復(fù)。