從JMeter安裝目錄lib/ext中兩個jar包buildPath到Java project中,分別是「ApacheJMeter_core.jar"和「ApacheJMeter_java.jar」java
package com.jmeter_test; 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; /** * Jmeter自定義腳本測試類. * 該腳本功能爲發送輸入框中的字符串。 * @param <log> * @param <log> * @param <Logger> */ public class jmeter_test<log, log, Logger> extends AbstractJavaSamplerClient { /** * 輸出到Jmeter控制檯的日誌類. * 須要引用Jmeter lib目錄下的logkit-2.0.jar. */ private Logger log = getLogger(); private SampleResult results; // 運行結果. private String testString; // Jmeter控制檯輸入的參數. /** * 設置傳入的參數,能夠設置多個,已設置的參數會顯示到Jmeter的參數列表中. */ public Arguments getDefaultParameters() { log.info("execute getDefaultParameters..."); Arguments params = new Arguments(); /* * 定義一個參數,顯示到Jmeter的參數列表中, * 第一個參數爲參數默認的顯示名稱, * 第二個參數爲默認值 */ params.addArgument("testStringing", ""); return params; } /** * 初始化方法,實際運行時每一個線程僅執行一次,在測試方法運行前執行, * 相似於LoadRunner中的init方法. */ public void setupTest(JavaSamplerContext arg0) { log.info("start execute setupTest..."); results = new SampleResult(); testString = arg0.getParameter("testString", ""); if (testString != null && testString.length() > 0) { results.setSamplerData(testString); } } /** * 測試執行的循環體,根據線程數和循環次數的不一樣可執行屢次,相似於LoadRunner中的Action方法 */ public SampleResult runTest(JavaSamplerContext arg0) { log.info("execute runTest..."); //定義一個事務,表示這是事務的起始點,相似於LoadRunner的lr.start_transaction // results.sampleStart(); //定義一個事務,表示這是事務的結束點,相似於LoadRunner的lr.end_transaction // results.sampleEnd(); if(testString.length() < 5){ log.info("fail..."); //用於設置運行結果的成功或失敗,若是是"false"則表示結果失敗,不然則表示成功 results.setSuccessful(false); } else { log.info("testStringing is\t "+testString); results.setSuccessful(true); } return results; } /** * 結束方法,實際運行時每一個線程僅執行一次,在測試方法運行結束後執行,<br> * 相似於LoadRunner中的end方法. */ public void teardownTest(JavaSamplerContext arg0) { } /**main函數用於本地調試,打包時要註釋掉*/ //* public static void main(String[] args) { Arguments params = new Arguments(); params.addArgument("testString", "51zxw");//設置參數,並賦予默認值1 JavaSamplerContext arg0 = new JavaSamplerContext(params); jmeter_test test = new jmeter_test(); test.setupTest(arg0); test.runTest(arg0); test.teardownTest(arg0); }/**/ }