一、loadrunner虛擬用戶開發(fā)---變量詳細(xì)解析
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、富錦網(wǎng)站維護(hù)、網(wǎng)站推廣。
變量的定義
局部變量和全局變量
1、在init action end中定義的變量就是局部變量
2、在gloabal中定義的變量是全局變量
3、什么時(shí)候定義全局變量?
整個(gè)過程中固定不變的,例如url地址,KEY 其他,需要定義成全局變量。
簡單例子:
在action里,定義一個(gè)變量a,賦值10,然后打印a,可以看到結(jié)果打印出10.
可以看出,在LR中打印的時(shí)候,只需要用LR的函數(shù)lr_output_message就可以了,C語言的函數(shù)printf沒起作用。
在C語言里,可以使用到變量時(shí)再定義變量,但是在LR里,需要在開始定義完,不可以在中間定義。
在vuser_init \vuser_action\ vuser_ end函數(shù)內(nèi)部定義的變量是局部變量,只能在該函數(shù)內(nèi)部使用。
例如,在action中定義了變量,vuser_end中打印變量a,則編譯的時(shí)候出現(xiàn)報(bào)錯(cuò),找不到定義的 a。
想要定義全局變量,需要在函數(shù)globals.h里。
以下在globals.h定義變量p,然后在init和end里調(diào)用變量,用來獲取內(nèi)存,回放結(jié)果是正常的。
二、 LR虛擬用戶腳本開發(fā)--常用語法和使用誤區(qū)
1、指針的用法
以下是腳本例子以及釋義:
運(yùn)行結(jié)果如下,結(jié)果打印出A和loadrunner
2、數(shù)組的用法
例子1:
打印結(jié)果中,為什么p=ABCDELoadrunner!!!,而不是p=ABCDE?這是因?yàn)樵贚R或者C語言中,以字符串的形式打印出一個(gè)指針,到什么時(shí)候結(jié)束呢,是到遇到\0的時(shí)候,,這是C語言的語法。P的結(jié)果打印從A開始,然后到E后,繼續(xù)打印Loadrunner!!!,在C語言中,字符串后邊會(huì)有默認(rèn)的\0,所以打印完字符串Loadrunner!!!就結(jié)束了。
例子2:
查看以上統(tǒng)計(jì)字符串長度的例子。針對字符串“Loadrunner!!!”,為什么sizeof拿到的長度是14,strlen拿到的是13?因?yàn)閟izeof統(tǒng)計(jì)了默認(rèn)的\0,而strlen沒有。
例子3:
這里的輸出結(jié)果為什么是abcdea,而不是abcde呢?因?yàn)閿?shù)組定義的長度是5,而字符串a(chǎn)bcde后邊有默認(rèn)的\0的,加上這個(gè)就是長度為6了,超長了所以\0被丟棄,打印完abcde后就繼續(xù)打印了a。
例子4:
如果把數(shù)組長度改成了6,那么輸出結(jié)果就是abcde了
需要注意的:
1)注意中文的分號;
2)變量使用前盡量初始化;
3)字符數(shù)組盡量少用;
4)在使用數(shù)組的時(shí)候,一定要保證數(shù)組足夠長