Apache JMeter的压力测试持续时间可以通过调整线程组的持续时间属性来设置。下面是一个代码示例,演示如何使用Java代码设置压力测试持续时间为10秒:
import org.apache.jmeter.control.LoopController;
import org.apache.jmeter.control.ThreadGroup;
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
import org.apache.jmeter.testelement.TestPlan;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;
public class JMeterStressTest {
public static void main(String[] args) {
// 初始化JMeter
JMeterUtils.loadJMeterProperties("jmeter.properties");
JMeterUtils.initLocale();
// 创建一个测试计划
TestPlan testPlan = new TestPlan("Stress Test Plan");
// 创建一个线程组
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setName("Stress Thread Group");
threadGroup.setNumThreads(10); // 设置线程数
threadGroup.setRampUp(5); // 设置线程的启动时间
threadGroup.setDuration(10); // 设置持续时间,单位为秒
threadGroup.setSamplerController(new LoopController()); // 使用默认的循环控制器
// 创建一个HTTP采样器
HTTPSampler httpSampler = new HTTPSampler();
httpSampler.setDomain("example.com");
httpSampler.setPort(80);
httpSampler.setPath("/");
httpSampler.setMethod("GET");
// 将HTTP采样器添加到线程组中
HashTree testPlanTree = new HashTree();
HashTree threadGroupTree = testPlanTree.add(testPlan, threadGroup);
threadGroupTree.add(httpSampler);
// 创建JMeter引擎,并运行测试计划
StandardJMeterEngine jmeter = new StandardJMeterEngine();
jmeter.configure(testPlanTree);
jmeter.run();
}
}
在上面的代码示例中,设置了线程数为10,启动时间为5秒,持续时间为10秒。可以根据需要调整这些值来满足实际需求。