本文整理汇总了Java中org.apache.jmeter.threads.ThreadGroup.setNumThreads方法的典型用法代码示例。如果您正苦于以下问题:Java ThreadGroup.setNumThreads方法的具体用法?Java ThreadGroup.setNumThreads怎么用?Java ThreadGroup.setNumThreads使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.jmeter.threads.ThreadGroup
的用法示例。
在下文中一共展示了ThreadGroup.setNumThreads方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: 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;
}
示例2: 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);
}
示例3: 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"));
}
示例4: 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
}
示例5: 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());
}
示例6: 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();
}