java中的HttpTestScript Recorder

有谁知道如何使用java代码将HTTPTestscriptRecorder添加到jmeter? 请帮助我。 我已在Threadgroup中成功添加了工作台和录制控制器,但无法添加HTTPTestscriptRecorder

 import java.io.FileOutputStream; import junit.framework.TestSuite; import org.apache.jmeter.control.LoopController; import org.apache.jmeter.control.gui.LogicControllerGui; import org.apache.jmeter.control.gui.LoopControlPanel; import org.apache.jmeter.control.gui.TestPlanGui; import org.apache.jmeter.control.gui.WorkBenchGui; import org.apache.jmeter.gui.tree.JMeterTreeNode; import org.apache.jmeter.protocol.http.control.RecordingController; import org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui; import org.apache.jmeter.protocol.http.control.gui.RecordController; import org.apache.jmeter.protocol.java.control.gui.JavaTestSamplerGui; import org.apache.jmeter.protocol.java.sampler.JavaSampler; import org.apache.jmeter.save.SaveService; import org.apache.jmeter.testelement.TestElement; import org.apache.jmeter.testelement.TestPlan; import org.apache.jmeter.testelement.WorkBench; import org.apache.jmeter.threads.ThreadGroup; import org.apache.jmeter.threads.gui.ThreadGroupGui; import org.apache.jmeter.util.JMeterUtils; import org.apache.jorphan.collections.HashTree; public class Jmeter { public static void main(String[] argv) throws Exception { // Initialize the configuration variables String jmeterHome = "/home/ksahu/apache-jmeter-2.13"; JMeterUtils.setJMeterHome(jmeterHome); JMeterUtils.loadJMeterProperties(JMeterUtils.getJMeterBinDir() + "/jmeter.properties"); JMeterUtils.initLogging(); JMeterUtils.initLocale(); // TestPlan TestPlan testPlan = new TestPlan(); testPlan.setName("Test Plan"); testPlan.setEnabled(true); testPlan.setProperty(TestElement.TEST_CLASS, TestPlan.class.getName()); testPlan.setProperty(TestElement.GUI_CLASS, TestPlanGui.class.getName()); // LogicControllerGui lc= new LogicControllerGui(); RecordingController rc=new RecordingController(); rc.setName("Recording Controller"); rc.setProperty(TestElement.TEST_CLASS, TestElement.class.getName()); rc.setProperty(TestElement.GUI_CLASS, LogicControllerGui.class.getName()); // ThreadGroup controller LoopController loopController = new LoopController(); loopController.setEnabled(true); loopController.setLoops(5); loopController.setProperty(TestElement.TEST_CLASS, LoopController.class.getName()); loopController.setProperty(TestElement.GUI_CLASS, LoopControlPanel.class.getName()); // ThreadGroup ThreadGroup threadGroup = new ThreadGroup(); threadGroup.setName("Thread Group"); threadGroup.setEnabled(true); threadGroup.setSamplerController(loopController); threadGroup.setNumThreads(5); threadGroup.setRampUp(10); threadGroup.setProperty(TestElement.TEST_CLASS, ThreadGroup.class.getName()); threadGroup.setProperty(TestElement.GUI_CLASS, ThreadGroupGui.class.getName()); // JavaSampler JavaSampler javaSampler = new JavaSampler(); javaSampler.setClassname("my.example.sampler"); javaSampler.setEnabled(true); javaSampler.setProperty(TestElement.TEST_CLASS, JavaSampler.class.getName()); javaSampler.setProperty(TestElement.GUI_CLASS, JavaTestSamplerGui.class.getName()); // Create TestPlan hash tree HashTree testPlanHashTree = new HashTree(); testPlanHashTree.add(testPlan); // Add ThreadGroup to TestPlan hash tree HashTree threadGroupHashTree = new HashTree(); threadGroupHashTree = testPlanHashTree.add(testPlan, threadGroup); // Add Java Sampler to ThreadGroup hash tree HashTree javaSamplerHashTree = new HashTree(); javaSamplerHashTree = threadGroupHashTree.add(rc); RecordController rd=new RecordController(); rd.setName("Record Controller"); HttpTestSampleGui http=new HttpTestSampleGui(); WorkBench wb=new WorkBench(); wb.setProperty(TestElement.TEST_CLASS, WorkBench.class.getName()); wb.setProperty(TestElement.GUI_CLASS, WorkBenchGui.class.getName()); wb.setName("WorkBench"); testPlanHashTree.add(wb); javaSamplerHashTree = wb.add(rd); // wb.addTestElement(); // http.putClientProperty(TestElement.TEST_CLASS, // JavaSampler.class.getName()); // http.putClientProperty(TestElement.GUI_CLASS, // JavaTestSamplerGui.class.getName()); // testPlanHashTree.add(http); // Save to jmx file SaveService.saveTree(testPlanHashTree, new FileOutputStream( "/home/ksahu/MyScreenshots/k.jmx")); System.out.println("completed"); } }