本文整理汇总了Java中org.apache.jorphan.collections.HashTree.add方法的典型用法代码示例。如果您正苦于以下问题:Java HashTree.add方法的具体用法?Java HashTree.add怎么用?Java HashTree.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.jorphan.collections.HashTree
的用法示例。
在下文中一共展示了HashTree.add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: startEngine
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
/**
* Start JMeter engine
* @param noTimer ignore timers
*/
private void startEngine(boolean ignoreTimer) {
GuiPackage gui = GuiPackage.getInstance();
HashTree testTree = gui.getTreeModel().getTestPlan();
JMeter.convertSubTree(testTree);
testTree.add(testTree.getArray()[0], gui.getMainFrame());
log.debug("test plan before cloning is running version: "
+ ((TestPlan) testTree.getArray()[0]).isRunningVersion());
TreeCloner cloner = cloneTree(testTree, ignoreTimer);
engine = new StandardJMeterEngine();
engine.configure(cloner.getClonedTree());
try {
engine.runTest();
} catch (JMeterEngineException e) {
JOptionPane.showMessageDialog(gui.getMainFrame(), e.getMessage(),
JMeterUtils.getResString("error_occurred"), JOptionPane.ERROR_MESSAGE); //$NON-NLS-1$
}
log.debug("test plan after cloning and running test is running version: "
+ ((TestPlan) testTree.getArray()[0]).isRunningVersion());
}
示例2: testThreadStopping
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Test
public void testThreadStopping() throws Exception {
DirectoryListingConfig config = new DirectoryListingConfig();
File rootDir = TestDirectoryListingConfigActionTest.createFileTree();
setDirectoryConfig(config, rootDir.getAbsolutePath(), VARIABLE_NAME, true, false, false, false, true, false);
final HashTree hashTree = new HashTree();
hashTree.add(new LoopController());
JMeterThread thread = new JMeterThread(hashTree, null, null);
JMeterContextService.getContext().setThread(thread);
testFlow(config);
try {
config.iterationStart(null);
} catch (JMeterStopThreadException ex) {
assertEquals("All files in the directory have been passed.", ex.getMessage());
}
}
示例3: runVariablesDebugEngine
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Test
public void runVariablesDebugEngine() throws Exception {
TestProvider prov = new TestProvider("/com/blazemeter/jmeter/debugger/vars.jmx", "vars.jmx");
Debugger sel = new Debugger(prov, new FrontendMock());
AbstractThreadGroup tg = prov.getTG(0);
sel.selectThreadGroup(tg);
HashTree testTree = sel.getSelectedTree();
TestSampleListener listener = new TestSampleListener();
testTree.add(testTree.getArray()[0], listener);
DebuggingThreadGroup tg2 = (DebuggingThreadGroup) getFirstTG(testTree);
LoopController samplerController = (LoopController) tg2.getSamplerController();
samplerController.setLoops(1);
samplerController.setContinueForever(false);
JMeter.convertSubTree(testTree);
DebuggerEngine engine = new DebuggerEngine(JMeterContextService.getContext());
StepTriggerCounter hook = new StepTriggerCounter();
engine.setStepper(hook);
engine.configure(testTree);
engine.runTest();
while (engine.isActive()) {
Thread.sleep(1000);
}
assertEquals(8, hook.cnt);
assertEquals(3, listener.events.size());
for (SampleEvent event : listener.events) {
SampleResult res = event.getResult();
String label = res.getSampleLabel();
assertTrue("Label: " + label + " must end with '123'", label.endsWith("123"));
assertFalse("Variable ${VAR} must be changed to '123' value. label: " + label, label.contains("${VAR}"));
assertTrue("label: '" + label + "' response: '" + res.getResponseMessage() +"'", res.isSuccessful());
}
}
示例4: runVariablesInAssertions
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Test
public void runVariablesInAssertions() throws Exception {
TestProvider prov = new TestProvider("/com/blazemeter/jmeter/debugger/debug.jmx", "debug.jmx");
Debugger sel = new Debugger(prov, new FrontendMock());
AbstractThreadGroup tg = prov.getTG(0);
sel.selectThreadGroup(tg);
HashTree testTree = sel.getSelectedTree();
TestSampleListener listener = new TestSampleListener();
testTree.add(testTree.getArray()[0], listener);
DebuggingThreadGroup tg2 = (DebuggingThreadGroup) getFirstTG(testTree);
LoopController samplerController = (LoopController) tg2.getSamplerController();
samplerController.setLoops(1);
samplerController.setContinueForever(false);
JMeter.convertSubTree(testTree);
DebuggerEngine engine = new DebuggerEngine(JMeterContextService.getContext());
StepTriggerCounter hook = new StepTriggerCounter();
engine.setStepper(hook);
engine.configure(testTree);
engine.runTest();
while (engine.isActive()) {
Thread.sleep(1000);
}
assertEquals(4, hook.cnt);
assertEquals(1, listener.events.size());
SampleEvent event = listener.events.get(0);
SampleResult result = event.getResult();
AssertionResult[] assertionResults = result.getAssertionResults();
assertEquals(1, assertionResults.length);
AssertionResult assertionRes = assertionResults[0];
assertNull(assertionRes.getFailureMessage());
}
示例5: runVariablesInControllers
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Test
public void runVariablesInControllers() throws Exception {
TestProvider prov = new TestProvider("/com/blazemeter/jmeter/debugger/loops.jmx", "loops.jmx");
Debugger sel = new Debugger(prov, new FrontendMock());
AbstractThreadGroup tg = prov.getTG(0);
sel.selectThreadGroup(tg);
HashTree testTree = sel.getSelectedTree();
TestSampleListener listener = new TestSampleListener();
testTree.add(testTree.getArray()[0], listener);
DebuggingThreadGroup tg2 = (DebuggingThreadGroup) getFirstTG(testTree);
LoopController samplerController = (LoopController) tg2.getSamplerController();
samplerController.setLoops(1);
samplerController.setContinueForever(false);
JMeter.convertSubTree(testTree);
DebuggerEngine engine = new DebuggerEngine(JMeterContextService.getContext());
StepTriggerCounter hook = new StepTriggerCounter();
engine.setStepper(hook);
engine.configure(testTree);
engine.runTest();
while (engine.isActive()) {
Thread.sleep(1000);
}
assertEquals(12, hook.cnt);
assertEquals(3, listener.events.size());
}
示例6: unmarshal
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
boolean isKey = true;
Object current = null;
HashTree tree = (HashTree) createCollection(context.getRequiredType());
while (reader.hasMoreChildren()) {
reader.moveDown();
Object item = readItem(reader, context, tree);
if (isKey) {
tree.add(item);
current = item;
isKey = false;
} else {
tree.set(current, (HashTree) item);
isKey = true;
}
reader.moveUp();
}
return tree;
}
示例7: placeAndProcessTestElements
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private void placeAndProcessTestElements(HashTree hashTree, List<TestElement> samples)
{
for (TestElement element : samples)
{
List<TestElement> descendants = findAndRemoveHeaderManagers(element);
HashTree parent = hashTree.add(element);
descendants.forEach(parent::add);
if (element instanceof HTTPSamplerBase)
{
HTTPSamplerBase http = (HTTPSamplerBase)element;
LOG.info("Start sampler processing");
scriptProcessor.processScenario(http, parent, vars, this);
LOG.info("Stop sampler processing");
}
}
}
示例8: generateNode
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private static HashTree generateNode(Configuration config) {
TestElement element = null;
try {
element = createTestElement(config.getChild("testelement")); // $NON-NLS-1$
} catch (Exception e) {
log.error("Problem loading part of file", e);
return null;
}
HashTree subTree = new ListedHashTree(element);
Configuration[] subNodes = config.getChildren("node"); // $NON-NLS-1$
for (int i = 0; i < subNodes.length; i++) {
HashTree t = generateNode(subNodes[i]);
if (t != null) {
subTree.add(element, t);
}
}
return subTree;
}
示例9: initEngine
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
/**
* Initializes test on engine.
*
* @param engine
* remote engine object
*/
private void initEngine(JMeterEngine engine) {
GuiPackage gui = GuiPackage.getInstance();
HashTree testTree = gui.getTreeModel().getTestPlan();
JMeter.convertSubTree(testTree);
testTree.add(testTree.getArray()[0], gui.getMainFrame());
// Used for remote notification of threads start/stop,see BUG 54152
testTree.add(testTree.getArray()[0], new RemoteThreadsListenerTestElement());
engine.configure(testTree);
}
示例10: getReplacementSubTree
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
/**
* Copies the controller's subelements into the execution tree
*
*/
@Override
public HashTree getReplacementSubTree() {
HashTree tree = new ListedHashTree();
if (selectedNode != null) {
// Use a local variable to avoid replacing reference by modified clone (see Bug 54950)
JMeterTreeNode nodeToReplace = selectedNode;
// We clone to avoid enabling existing node
if (!nodeToReplace.isEnabled()) {
nodeToReplace = cloneTreeNode(selectedNode);
nodeToReplace.setEnabled(true);
}
HashTree subtree = tree.add(nodeToReplace);
createSubTree(subtree, nodeToReplace);
}
return tree;
}
示例11: executePlan
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private Map<String, String> executePlan(int numLoops, int numThreads, int rampUp) throws IOException {
HashTree testPlanTree = new HashTree();
HTTPSamplerProxy httpSampler = makeSampler();
LoopController loopController = new LoopController();
loopController.setLoops(numLoops);
loopController.addTestElement(httpSampler);
loopController.setFirst(true);
loopController.initialize();
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setNumThreads(numThreads);
threadGroup.setRampUp(rampUp);
threadGroup.setSamplerController(loopController);
TestPlan testPlan = new TestPlan("JMeter regression test");
HashTree tpConfig = testPlanTree.add(testPlan);
HashTree tgConfig = tpConfig.add(threadGroup);
tgConfig.add(httpSampler);
Summariser summer = new Summariser("summary");
ResultCollector logger = new ResultCollector(summer);
tgConfig.add(logger);
jmeter.configure(testPlanTree);
jmeter.run();
return extractTotals(summer);
}
示例12: getTestTree
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private HashTree getTestTree(TestElement te) {
LoopController wrapper = new LoopController(); // can't use GenericController because of infinite looping
wrapper.setLoops(1);
wrapper.setContinueForever(false);
wrapper.addTestElement(te);
wrapper.setName("wrapped " + te.getName());
wrapper.setRunningVersion(isRunningVersion());
HashTree tree = new HashTree();
tree.add(wrapper);
return tree;
}
示例13: main
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
public static void main(String[] args) {
//JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
//JMeter initialization (properties, log levels, locale, etc)
JMeterUtils.loadJMeterProperties("/path/to/your/jmeter/bin/jmeter.properties");
JMeterUtils.setLocale(Locale.ENGLISH);
// ??? 啥用
JMeterUtils.setJMeterHome("");
JMeterUtils.initLocale();
// JMeter Test Plan, basic all u JOrphan HashTree
HashTree testPlanTree = new HashTree();
// Java Sampler
JavaSampler javaSampler = new JavaSampler();
javaSampler.setClassname("这里设置要运行的case主类");
javaSampler.setName("");
javaSampler.setComment("这个采集器的描述信息");
// Loop Controller
LoopController loopController = new LoopController();
// 循环次数
loopController.setLoops(1);
loopController.addTestElement(javaSampler);
loopController.setFirst(true);
loopController.initialize();
// Thread Group
org.apache.jmeter.threads.ThreadGroup threadGroup = new org.apache.jmeter.threads.ThreadGroup();
// 设置线程数
threadGroup.setNumThreads(1);
//
threadGroup.setRampUp(1);
threadGroup.setSamplerController(loopController);
// Test Plan
TestPlan testPlan = new TestPlan("Create JMeter Script From Java Code");
// Construct Test Plan from previously initialized elements
testPlanTree.add("testPlan", testPlan);
testPlanTree.add("loopController", loopController);
testPlanTree.add("threadGroup", threadGroup);
testPlanTree.add("javaSampler", javaSampler);
// Run Test Plan
jmeter.configure(testPlanTree);
jmeter.run();
}
示例14: addAuthHttpSample
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
public void addAuthHttpSample(HashTree txTree, String login)
{
HTTPSampler sample = new HTTPSampler();
sample.setProperty(TestElement.GUI_CLASS, "HttpTestSampleGui");
sample.setDomain("${host}");
sample.setProperty(HTTPSampler.PORT, "${port}");
sample.setMethod("GET");
sample.setPath("/sd/operator?processAs=" + login);
sample.setFollowRedirects(true);
sample.setName("Auth " + login);
txTree.add(sample);
}
示例15: addChildTestElements
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private void addChildTestElements(HashTree hashTree, JMeterStep currentStep) {
log.info(String.format("Adding child steps for %s", currentStep.getTestElement().getName()));
for (JMeterStep childStep : currentStep.getSteps()) {
childStep.setOutputFilePath(String.format("%s/%s-", JMeterRunner.getOutputDirectory(), testPlanFileName));
HashTree childHashTree = hashTree.add((Object) childStep.getTestElement());
if (childStep.getSteps().size() > 0) addChildTestElements(childHashTree, childStep);
}
}