C語(yǔ)言和Loadrunner之間的聯(lián)系:
????????LR支持多種協(xié)議失都,對(duì)于不同的協(xié)議及汉,腳本使用的編程語(yǔ)言也有所不一樣,目前LR腳本幾乎支持所有主流語(yǔ)言丰嘉,比如C語(yǔ)言凉当、java枣申、VB、.NET;web(http/html)協(xié)議默認(rèn)使用的C語(yǔ)言看杭。
????????在腳本保存目錄中忠藤,我們可以看到有許多C語(yǔ)言的文件。
Action介紹
????????就是一個(gè)函數(shù)包泊窘,將用戶操作根據(jù)類型存放在不同的函數(shù)中熄驼,當(dāng)腳本生成的時(shí)候,會(huì)在對(duì)應(yīng)的目錄下生成vuser_init.c,vuser.c烘豹、vuser_end.c 3個(gè)action瓜贾,每個(gè)action是一組功能的集合,默認(rèn)的action包含獨(dú)立的3個(gè)函數(shù)為vuser_init()携悯, vuser_action()祭芦,vuser_end()。
????????action函數(shù)結(jié)尾處都有一個(gè)return 0的命令憔鬼,這是用來(lái)退出整個(gè)函數(shù)的龟劲。Return0說(shuō)明該函數(shù)正常的結(jié)束胃夏。
Loadrunner腳本語(yǔ)言的架構(gòu):
Vuser_init 函數(shù):
????一般將用戶初始化的操作放在里面,如登錄操作等昌跌。
Action 函數(shù):
????是虛擬用戶要做的業(yè)務(wù)仰禀。用戶的業(yè)務(wù)操作,也就是測(cè)試內(nèi)容的主體
Vuser_end 函數(shù):
????與Vuser——init相對(duì)應(yīng)蚕愤,Vuser_end做收尾工作答恶。
通過(guò)運(yùn)行接過(guò)可以想象LR的實(shí)現(xiàn)是如下圖:
Loadroadrunner數(shù)據(jù)類型
表達(dá)式:
#define 定義常量
表達(dá)式語(yǔ)句
????表達(dá)式語(yǔ)句由表達(dá)式加上分號(hào)“;”組成
函數(shù)的調(diào)用:
函數(shù)的調(diào)用語(yǔ)句
????????函數(shù)的調(diào)用語(yǔ)句由函數(shù)名萍诱,實(shí)際參數(shù)加上分號(hào)“悬嗓;”組成。
條件語(yǔ)句:
if條件判斷句
switch條件語(yǔ)句
Do While循環(huán)語(yǔ)句裕坊,至少要循環(huán)一次
While循環(huán)語(yǔ)句
For循環(huán)語(yǔ)句
字符串:
C語(yǔ)言里沒有字符串類型的數(shù)據(jù)包竹,可以用字符數(shù)組來(lái)表示一個(gè)字符串。
例如 char test[]=“abcdefg”;
頭文件
頭文件globals.h 分析頭文件globals.h 分析
全局變量和局部變量
腳本的調(diào)試對(duì)于腳本的編寫非常重要
斷點(diǎn)設(shè)置技術(shù)是腳本開發(fā)中最重要的開發(fā)技術(shù)
????????當(dāng)預(yù)期結(jié)果與實(shí)際結(jié)果不一致時(shí)籍凝,可以在懷疑有問題的代碼前插入斷點(diǎn)周瞎,當(dāng)程序運(yùn)行到斷點(diǎn)的時(shí)候,就會(huì)停下來(lái)静浴,這時(shí)候可以通過(guò)日志堰氓,定位問題挤渐。
設(shè)置斷點(diǎn)的三種方式
????????點(diǎn)擊右鍵選Toggle Breakpoint 或者點(diǎn)擊菜單欄的[insert]> [ToggleBreakpoint] 或者按F9 設(shè)置斷點(diǎn)苹享。
單步跟蹤
????????每執(zhí)行一條語(yǔ)句,程序就會(huì)停下來(lái)浴麻,可以結(jié)合日志分析腳本得问。可以通過(guò)F10 软免,或者[Vuser]>[run step by step] 進(jìn)行單步跟蹤宫纬,每按一次F10 ,腳本就會(huì)執(zhí)行一行膏萧。