BeanShell是一個小巧免費的JAVA源碼解釋器,支持對象式的腳本語言特性,亦可嵌入到JAVA源代碼中,能動態執行JAVA源代碼併爲其擴展了腳本語言的一些特性.
JMeter裏面提供了對BeanShell的支持,用戶可以利用BeanShell寫一些腳本來輔助性能測試。這裏順便提一下,在TestNG這個單元測試框架,也是支持BeanShell的。
藉助BeanShell的使用,來測試一個Java工具類裏面的方法調用。例如開發寫了一個工具類,這個不是一個接口,但是供很多地方調用的一個工具類。我們有這麼一個需求,想測試下這個工具類裏面方法的壓力或者性能瓶頸。這個時候,我們就需要把這個工具類導出jar包,然後把jar包添加到JMeter中,我們可以利用BeanShell進行對工具類的方法進行調用和測試。確定能測試通過之後,我們就可以進行壓測。
用JMeter創建測試數據。
登錄接口,JSON提取器獲得UserName+ Token.
用Beanshell腳本將Username+ Token保存到File裏。
1.先在Eclipse上寫一個工具類,代碼如下。
package testing;
public class Calculation {
public int sum(int a, int b) {
return a + b;
}
public int sub(int a, int b) {
return a - b;
}
public int mul(int a, int b) {
return a * b;
}
public int div(int a, int b) {
return a / b;
}
}
2.把工具類導出成jar文件
點擊項目名稱,右鍵,選擇export,導出,選擇JAR file.
選擇導出到桌面,我命名這個Jar文件名爲JMeterUtil.jar
3.Jar文件添加到JMeter
打開JMeter,點擊測試計劃下面的瀏覽器按鈕,上傳JMeterUtil.jar文件
4.添加一個BeanShell Sampler
在當前線程組下,添加一個BeanShell Sampler. 輸入如下代碼,我們來測試下調用工具類裏面的兩個整數相加的方法是否可行。
添加一個察看結果樹監聽,看看運行結果。
通過上面的過程,你應該知道如果開發給你一個jar包,讓你測試裏面某一個方法的壓力,你就可以根據上面的步驟,設計相關的測試用例。