private HashTree loadJMX(File file) throws Exception { HashTree tree = SaveService.loadTree(file); // unfortunately core JMeter code does not throw exception, we may only guess... if (tree == null) { throw new TestPlanBrokenException("There was problems loading test plan. Please investigate error messages above."); } JMeter.convertSubTree(tree); // Remove the disabled items JMeterEngine engine = new StandardJMeterEngine(); engine.configure(tree); return tree; }
SaveService.getFileEncoding("UTF-8")), SAVING_AUTOFLUSH); log.debug("Opened file: " + filename); files.put(filename, new FileEntry(writer, saveConfig));
private static void writeFileStart(PrintWriter writer, SampleSaveConfiguration saveConfig) { if (saveConfig.saveAsXml()) { writer.print(XML_HEADER); // Write the EOL separately so we generate LF line ends on Unix and Windows writer.print("\n"); // $NON-NLS-1$ String pi=saveConfig.getXmlPi(); if (pi.length() > 0) { writer.println(pi); } // Can't do it as a static initialisation, because SaveService // is being constructed when this is called writer.print(TESTRESULTS_START_V1_1_PREVER); writer.print(SaveService.getVERSION()); writer.print(TESTRESULTS_START_V1_1_POSTVER); // Write the EOL separately so we generate LF line ends on Unix and Windows writer.print("\n"); // $NON-NLS-1$ } else if (saveConfig.saveFieldNames()) { writer.println(CSVSaveService.printableFieldNamesToString(saveConfig)); } }
final HashTree tree = SaveService.loadTree(f); final boolean isTestPlan = insertLoadedTree(e.getID(), tree, merging); log.warn("Could not convert file. {}", ex.toString()); JMeterUtils.reportErrorToUser(SaveService.CEtoString(ex)); } catch (IOException ex) { reportError("Error reading file. {}", ex, false);
/** * {@inheritDoc} */ @Override public void marshal(Object arg0, HierarchicalStreamWriter writer, MarshallingContext context) { ScriptWrapper wrap = (ScriptWrapper) arg0; String version = SaveService.getVERSION(); ConversionHelp.setOutVersion(version);// Ensure output follows version writer.addAttribute(ATT_VERSION, version); writer.addAttribute(ATT_PROPERTIES, SaveService.getPropertiesVersion()); writer.addAttribute(ATT_JMETER, JMeterUtils.getJMeterVersion()); writer.startNode(classMapper.serializedClass(wrap.testPlan.getClass())); context.convertAnother(wrap.testPlan); writer.endNode(); }
public void mergeSamples(CorrectedResultCollector crc, List<SampleResult> samples) { SampleEvent event; try { initializeFileOutput(crc.getFilename(), crc.getSaveConfig()); } catch (IOException e) { log.warn("Error trying to initialize output file " + e.toString()); } for (SampleResult result : samples) { SampleSaveConfiguration config = crc.getSaveConfig(); event = new SampleEvent(result, null); try { if (config.saveAsXml()) { SaveService.saveSampleResult(event, out); } else { // !saveAsXml String savee = CSVSaveService .resultToDelimitedString(event); out.println(savee); } } catch (Exception err) { log.error("Error trying to record a sample", err); // should throw exception back to caller } } finalizeFileOutput(); }
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); } }
private static void restoreClass(TestElement el, HierarchicalStreamReader reader, String prop) { String att=propertyToAttribute.get(prop); String alias=reader.getAttribute(att); if (alias!=null){ alias=SaveService.aliasToClass(alias); if (TestElement.GUI_CLASS.equals(prop)) { // mainly for TestElementConverter alias = NameUpdater.getCurrentName(alias); } el.setProperty(prop,alias); } }
FileServer.getFileServer().setBaseForScript(f); HashTree tree = SaveService.loadTree(f); } catch (ConversionException e) { log.error("Failure loading test file", e); JMeterUtils.reportErrorToUser(SaveService.CEtoString(e)); } catch (Exception e) { log.error("Failure loading test file", e);
public void mergeSamples(CorrectedResultCollector crc, List<SampleResult> samples) { SampleEvent event; try { initializeFileOutput(crc.getFilename(), crc.getSaveConfig()); } catch (IOException e) { log.warn("Error trying to initialize output file " + e.toString()); } for (SampleResult result : samples) { SampleSaveConfiguration config = crc.getSaveConfig(); event = new SampleEvent(result, null); try { if (config.saveAsXml()) { SaveService.saveSampleResult(event, out); } else { // !saveAsXml String savee = CSVSaveService .resultToDelimitedString(event); out.println(savee); } } catch (Exception err) { log.error("Error trying to record a sample", err); // should throw exception back to caller } } finalizeFileOutput(); }
SaveService.saveTree(subTree, ostream); if (fullSave) { // Only update the stored copy of the tree for a full save FileServer.getFileServer().setScriptName(new File(updateFile).getName());
@Override public Class<?> realClass(String alias) { String fullName = aliasToClass(alias); if (fullName != null) { fullName = NameUpdater.getCurrentName(fullName); } return super.realClass(fullName == null ? alias : fullName); } // Translate to alias and then delegate to wrapped class
private HashTree loadJMX(InputStream reader) throws Exception { HashTree tree = SaveService.loadTree(reader); // unfortunately core JMeter code does not throw exception, we may only guess... if (tree == null) { throw new TestPlanBrokenException("There was problems loading test plan. Please investigate error messages above."); } JMeter.convertSubTree(tree); // Remove the disabled items JMeterEngine engine = new StandardJMeterEngine(); engine.configure(tree); return tree; }
trimmed)), SaveService.getFileEncoding(StandardCharsets.UTF_8.name())), SAVING_AUTOFLUSH); if(log.isDebugEnabled()) { log.debug("Opened file: {} in thread {}", filename, Thread.currentThread().getName());
private static void writeFileStart(PrintWriter writer, SampleSaveConfiguration saveConfig) { if (saveConfig.saveAsXml()) { writer.print(XML_HEADER); // Write the EOL separately so we generate LF line ends on Unix and // Windows writer.print("\n"); String pi = saveConfig.getXmlPi(); if (pi.length() > 0) { writer.println(pi); } writer.print(TESTRESULTS_START_V1_1_PREVER); writer.print(SaveService.getVERSION()); writer.print(TESTRESULTS_START_V1_1_POSTVER); // Write the EOL separately so we generate LF line ends on Unix and // Windows writer.print("\n"); } else if (saveConfig.saveFieldNames()) { writer.println(CSVSaveService .printableFieldNamesToString(saveConfig)); } }
/** * When a test result is received, display it and save it. * * @param event * the sample event that was received */ @Override public void sampleOccurred(SampleEvent event) { SampleResult result = event.getResult(); if (isSampleWanted(result.isSuccessful())) { sendToVisualizer(result); if (out != null && !isResultMarked(result) && !this.isStats) { SampleSaveConfiguration config = getSaveConfig(); result.setSaveConfig(config); try { if (config.saveAsXml()) { SaveService.saveSampleResult(event, out); } else { // !saveAsXml CSVSaveService.saveSampleResult(event, out); } } catch (Exception err) { log.error("Error trying to record a sample", err); // should throw exception back to caller } } } if(summariser != null) { summariser.sampleOccurred(event); } }
@Override public void actionPerformed(ActionEvent actionEvent) { String propname = "gui.quick_" + actionEvent.getActionCommand(); String comp = JMeterUtils.getProperty(propname); log.debug("Event {}: {}", propname, comp); if (comp == null) { log.warn("No component set through property: {}", propname); return; } GuiPackage guiPackage = GuiPackage.getInstance(); try { guiPackage.updateCurrentNode(); TestElement testElement = guiPackage.createTestElement(SaveService.aliasToClass(comp)); JMeterTreeNode parentNode = guiPackage.getCurrentNode(); while (!MenuFactory.canAddTo(parentNode, testElement)) { parentNode = (JMeterTreeNode) parentNode.getParent(); } if (parentNode.getParent() == null) { log.debug("Cannot add element on very top level"); } else { JMeterTreeNode node = guiPackage.getTreeModel().addComponent(testElement, parentNode); guiPackage.getMainFrame().getTree().setSelectionPath(new TreePath(node.getPath())); } } catch (Exception err) { log.warn("Failed to perform quick component add: {}", comp, err); // $NON-NLS-1$ } } };
tree = SaveService.loadTree(file);
SaveService.getFileEncoding("UTF-8")), SAVING_AUTOFLUSH); log.debug("Opened file: " + filename); files.put(filename, new FileEntry(writer, saveConfig));
private static void writeFileStart(PrintWriter writer, SampleSaveConfiguration saveConfig) { if (saveConfig.saveAsXml()) { writer.print(XML_HEADER); // Write the EOL separately so we generate LF line ends on Unix and // Windows writer.print("\n"); String pi = saveConfig.getXmlPi(); if (pi.length() > 0) { writer.println(pi); } writer.print(TESTRESULTS_START_V1_1_PREVER); writer.print(SaveService.getVERSION()); writer.print(TESTRESULTS_START_V1_1_POSTVER); // Write the EOL separately so we generate LF line ends on Unix and // Windows writer.print("\n"); } else if (saveConfig.saveFieldNames()) { writer.println(CSVSaveService .printableFieldNamesToString(saveConfig)); } }