1. 程式人生 > >loadrunner虛擬用戶腳本開發

loadrunner虛擬用戶腳本開發

loadrunner腳本開發

一、loadrunner虛擬用戶開發---變量詳細解析

變量的定義

局部變量和全局變量

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

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

3、什麽時候定義全局變量?

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

簡單例子:

技術分享圖片


技術分享圖片


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

技術分享圖片

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

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

技術分享圖片

技術分享圖片

技術分享圖片



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

1、指針的用法

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

技術分享圖片

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


技術分享圖片

2、數組的用法

例子1

技術分享圖片

打印結果中,為什麽p=ABCDELoadrunner!!!,而不是p=ABCDE?這是因為在LR或者C語言中,以字符串的形式打印出一個指針,到什麽時候結束呢,是到遇到\0的時候,,這是

C語言的語法。P的結果打印從A開始,然後到E後,繼續打印Loadrunner!!!,在C語言中,字符串後邊會有默認的\0,所以打印完字符串Loadrunner!!!就結束了。

例子2

技術分享圖片

查看以上統計字符串長度的例子。針對字符串“Loadrunner!!!”,為什麽sizeof拿到的長度是14strlen拿到的是13?因為sizeof統計了默認的\0,而strlen沒有。

例子3

技術分享圖片

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

例子4

如果把數組長度改成了

6,那麽輸出結果就是abcde

技術分享圖片

需要註意的:

1)註意中文的分號;

2)變量使用前盡量初始化;

3)字符數組盡量少用;

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


loadrunner虛擬用戶腳本開發