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秒。可以根据需要调整这些值来满足实际需求。