Jmeter 二次封装

目录

前言

原理

代码部分

效果图

结尾


前言

在软件开发过程中,性能测试是一个非常重要的环节。而在性能测试过程中,使用 JMeter 是一个非常实用的工具。JMeter 是一个开源性能测试工具,可以用来测试 Web 应用程序的性能。它提供了一些简单易用的方法来构建性能测试,并可以自动化测试应用程序的性能。

原理

其实原理十分简单,我们一般就是用 Jmeter 的 GUI 来完成工作么。现在我们不用 GUI 了,我们直接引用 jmeter 的核心 lib,直接调用 jmeter 的 API 来执行我们的操作。你需要引入 maven 的依赖。如下

<dependency>
        <groupId>com.lazerycode.jmeter</groupId>
        <artifactId>jmeter-maven-plugin</artifactId>
        <version>1.10.1</version>
        <exclusions>
            <exclusion>
                <artifactId>ApacheJMeter_config</artifactId>
                <groupId>org.apache.jmeter</groupId>
            </exclusion>
        </exclusions>
    </dependency>

然后运行的时候,你还是需要装一个 Jmeter 的,这个我没绕过去。需要在代码中设置 jmter 的 home。以及一些其他的配置信息

JMeterUtils.setJMeterHome(Constant.getJmeterHome());
        JMeterUtils.loadJMeterProperties(Constant.getJmeterHome()
                + "/bin/jmeter.properties");
        JMeterUtils.setProperty("jmeter.save.saveservice.output_format", "xml");
        File log = new File(Constant.logFilePath() + "perfTest.log");
private static String jmeterHome = "E:\\apache-jmeter-2.13";//jmeter的home目录
代码部分

现在我们来看看核心代码部分吧

Logger.info("测试方法: "+caseInfo.getName());
        Logger.info("起始并发数: "+caseInfo.getBeginThread());
        Logger.info("递增并发数: "+caseInfo.getAddThread());
        Logger.info("结束并发数: "+caseInfo.getEndThread());
        Logger.info("每个线程的循环次数: "+caseInfo.getLoop());
        //Logger.html_link("1111", "222");

        JMeterUtils.setJMeterHome(Constant.getJmeterHome());
        JMeterUtils.loadJMeterProperties(Constant.getJmeterHome()
                + "/bin/jmeter.properties");
        JMeterUtils.setProperty("jmeter.save.saveservice.output_format", "xml");
        File log = new File(Constant.logFilePath() + "perfTest.log");

        JMeterUtils.setProperty(LoggingManager.LOG_FILE, log.getAbsolutePath());
        JMeterUtils.initLogging();// you can comment this line out to see extra
                                    // log messages of i.e. DEBUG level
        JMeterUtils.initLocale();

        // Initialize JMeter SaveService
        SaveService.loadProperties();

        JavaSampler javaSample = new JavaSampler();
        javaSample.setClassname(caseInfo.getName());

        // Loop Controller
        LoopController loopController = new LoopController();
        loopController.addTestElement(javaSample);
        loopController.setLoops(caseInfo.getLoop());
        loopController.setFirst(true);
        loopController.initialize();

        // Thread Group
        List<ThreadGroup> thread
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值