為了充分利用LoadRunner的情境控制和分析器,協助我們更好地控制指令碼載入過程,從而展現更直觀有效情境分析圖表。本次將重點討論LoadRunner如何調用Java測試代碼,完成壓力測試。
通常我們在執行一些Server的壓力測試的時候,總會不經意間想要一個Client完成對Server的調用樣本,以至於我們可以通過LoadRunner直接錄製,對於測試人員來說確實很方便。不過,開發人
員如果沒有那麼多時間去為測試人員服務,那可能就比較悲劇了,只能自己嘗試去調用介面來完成壓力測試了,這樣就需要具備一些代碼的功底了。當然如果完成介面代碼的調用之後,還要保證
LoadRunner能夠正確錄製,那確實有點麻煩了。很多時候,我們的介面壓力可能確實無法通過Client端來展現,那就只能在Server使用純程式碼形式完成,要麼是多線程,要麼是重複調用,但對於測試
結果的收集就不那麼方便了。所以我們還是要向辦法利用一些工具的優勢,取之所長,為我們所用,LoadRunner的圖表分析就是所有工具裡面最優秀的,正好它也支援Java代碼、C++等調用介面,這
裡以Java為例。
通常在一個工程檔案下,我們想對其中某一個Java檔案進行調用,但這一個Java代碼總是與其他的代碼進行相互調用,所以我就需要引入很多的Java包或者是一些Jar包,下面就通過本次實踐來詳
細講述LoadRunner調用Java代碼的步驟了,我這裡的環境是LoadRunner11,JDK1.6,工程開發是Java+Flex,完成的是一個統一登入介面的測試。具體步驟如下:
1、將Java工程檔案打包成jar格式,比如我這裡的工程為logindemo,打包jar之後為logindemo.jar
2、將Java工程檔案下的lib目錄找出來,lib檔案中基本都是jar包,這個是工程檔案的調用jar包
3、開啟LoadRunner建立一個Java Vuser的指令碼,先運行哈,看指令碼是否正確執行,並儲存檔案
4、將logindemo.jar和lib下的jar全部匯入到LoadRunner的ClassPath下,前提是要保證JDK檔案要匯入到LR中,在LR中的Vuser——》運行時設定裡,如所示;
5、完成以上操作之後,這個時候我們就可以在Vuser指令碼中引入Java中的調用程式了,本人開始用import方式引入的時候,發現很奇怪,第一次居然是成功的,但後台就一直都報找不到包,暫停了很久,於是用package的方式引入,發現還是真可以,於是接下來就開始運行,發現很好用,而且程式調用也確實是ok的。
注意:這裡其實沒什麼特殊的操作,主要是對於jar包的調用方式上,可能需要注意一下幾點:
1、在引入jar包的時候,比如上面的引入jar檔案夾的方式,就不可行,這個是一個疑點,所以就只能選擇將所有的jar包一併匯入就ok了
2、在Vuser中引入Java包檔案時,import方式居然是偶爾行偶爾不行,所以選擇package方式是絕對可行的
3、在Vuser引入Java包之後運行時可能會出現一些報錯,基本都是jar檔案情況,只要找對了LoadRunner的Classpath就基本沒問題,還有就是JDK一定要先匯入,不然會直接提示進程被終止,
不能運行Java檔案
4、LoadRunner對於Java檔案的引入方式有多種,這裡調用jar包的方式是我們平常應用最多的,也是最方便的。當然還可以將Java編譯後的class檔案,複製到LoadRunner的安裝路徑下的
classes下,必須將Java class整個包檔案夾全部複製才能執行,這種方式可需要花費調用的時間,而且最終要調用的jar包,還是要到Classpath下匯入才行。
至於Java商務邏輯的實現,可以在Java中實現,然後Vuser直接調用方法介面,淡然也可以在Vuser中完成。然後就可以到情境中設定虛擬使用者數進行情境測試了,然後根據情境測試的結果得出分
析圖表,跟其他錄製之後的測試方式基本相同。