用Java user的協議進行所有數據庫性能的測試工作:
Java user 不需要錄制,把所有的操作通過java語言進行實現,通過lr調用java的class進行加壓批量操作,這樣可以不關心被測系統是哪個數據庫,只要能夠通過jdbc進行訪問,就能實現性能測試。
壹、測試環境準備
1. 被測服務器準備,根據測試目的,搭建需要的數據庫服務器,確保數據庫能夠正常訪問,正常操作;
2. Java代碼的準備,無論使用哪種IDE,只要能夠編寫訪問數據庫的class就可以,形式可以是j2se,也可以是j2ee,因為在操作時只使用class的部分方法,所以j2ee就可以了;
3. LR的腳本調試,把java的class導入到腳本調試模式,根據需要添加事務以及其他操作。
二、編寫數據庫訪問
1. 使用myeclipse,創建web project,創建如下圖的包目錄:
Java文件中包含各種訪問數據庫的方法。
需要註意的是,class中的方法必須是public static,否則LR中無法調用。由於創建的是j2ee程序,所以不用main函數,在web中就可以進行功能驗證。
確認class中的方法編寫完成,創建壹個web.jsp文件,如下:
導入class
聲明類,並實例化,直接調用剛才編寫的3個方法,因為這3個方法是直接對數據庫進行操作,不需要實參,也沒有返回值,所以直接實現即可。
此時啟動web服務,在瀏覽器中輸入jsp的地址,直接刷新頁面,就可以調用這3個方法,如果正確,就會對相應的表進行操作,如果不正確,則需要修改相應的代碼。
2. LR腳本準備:
LR腳本實際上就是對訪問代碼的調用,關鍵在於需要根據測試場景劃分不同的腳本布局。
例如:在myEclipse裏,我們只編寫了壹個class,其中包含三個方法,如果在執行性能測試時,這三個方法相互獨立,互不幹涉,則最簡單的劃分方法是,創建三個java user,每個java user中包含壹個方法,做三份腳本,場景執行時分別進行調用。如果三個方法之間有相互關系,則需要根據實際情況,把有關聯的方法放在壹起,具體情況可按實際靈活分配。
因為已經將class文件進行編譯發布了,所以可以在“java2postgres\WebRoot\WEB-INF\classes\com\lr\test”目錄中找到對應的class文件,
復制這個文件,找到LR的目錄:HP\LoadRunner\classes\com\lr\test\ 如果沒有文件夾,按相同的內容創建。
在LR腳本中進行引包操作:
將需要執行的java類以及方法,放在action中,可根據實際測試情況和所需要驗證的內容,具體調試代碼。
在這裏可以像編寫普通LR腳本壹樣,添加事務或集合點等內容。
由於是通過JDBC對數據庫進行訪問,因此要在java user中加載jdbc驅動。
運行時設置中,增加jdbc驅動,需要註意的是java user使用的本地jdk,需要至多1.6版本,若使用1.7版本,回放會有錯誤,這是jdk版本的問題。
操作完成之後,按F5或點擊運行,進行腳本回放,實際此時也對數據庫進行了操作,可以直接查詢對應的表,檢查功能是否正確。
三、執行性能測試
已經有了java user的腳本,和普通web性能測試壹樣,設計場景、執行測試、收集報告、分析性能瓶頸即可。