本節書摘來自異步社群《loadrunner 12七天速成寶典》一書中的第2章,第2.5節參數和變量,作者陳霁,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
2.5 參數和變量
雲雲:接着來說一下關于程式設計實作的方式,程式設計實作有兩條路徑:一個是走純變量,另一個是走變量轉參數。
戀戀:變量和參數有什麼差別來着?
雲雲:前面不是說過麼,參數是特殊的變量,參數是lr(loadrunner的縮寫)級别的,變量是c級别的。變量是屬于語言體系的,是以它需要符合c語言或者目前腳本語言體系的基本文法規範,比如:
這裡我用了3種變量,整型、字元串數組、指針型字元串,并且對其進行了指派以及輸出。
戀戀:c語言我懂,當年大學我c語言學的可好了,輸出是system.out.print,對吧。
雲雲:那是java,c語言是sprintf。
戀戀:快講參數!
雲雲:在lr中還有一種東西就是參數,其實前面你一直在用,但是用了所謂的參數化的概念,所謂的參數就是你看到可以用“{}”通路的内容,我們通過一個代碼可以将參數的值轉化為變量,也可以通過另外一個參數把變量轉化為參數。
戀戀:貌似好像,也許,确實講過。
雲雲:看懂下面的代碼,我們就可以準備出門了。
戀戀:讓我運作一下看看。
(幾分鐘過去後)
戀戀:哈哈,以我的聰明才智還能搞不定你這點小問題,這裡temp是一個參數,你寫了個函數lr_save_string把變量y的值儲存到了temp中,然後我記得lr_output_message後面要帶字元串,是以你用lr_eval_string把temp參數的值取了出來轉成了字元串,是以最後就輸出了,對吧。
雲雲:贊許地點了點頭。那麼要做大量資料參數化怎麼辦呢?
戀戀:我來寫個代碼看看。
奇怪為啥運作不起來呢?
雲雲:c語言的文法比較嚴謹,在這裡lrsave_string需要把一個字元串儲存到一個參數中去,但是_i是一個整型。
戀戀:那該怎麼辦呢?
雲雲:其實解決辦法很簡單,按一下f1鍵試試!
戀戀:我想偷懶,算了我還是自己試試。
戀戀:我就知道很簡單,幫助裡面有個lr_save_int函數,這個東西就能把整型放進參數,看代碼。
雲雲:嗯,但是你這個是數字,如果要用字元串呢?
戀戀:是不是還要别的函數啊?
雲雲:是的,算了這個不考你了,你看看我寫的代碼就懂了。
看懂我們就出門吃飯!
戀戀:sprintf這個函數好厲害,懂了,快出發吧!
**小結
能夠區分變量和參數,熟悉參數變量的轉換,對參數的跟蹤有一定的了解。**