loadrunner虛擬用戶腳本開發(一)

1、loadrunner虛擬用戶開發---變量詳細解析數組

 

變量的定義ide

局部變量和全局變量函數

1、在init  action end中定義的變量就是局部變量url

2、在gloabal中定義的變量是全局變量spa

3、何時定義全局變量?指針

整個過程當中固定不變的,例如url地址,KEY 其餘,須要定義成全局變量。blog

 

簡單例子:內存

image.png


action裏,定義一個變量a,賦值10,而後打印a,能夠看到結果打印出10.開發

能夠看出,在LR中打印的時候,只須要用LR的函數lr_output_message就能夠了,C語言的函數printf沒起做用。字符串

 

C語言裏,可使用到變量時再定義變量,可是在LR裏,須要在開始定義完,不能夠在中間定義。

vuser_init \vuser_action\ vuser_ end函數內部定義的變量是局部變量,只能在該函數內部使用。

例如,在action中定義了變量,vuser_end中打印變量a,則編譯的時候出現報錯,找不到定義的 a

image.png

想要定義全局變量,須要在函數globals.h裏。

如下在globals.h定義變量p,而後在initend裏調用變量,用來獲取內存,回放結果是正常的。

 image.png

image.png

image.png



2、 LR虛擬用戶腳本開發--經常使用語法和使用誤區

 

1、指針的用法

如下是腳本例子以及釋義:

image.png

 

運行結果以下,結果打印出Aloadrunner


 image.png

2、數組的用法

 

例子1

image.png

打印結果中,爲何p=ABCDELoadrunner!!!,而不是p=ABCDE?這是由於在LR或者C語言中,以字符串的形式打印出一個指針,到何時結束呢,是到遇到\0的時候,,這是C語言的語法。P的結果打印從A開始,而後到E後,繼續打印Loadrunner!!!,在C語言中,字符串後邊會有默認的\0,因此打印完字符串Loadrunner!!!就結束了。

 

例子2

image.png

 

查看以上統計字符串長度的例子。針對字符串「Loadrunner!!!」,爲何sizeof拿到的長度是14strlen拿到的是13?由於sizeof統計了默認的\0,而strlen沒有。

 

例子3

image.png

這裏的輸出結果爲何是abcdea,而不是abcde呢?由於數組定義的長度是5,而字符串abcde後邊有默認的\0的,加上這個就是長度爲6了,超長了因此\0被丟棄,打印完abcde後就繼續打印了a

 

例子4

若是把數組長度改爲了6,那麼輸出結果就是abcde

image.png

 

須要注意的:

1)注意中文的分號;

2)變量使用前儘可能初始化;

3)字符數組儘可能少用;

4)在使用數組的時候,必定要保證數組足夠長

相關文章
相關標籤/搜索