11.1 事務(wù)的定義
在做性能測(cè)試的時(shí)候织咧,有些操作或請(qǐng)求是邏輯上依賴相關(guān)的一個(gè)整體剃执,不可分割;或者是為了方便度量我們關(guān)注的一組操作或請(qǐng)求的性能雅任,將要將其看做一個(gè)整體风范。
基于這些原因,我們把這些操作或請(qǐng)求放在一個(gè)事務(wù)控制器下沪么。
事務(wù)控制類似于簡(jiǎn)單控制器硼婿,不僅提供了元素分組的功能;除此之外禽车,還可以度量其包含的所有測(cè)試元素執(zhí)行的響應(yīng)時(shí)間寇漫。
只有當(dāng)事務(wù)控制器所有的取樣器都成功時(shí),事務(wù)控制器才成功殉摔。
11.2 事務(wù)控制器
使用事務(wù)控制器的典型場(chǎng)合:
1.當(dāng)要度量生成某個(gè)頁(yè)面的整體性能時(shí)州胳,不僅考慮頁(yè)面請(qǐng)求本身,還需要考慮完成頁(yè)面渲染所需要的image逸月、CSS栓撞、js等資源,因?yàn)檎?qǐng)求這些數(shù)據(jù)也會(huì)消耗系統(tǒng),網(wǎng)絡(luò)等資源瓤湘。故需要頁(yè)面請(qǐng)求與資源請(qǐng)求看做一個(gè)整體瓢颅,放在一個(gè)事務(wù)控制器下;
2.在做API或接口性能測(cè)試時(shí)弛说,接口之間存在邏輯依賴關(guān)系挽懦,后一個(gè)接口會(huì)引用前面接口返回的結(jié)果,故需要將這些接口看成一個(gè)整體剃浇,放在一個(gè)事務(wù)控制器下巾兆,度量性能才能接近真實(shí)場(chǎng)景;
3.在前面的請(qǐng)求服務(wù)器返回了token虎囚,后面的請(qǐng)求需要使用token角塑,這些請(qǐng)求有邏輯上的依賴關(guān)系,需要看成一個(gè)整體淘讥,放在一個(gè)事務(wù)控制器下圃伶。
配置項(xiàng)
Generate parent sample:
若勾選此項(xiàng),在聚合報(bào)告等監(jiān)聽(tīng)器中只顯示事務(wù)控制器本身的數(shù)據(jù)蒲列,不會(huì)顯示其下的每一個(gè)取樣器請(qǐng)求的數(shù)據(jù)窒朋;
反之,則會(huì)顯示事務(wù)控制器和其下的所有取樣器的數(shù)據(jù)蝗岖。
事務(wù)控制器有兩種模式的操作:
1.事務(wù)控制器額外生成的取樣器添加在其下所有的取樣器后面侥猩;
2.事務(wù)控制器額外生成的取樣器作為其下所有的取樣器的父取樣器。稱之為父模式抵赢。
不選(默認(rèn))是以模式1操作欺劳;勾選則以模式2操作。
若以父模式操作铅鲤,斷言等可以被添加到事務(wù)控制器下划提,
默認(rèn)情況下會(huì)作用于事務(wù)控制器下的每一個(gè)單獨(dú)的取樣器以及整個(gè)事務(wù)取樣器。
為了限制斷言的范圍邢享,可以考慮將多個(gè)取樣器和斷言同時(shí)放在同一個(gè)簡(jiǎn)單控制器下鹏往。
Include duration of timer and pre-post processors in generated sample:
事務(wù)控制器生成一個(gè)額外的取樣器,用于測(cè)量執(zhí)行嵌套測(cè)試元素所花費(fèi)的總時(shí)間骇塘。
默認(rèn)不包含內(nèi)嵌其中的定時(shí)器與前/后置處理耗費(fèi)的時(shí)間伊履。
若勾選此項(xiàng),則包含事務(wù)控制器下所有元素的處理時(shí)間款违。
11.3 應(yīng)用案例
登錄步驟
這里以ECshop前臺(tái)系統(tǒng)登錄為例唐瀑。
s1.直接訪問(wèn)ECshop前臺(tái)系統(tǒng)登錄頁(yè)面;
s2.在登錄頁(yè)面輸入用戶名及密碼奠货,點(diǎn)擊登錄介褥;
s3.跳轉(zhuǎn)到網(wǎng)站首頁(yè)座掘。
可以將步驟s1递惋、s2柔滔、s3對(duì)應(yīng)的操作看做一個(gè)事務(wù)。
運(yùn)行結(jié)果
具體操作較簡(jiǎn)單萍虽,不再細(xì)講睛廊。
1.先以非父模式運(yùn)行,查看結(jié)果樹與聚合報(bào)告如下:
2.以父模式運(yùn)行杉编,查看結(jié)果樹與聚合報(bào)告如下: