當前位置:歷史故事大全網 - 故事大全 - 怎麽用jmeter對web進行測試

怎麽用jmeter對web進行測試

1.打開Java編譯器,新建壹個項目"TestLength",然後新建壹個包"app".

2.從Jmeter的安裝目錄lib/ext中拷貝兩個文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的項目中,然後引入這兩個JAR文件.(具體的引入方法參考各個Java編譯器的使用方法)

3.在"app"包中新建壹個類,名字叫"TestLength",不過這個類要繼承"AbstractJavaSamplerClient"類,如果項目引入步驟二中的兩個文件,就可以找到"AbstractJavaSamplerClient"類了.

4."TestLength"類在繼承"AbstractJavaSamplerClient"類的同時也會繼承四個方法,分別是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用於設置傳入的參數;"setupTest"方法為初始化方法,用於初始化性能測試時的每個線程."runTest"方法為性能測試時的線程運行體;"teardownTest"方法為測試結束方法,用於結束性能測試中的每個線程.

5.具體實現代碼如下:

package app;

import org.apache.jmeter.config.Arguments;

import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;

import org.apache.jmeter.samplers.SampleResult;

import com.passpod.core.t8.*;

/**

* @author樂以忘憂

*

* TODO To change the template for this generated type comment go to

* Window - Preferences - Java - Code Style - Code Templates

*/

public class TestLength extends AbstractJavaSamplerClient{

private SampleResult results;

private String testStr;

//初始化方法,實際運行時每個線程僅執行壹次,在測試方法運行前執行,類似於LoadRunner中的init方法

public void setupTest(JavaSamplerContext arg0) {

results = new SampleResult();

testStr = arg0.getParameter("testString", "");

if (testStr != null && testStr.length() > 0) {

results.setSamplerData(testStr);

}

}

//設置傳入的參數,可以設置多個,已設置的參數會顯示到Jmeter的參數列表中

public Arguments getDefaultParameters() {

Arguments params = new Arguments();

params.addArgument("testStr", ""); //定義壹個參數,顯示到Jmeter的參數列表中,第壹個參數為參數默認的顯示名稱,第二個參數為默認值

return params;

}

//測試執行的循環體,根據線程數和循環次數的不同可執行多次,類似於LoadRunner中的Action方法

public SampleResult runTest(JavaSamplerContext arg0) {

int len = 0;

results.sampleStart(); //定義壹個事務,表示這是事務的起始點,類似於LoadRunner的lr.start_transaction

len = testStr.length();

results.sampleEnd(); //定義壹個事務,表示這是事務的結束點,類似於LoadRunner的lr.end_transaction

if(len < 5){

System.out.println(testStr);

results.setSuccessful(false); //用於設置運行結果的成功或失敗,如果是"false"則表示結果失敗,否則則表示成功

}else

results.setSuccessful(true);

return results;

}

//結束方法,實際運行時每個線程僅執行壹次,在測試方法運行結束後執行,類似於LoadRunner中的end方法

public void teardownTest(JavaSamplerContext arg0) {

}

}

6.把上面的例子打包,然後把生成的"TestLength.jar"文件拷貝到Jmeter的安裝目錄lib/ext下.

7.運行Jmeter,添加壹個線程組,然後在該線程組下面添加壹個Java請求(在Sampler中),在Java請求的類名稱中選擇咱們剛創建的類"app.TestLength",在下面參數列表的"testStr"後面輸入要測試的字符串,然後添加壹個監聽器(聚合報告),設置壹下模擬的用戶數就可以測試了.如果測試不成功,Jmeter會在它自己個輸出框中拋出這個字符串.

通過上面的例子我們可以發現,使用Jmeter自定義Java測試代碼,配合Jmeter自帶的函數,就可以實現出LoadRunner中"Java Vuser"協議的絕大多數功能,而且是沒有用戶數限制和完全免費的(嘿嘿).上面的例子非常簡單,而且沒有任何實際意義,只是壹個簡單的Jmeter測試代碼示例,用於拋磚引玉,希望大家壹起交流,***同 進步.

  • 上一篇:學習雷鋒好榜樣五百字獲獎征文
  • 下一篇:一本涂书这本辅导书好用吗?
  • copyright 2024歷史故事大全網