本文整理汇总了Java中org.apache.jmeter.threads.ThreadGroup类的典型用法代码示例。如果您正苦于以下问题:Java ThreadGroup类的具体用法?Java ThreadGroup怎么用?Java ThreadGroup使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ThreadGroup类属于org.apache.jmeter.threads包,在下文中一共展示了ThreadGroup类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initilizeElement
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Override
public TestElement initilizeElement() {
ThreadGroup ele = new ThreadGroup();
ele.setSamplerController(createController());
ele.setName("Thread Group");
ele.setProperty(AbstractThreadGroup.NUM_THREADS, "1");
ele.setProperty(ThreadGroup.RAMP_TIME, "1");
ele.setProperty(new LongProperty(ThreadGroup.START_TIME, System.currentTimeMillis()));
ele.setProperty(new LongProperty(ThreadGroup.END_TIME, System.currentTimeMillis()));
// if (showDelayedStart) {
// tg.setProperty(ThreadGroup.DELAYED_START, delayedStart.isSelected(), false);
// }
ele.setProperty(new BooleanProperty(ThreadGroup.SCHEDULER, true));
ele.setProperty(ThreadGroup.DURATION, "1");
ele.setProperty(ThreadGroup.DELAY, "1");
return ele;
}
示例2: getTestElement
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
public TestElement getTestElement() {
Preconditions.checkNotNull(name);
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setProperty(TestElement.TEST_CLASS, ThreadGroup.class.getName());
threadGroup.setProperty(TestElement.GUI_CLASS, ThreadGroupGui.class.getName());
threadGroup.setName(name);
threadGroup.setEnabled(true);
threadGroup.setScheduler(false);
threadGroup.setNumThreads(getOptionalValue(threadCount, 1));
threadGroup.setRampUp(getOptionalValue(rampUp, 0));
threadGroup.setDelay(getOptionalValue(delay, 0));
threadGroup.setDuration(getOptionalValue(duration, 0));
threadGroup.setScheduler(getOptionalValue(setScheduler, false));
LoopElement loopController = LoopElement.builder()
.name(name + "_loopController")
.loopCount(loopCount)
.continueForever(continueForever)
.isFirst(isFirst)
.build();
threadGroup.setSamplerController(loopController.getLoopController());
return threadGroup;
}
示例3: modifyTestElement
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
/**
* Modifies a given TestElement to mirror the data in the gui components.
*
* @see org.apache.jmeter.gui.JMeterGUIComponent#modifyTestElement(TestElement)
*/
@Override
public void modifyTestElement(TestElement tg) {
super.configureTestElement(tg);
if (tg instanceof AbstractThreadGroup) {
((AbstractThreadGroup) tg).setSamplerController((LoopController) loopPanel.createTestElement());
}
tg.setProperty(AbstractThreadGroup.NUM_THREADS, threadInput.getText());
tg.setProperty(ThreadGroup.RAMP_TIME, rampInput.getText());
tg.setProperty(new LongProperty(ThreadGroup.START_TIME, start.getDate().getTime()));
tg.setProperty(new LongProperty(ThreadGroup.END_TIME, end.getDate().getTime()));
if (showDelayedStart) {
tg.setProperty(ThreadGroup.DELAYED_START, delayedStart.isSelected(), false);
}
tg.setProperty(new BooleanProperty(ThreadGroup.SCHEDULER, scheduler.isSelected()));
tg.setProperty(ThreadGroup.DURATION, duration.getText());
tg.setProperty(ThreadGroup.DELAY, delay.getText());
}
示例4: executePlan
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的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);
}
示例5: mousePressed
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Override
public void mousePressed(MouseEvent e) {
int selRow = tree.getRowForLocation(e.getX(), e.getY());
if (tree.getPathForLocation(e.getX(), e.getY()) != null) {
final TreePath currentPath = tree.getPathForLocation(e.getX(), e.getY());
if (selRow != -1 && currentPath != null) {
if (isRightClick(e)) {
if (tree.getSelectionCount() < 2) {
tree.setSelectionPath(currentPath);
}
final JMeterTreeNode node = (JMeterTreeNode) currentPath.getLastPathComponent();
TestElement te = (TestElement) node.getUserObject();
if (te instanceof ConfigElement || te instanceof TestPlan || te instanceof ThreadGroup || te instanceof WorkBench) {
log.debug("No breakpoint possible for " + te);
return;
}
JPopupMenu popup = getPopup(te);
popup.pack();
popup.show(tree, e.getX(), e.getY());
popup.setVisible(true);
popup.requestFocusInWindow();
}
}
}
}
示例6: configure
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Override
public void configure(TestElement tg) {
super.configure(tg);
threadInput.setText(tg.getPropertyAsString(AbstractThreadGroup.NUM_THREADS));
rampInput.setText(tg.getPropertyAsString(ThreadGroup.RAMP_TIME));
loopPanel.configure((TestElement) tg.getProperty(AbstractThreadGroup.MAIN_CONTROLLER).getObjectValue());
if (showDelayedStart) {
delayedStart.setSelected(tg.getPropertyAsBoolean(ThreadGroup.DELAYED_START));
}
scheduler.setSelected(tg.getPropertyAsBoolean(ThreadGroup.SCHEDULER));
if (scheduler.isSelected()) {
mainPanel.setVisible(true);
} else {
mainPanel.setVisible(false);
}
// Check if the property exists
String s = tg.getPropertyAsString(ThreadGroup.START_TIME);
if (s.length() == 0) {// Must be an old test plan
start.setDate(new Date());
end.setDate(new Date());
} else {
start.setDate(new Date(tg.getPropertyAsLong(ThreadGroup.START_TIME)));
end.setDate(new Date(tg.getPropertyAsLong(ThreadGroup.END_TIME)));
}
duration.setText(tg.getPropertyAsString(ThreadGroup.DURATION));
delay.setText(tg.getPropertyAsString(ThreadGroup.DELAY));
}
示例7: testNestedSimpleControllers
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Test
public void testNestedSimpleControllers() throws Exception {
JMeterContextService.getContext().setVariables(new JMeterVariables());
TestSampleListener listener = new TestSampleListener();
// top WSC
WeightedSwitchController topWSC = new WeightedSwitchController();
PowerTableModel topPTM = new PowerTableModel(new String[]{"name", WeightedSwitchController.WEIGHTS}, new Class[]{String.class, String.class});
topPTM.addRow(new String[]{"ex1", "10"});
topPTM.addRow(new String[]{"ex2", "20"});
topWSC.setData(topPTM);
// first child: simple controller
GenericController ex1 = new GenericController();
ex1.setName("ex1");
DebugSampler example1_1 = new DebugSampler();
example1_1.setName("example1_1");
DebugSampler example1_2 = new DebugSampler();
example1_2.setName("example1_2");
// second child: simple controller
GenericController ex2 = new GenericController();
ex2.setName("ex2");
DebugSampler example2_1 = new DebugSampler();
example2_1.setName("example2_1");
DebugSampler example2_2 = new DebugSampler();
example2_2.setName("example2_2");
// main loop
LoopController loop = new LoopController();
loop.setLoops(60);
loop.setContinueForever(false);
// test tree
ListedHashTree hashTree = new ListedHashTree();
hashTree.add(loop);
hashTree.add(loop, topWSC);
hashTree.add(topWSC, listener);
hashTree.add(topWSC, ex1);
hashTree.add(ex1, example1_1);
hashTree.add(ex1, example1_2);
hashTree.add(ex1, listener);
hashTree.add(topWSC, ex2);
hashTree.add(ex2, example2_1);
hashTree.add(ex2, example2_2);
hashTree.add(ex2, listener);
TestCompiler compiler = new TestCompiler(hashTree);
hashTree.traverse(compiler);
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setNumThreads(1);
ListenerNotifier notifier = new ListenerNotifier();
JMeterThread thread = new JMeterThread(hashTree, threadGroup, notifier);
thread.setThreadGroup(threadGroup);
thread.setOnErrorStopThread(true);
thread.run();
Map<String, Integer> totalResults = new HashMap<>();
for (SampleEvent event : listener.events) {
String label = event.getResult().getSampleLabel();
if (totalResults.containsKey(label)) {
totalResults.put(label, totalResults.get(label) + 1);
} else {
totalResults.put(label, 1);
}
}
assertEquals(120, listener.events.size());
assertEquals(20, (int) totalResults.get("example1_1"));
assertEquals(20, (int) totalResults.get("example1_2"));
assertEquals(40, (int) totalResults.get("example2_1"));
assertEquals(40, (int) totalResults.get("example2_2"));
}
示例8: testNestedTransactionControllers
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Test
public void testNestedTransactionControllers() throws Exception {
JMeterContextService.getContext().setVariables(new JMeterVariables());
TestSampleListener listener = new TestSampleListener();
// top WSC
WeightedSwitchController topWSC = new WeightedSwitchController();
PowerTableModel topPTM = new PowerTableModel(new String[]{"name", WeightedSwitchController.WEIGHTS}, new Class[]{String.class, String.class});
topPTM.addRow(new String[]{"ex1", "10"});
topPTM.addRow(new String[]{"ex2", "20"});
topWSC.setData(topPTM);
// first child: transaction controller
TransactionController ex1 = new TransactionController();
ex1.setName("ex1");
DebugSampler example1_1 = new DebugSampler();
example1_1.setName("example1_1");
DebugSampler example1_2 = new DebugSampler();
example1_2.setName("example1_2");
// second child: transaction controller
TransactionController ex2 = new TransactionController();
ex2.setName("ex2");
DebugSampler example2_1 = new DebugSampler();
example2_1.setName("example2_1");
DebugSampler example2_2 = new DebugSampler();
example2_2.setName("example2_2");
// main loop
LoopController loop = new LoopController();
loop.setLoops(60);
loop.setContinueForever(false);
// test tree
ListedHashTree hashTree = new ListedHashTree();
hashTree.add(loop);
hashTree.add(loop, topWSC);
hashTree.add(topWSC, listener);
hashTree.add(topWSC, ex1);
hashTree.add(ex1, example1_1);
hashTree.add(ex1, example1_2);
hashTree.add(ex1, listener);
hashTree.add(topWSC, ex2);
hashTree.add(ex2, example2_1);
hashTree.add(ex2, example2_2);
hashTree.add(ex2, listener);
TestCompiler compiler = new TestCompiler(hashTree);
hashTree.traverse(compiler);
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setNumThreads(1);
ListenerNotifier notifier = new ListenerNotifier();
JMeterThread thread = new JMeterThread(hashTree, threadGroup, notifier);
thread.setThreadGroup(threadGroup);
thread.setOnErrorStopThread(true);
thread.run();
Map<String, Integer> totalResults = new HashMap<>();
for (SampleEvent event : listener.events) {
String label = event.getResult().getSampleLabel();
if (totalResults.containsKey(label)) {
totalResults.put(label, totalResults.get(label) + 1);
} else {
totalResults.put(label, 1);
}
}
assertEquals(120, listener.events.size());
assertEquals(20, (int) totalResults.get("example1_1"));
assertEquals(40, (int) totalResults.get("example2_1"));
assertEquals(20, (int) totalResults.get("ex1")); // transaction result
assertEquals(40, (int) totalResults.get("ex2")); // transaction result
}
示例9: requestsAreSubmitted
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@When("^(.+) requests are submitted for endpoints$")
public void requestsAreSubmitted(final Integer loops,
final List<Endpoint> endpoints) {
// Set status vars - number of endpoints and a CPU sampler
this.samplersCount = endpoints.size() + 1;
// Create JMeter engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
// Init JMeter engine
// TODO Refactor config
JMeterUtils.setJMeterHome("JMETER_HOME");
JMeterUtils.loadJMeterProperties("JMETER_HOME/bin/jmeter.properties");
JMeterUtils.initLocale();
// Build samplers, use path for name of the sampler
Stream<HTTPSampler> httpSamplers = endpoints.stream().map(endpoint -> {
HTTPSampler httpSampler = new HTTPSampler();
httpSampler.setName(endpoint.getPath());
httpSampler.setDomain(endpoint.getDomain());
httpSampler.setPort(endpoint.getPort());
httpSampler.setPath(endpoint.getPath());
httpSampler.setMethod(endpoint.getMethod());
return httpSampler;
});
// Build a CPU sampler
CpuSampler cpuSampler = new CpuSampler();
cpuSampler.setName("cpu");
// Loop Controller
LoopController loopController = new LoopController();
loopController.setName("Default Loop Controller");
loopController.setLoops(loops);
loopController.setFirst(true);
loopController.initialize();
// Thread Group
org.apache.jmeter.threads.ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setName("Default Thread Group");
threadGroup.setNumThreads(1);
threadGroup.setRampUp(1);
threadGroup.setSamplerController(loopController);
// Create results collector
ResultCollector logger = new ResultCollector();
logger.setName("Default Results Collector");
logger.setFilename("metrics.csv");
// Create a test structure
HashTree testPlanTree = new HashTree();
// Add Test Plan
TestPlan testPlan = new TestPlan("Sample R integration test plan");
testPlanTree.add(testPlan);
// Hang off Thread Group off Test Plan
HashTree threadGroupHashTree = testPlanTree.add(testPlan, threadGroup);
// Add samplers
threadGroupHashTree.add(httpSamplers.toArray());
threadGroupHashTree.add(cpuSampler);
// Add logger
testPlanTree.add(testPlan, logger);
// Run Test Plan
jmeter.configure(testPlanTree);
jmeter.run();
threadGroup.waitThreadsStopped();
}
开发者ID:cadmiumkitty,项目名称:cucumber-jmeter-r-integration,代码行数:73,代码来源:DataScienceLabDemoTestPerformanceAnomaliesSteps.java
示例10: getOriginal
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Override
public ThreadGroup getOriginal() {
return original;
}
示例11: setOriginal
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Override
public void setOriginal(ThreadGroup orig) {
original = orig;
}
示例12: ThreadGroup
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Bean
@Autowired
public ThreadGroup ThreadGroup(ThreadGroupInitializer initer) {
return (ThreadGroup) initer.initilizeElement();
}
示例13: runJMeter
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
protected void runJMeter(String className) throws Exception {
int iterations = Integer.valueOf(getTestConfiguration(className, "iterations", "1"));
int threads = Integer.valueOf(getTestConfiguration(className, "threads", "1"));
log.info("starting test " + StringUtils.substringAfterLast(className, "."));
// loop controller
LoopController loopController = new LoopController();
loopController.setLoops(iterations);
loopController.setFirst(true);
loopController.initialize();
// thread group
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setNumThreads(threads);
threadGroup.setRampUp(1);
threadGroup.setSamplerController(loopController);
// JavaSampler
JavaSampler javaSampler = new JavaSampler();
javaSampler.setClassname(className);
javaSampler.setArguments(arguments);
// summary
Summariser summariser = new Summariser("summary");
ResultCollector logger = new ResultCollector(summariser);
// simple listener to track if at least one test failed
GlobalResult globalResult = new GlobalResult();
// create test plan
TestPlan testPlan = new TestPlan();
// assemble the test plan from previously initialized elements
HashTree testPlanHashTree = new HashTree();
testPlanHashTree.add(testPlan);
HashTree threadGroupHashTree = new HashTree();
threadGroupHashTree = testPlanHashTree.add(testPlan, threadGroup);
HashTree javaSamplerHashTree = new HashTree();
javaSamplerHashTree = threadGroupHashTree.add(javaSampler);
javaSamplerHashTree.add(logger);
javaSamplerHashTree.add(globalResult);
// start JMeter test
StandardJMeterEngine jmeter = new StandardJMeterEngine();
jmeter.configure(testPlanHashTree);
jmeter.run();
// increase log level to display the final summary
LoggingManager.setPriority(Priority.INFO, "jmeter.reporters.Summariser");
logger.testEnded();
LoggingManager.setPriority(Priority.WARN, "jmeter.reporters.Summariser");
// set the JUnit test result
assertTrue(!globalResult.isFailed());
}
示例14: main
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
JMeterUtils.setJMeterHome("src/test/resources/");
JMeterUtils.loadJMeterProperties("src/test/resources/jmeter.properties");
JMeterUtils.setProperty("saveservice_properties", "saveservice.properties");
JMeterUtils.setProperty("search_paths", "ApacheJMeter_functions-2.9.jar");
JMeterUtils.setLocale(Locale.JAPAN);
JMeterEngine engine = new StandardJMeterEngine();
HashTree config = new ListedHashTree();
TestPlan testPlan = new TestPlan("websocket test");
testPlan.setFunctionalMode(false);
testPlan.setSerialized(false);
testPlan.setProperty(new BooleanProperty(TestElement.ENABLED, true));
testPlan.setUserDefinedVariables(new Arguments());
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setNumThreads(300);
threadGroup.setRampUp(20);
threadGroup.setDelay(0);
threadGroup.setDuration(0);
threadGroup.setProperty(new StringProperty(ThreadGroup.ON_SAMPLE_ERROR, "continue"));
threadGroup.setScheduler(false);
threadGroup.setName("Group1");
threadGroup.setProperty(new BooleanProperty(TestElement.ENABLED, true));
LoopController controller = new LoopController();
controller.setLoops(10);
controller.setContinueForever(false);
controller.setProperty(new BooleanProperty(TestElement.ENABLED, true));
threadGroup.setProperty(new TestElementProperty(ThreadGroup.MAIN_CONTROLLER, controller));
CSVDataSet csvDataSet = new CSVDataSet();
csvDataSet.setProperty(new StringProperty("filename", "src/test/resources/users.csv"));
csvDataSet.setProperty(new StringProperty("variableNames", "USER_NAME"));
csvDataSet.setProperty(new StringProperty("delimiter", ","));
csvDataSet.setProperty(new StringProperty("shareMode", "shareMode.all"));
csvDataSet.setProperty("quoted", false);
csvDataSet.setProperty("recycle", true);
csvDataSet.setProperty("stopThread", false);
WebSocketSampler sampler = new WebSocketSampler();
sampler.setName("WebSocket Test");
sampler.setProperty(new BooleanProperty(TestElement.ENABLED, true));
sampler.addNonEncodedArgument("name", "${USER_NAME}", "=");
sampler.setContentEncoding("UTF-8");
sampler.setProtocol("ws");
sampler.setDomain("localhost");
sampler.setPort(9090);
sampler.setPath("/", "UTF-8");
sampler.setSendMessage("${__RandomString(50,ABCDEFGHIJKLMNOPQRSTUVWXYZ)}");
sampler.setRecvMessage("\"name\":\"${USER_NAME}\"");
OnceOnlyController onceOnlyController = new OnceOnlyController();
Summariser summariser = new Summariser();
HashTree tpConfig = config.add(testPlan);
HashTree tgConfig = tpConfig.add(threadGroup);
HashTree oocConfig = tgConfig.add(onceOnlyController);
oocConfig.add(csvDataSet);
UniformRandomTimer randomTimer = new UniformRandomTimer();
randomTimer.setRange(3000);
HashTree samplerConfig = tgConfig.add(sampler);
samplerConfig.add(summariser);
tgConfig.add(randomTimer);
engine.configure(config);
engine.runTest();
}
示例15: createTestElement
import org.apache.jmeter.threads.ThreadGroup; //导入依赖的package包/类
@Override
public TestElement createTestElement() {
ThreadGroup tg = new ThreadGroup();
modifyTestElement(tg);
return tg;
}