public void run() throws IOException { Files.createDirectories(outdir); // save generated test plan to JMeter's .jmx file format File jmxFile = outdir.resolve(buildOutputFileName() + ".jmx").toFile(); SaveService.saveTree(testPlanTree, new FileOutputStream(jmxFile)); StandardJMeterEngine jmeter; jmeter = new StandardJMeterEngine(); // Run Test Plan jmeter.configure(testPlanTree); jmeter.run(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); try (PrintStream out = new PrintStream(stream)) { printResults(jmxFile, out); } System.out.println(stream.toString()); try (FileOutputStream fileOutputStream = new FileOutputStream(outdir.resolve("results.txt").toFile())) { stream.writeTo(fileOutputStream); } }
//JMeter Home String jmeterHome = "c:/apps/jmeter"; // JMeter Engine StandardJMeterEngine jmeter = new StandardJMeterEngine(); // Initialize Properties, logging, locale, etc. JMeterUtils.loadJMeterProperties(jmeterHome + "bin/jmeter.properties"); JMeterUtils.setJMeterHome(jmeterHome); JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level JMeterUtils.initLocale(); // Initialize JMeter SaveService SaveService.loadProperties(); // Load existing .jmx Test Plan HashTree testPlanTree = SaveService.loadTree(new File(jmeterHome + "bin/test.jmx")); // Remove disabled test elements JMeter.convertSubTree(testPlanTree); // Add summariser 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 String logFile = jmeterHome + "/bin/test.jtl"; ResultCollector logger = new ResultCollector(summer); logger.setFilename(logFile); testPlanTree.add(testPlanTree.getArray()[0], logger); // Run JMeter Test jmeter.configure(testPlanTree); jmeter.run();
jmeter.run();
jmeter.run();