https://bz.apache.org/bugzilla/show_bug.cgi?id=64873

--- Comment #1 from Qiuhui Ling <[email protected]> ---
Comment on attachment 37545
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=37545
the file to reoccur the bug

>package com.cbim.dataservice.sample.testForJmeterSrc;
>
>import java.io.File;
>import java.io.FileOutputStream;
>
>import org.apache.jmeter.config.Arguments;
>import org.apache.jmeter.config.gui.ArgumentsPanel;
>import org.apache.jmeter.control.LoopController;
>import org.apache.jmeter.control.gui.LoopControlPanel;
>import org.apache.jmeter.control.gui.TestPlanGui;
>import org.apache.jmeter.engine.JMeterEngine;
>import org.apache.jmeter.engine.StandardJMeterEngine;
>import org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui;
>import org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy;
>import org.apache.jmeter.reporters.ResultCollector;
>import org.apache.jmeter.reporters.Summariser;
>import org.apache.jmeter.save.SaveService;
>import org.apache.jmeter.testelement.TestElement;
>import org.apache.jmeter.testelement.TestPlan;
>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 JMeterFromScratch_StandEngine5 {
>
>    public static void main(String[] argv) throws Exception {
>        // 设置jmeterHomeè·¯å¾
>        String jmeterHome1 = 
> "E:\\Programing\\JmeterRestAPI\\JmeterInstallation\\apache-jmeter-5.0";
>        //File jmeterHome = new File(System.getProperty("jmeter.home"));
>        File jmeterHome = new File(jmeterHome1);
>        String slash = System.getProperty("file.separator");
>
>        if (jmeterHome.exists()) {
>            File jmeterProperties = new File(jmeterHome.getPath() + slash + 
> "bin" + slash + "jmeter.properties");
>            if (jmeterProperties.exists()) {
>                //JMeter Engine 弿
>               //qiuhui comment 2020-11-2
>                //StandardJMeterEngine jmeter = new StandardJMeterEngine();
>                JMeterEngine jmeter = new StandardJMeterEngine();
>
>                //JMeter initialization (properties, log levels, locale, etc)
>                JMeterUtils.setJMeterHome(jmeterHome.getPath());
>                JMeterUtils.loadJMeterProperties(jmeterProperties.getPath());
>                JMeterUtils.initLogging();// you can comment this line out to 
> see extra log messages of i.e. DEBUG level
>                JMeterUtils.initLocale();
>
>
>                // JMeter Test Plan, basically JOrphan HashTree
>                HashTree testPlanTree = new HashTree();
>
>                // 第ä¸ä¸ª HTTP Sampler - æå¼ baidu.com
>                HTTPSamplerProxy examplecomSampler = new HTTPSamplerProxy();
>                examplecomSampler.setDomain("baidu.com");
>                examplecomSampler.setPort(80);
>                examplecomSampler.setPath("/");
>                examplecomSampler.setMethod("GET");
>                examplecomSampler.setName("Open baidu.com");
>                examplecomSampler.setProperty(TestElement.TEST_CLASS, 
> HTTPSamplerProxy.class.getName());
>                examplecomSampler.setProperty(TestElement.GUI_CLASS, 
> HttpTestSampleGui.class.getName());
>
>
>                // 第äºä¸ª HTTP Sampler - æå¼ qq.com
>                HTTPSamplerProxy blazemetercomSampler = new HTTPSamplerProxy();
>                blazemetercomSampler.setDomain("qq.com");
>                blazemetercomSampler.setPort(80);
>                blazemetercomSampler.setPath("/?fromdefault");
>                blazemetercomSampler.setMethod("GET");
>                blazemetercomSampler.setName("Open qq.com");
>                blazemetercomSampler.setProperty(TestElement.TEST_CLASS, 
> HTTPSamplerProxy.class.getName());
>                blazemetercomSampler.setProperty(TestElement.GUI_CLASS, 
> HttpTestSampleGui.class.getName());
>
>
>                // Loop Controller å¾ªç¯æ§å¶
>                LoopController loopController = new LoopController();
>                loopController.setLoops(1);
>                loopController.setFirst(true);
>                loopController.setProperty(TestElement.TEST_CLASS, 
> LoopController.class.getName());
>                loopController.setProperty(TestElement.GUI_CLASS, 
> LoopControlPanel.class.getName());
>                loopController.initialize();
>
>                // Thread Group 线ç¨ç»
>                ThreadGroup threadGroup = new ThreadGroup();
>                threadGroup.setName("Example Thread Group");
>                threadGroup.setNumThreads(1);
>                threadGroup.setRampUp(1);
>                threadGroup.setSamplerController(loopController);
>                threadGroup.setProperty(TestElement.TEST_CLASS, 
> ThreadGroup.class.getName());
>                threadGroup.setProperty(TestElement.GUI_CLASS, 
> ThreadGroupGui.class.getName());
>
>                // Test Plan æµè¯è®¡å
>                TestPlan testPlan = new TestPlan("Create JMeter Script From 
> Java Code");
>                testPlan.setProperty(TestElement.TEST_CLASS, 
> TestPlan.class.getName());
>                testPlan.setProperty(TestElement.GUI_CLASS, 
> TestPlanGui.class.getName());
>                testPlan.setUserDefinedVariables((Arguments) new 
> ArgumentsPanel().createTestElement());
>
>                // Construct Test Plan from previously initialized elements
>                // ä»ä»¥ä¸åå§åçåç´ æé æµè¯è®¡å
>                testPlanTree.add(testPlan);
>                HashTree threadGroupHashTree = testPlanTree.add(testPlan, 
> threadGroup);
>                threadGroupHashTree.add(blazemetercomSampler);
>                threadGroupHashTree.add(examplecomSampler);
>
>                // save generated test plan to JMeter's .jmx file format
>                // å°çæçæµè¯è®¡åä¿å­ä¸ºJMeterç.jmxæä»¶æ ¼å¼
>                SaveService.saveTree(testPlanTree, new 
> FileOutputStream(jmeterHome + slash + "exampleQiuhuiDesign.jmx"));
>
>                //add Summarizer output to get test progress in stdout like:
>                // å¨stdout中添å summaryè¾åºï¼å¾å°æµè¯è¿åº¦ï¼å¦:
>                // summary =      2 in   1.3s =    1.5/s Avg:   631 Min:   290 
> Max:   973 Err:     0 (0.00%)
>                Summariser summer = null;
>                String summariserName = 
> JMeterUtils.getPropDefault("summariser.name", "summary");
>                if (summariserName.length() > 0) {
>                    summer = new Summariser(summariserName);
>                }
>
>
>                // Store execution results into a .jtl file
>                // å°æ§è¡ç»æå­å¨å°.jtlæä»¶ä¸­
>                String logFile = jmeterHome + slash + 
> "exampleQiuhuiDesign.jtl";
>                ResultCollector logger = new ResultCollector(summer);
>                logger.setFilename(logFile);
>                testPlanTree.add(testPlanTree.getArray()[0], logger);
>                
>               
>                // Run Test Plan
>                // æ§è¡æµè¯è®¡å
>                jmeter.configure(testPlanTree);        
>                //qiuhui comments 2020-11-2
>                //jmeter.run();
>                ((StandardJMeterEngine) jmeter).run();
>
>               
>                System.out.println("Test completed. See " + jmeterHome + slash 
> + "exampleQiuhuiDesign.jtl file for results");
>                System.out.println("JMeter .jmx script is available at " + 
> jmeterHome + slash + "exampleQiuhuiDesign.jmx");
>                System.exit(0);
>                 
>            }
>        }
>
>        System.err.println("jmeter.home property is not set or pointing to 
> incorrect location");
>        System.exit(1);
>
>
>    }
>}

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to